由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。
不知道为什么蜂鸣器不响
#include <reg52.h> #define uchar unsigned char #define uint unsigned int uchar aa,tt,flag,temp; sbit deep=P3^4; void init(); void main() { init(); while(1) { if(flag==1) { flag=0; ES=0; SBUF=temp; while(!TI); TI=0; TR0=1; if(temp==1) { if(tt==8) {tt=0; deep=!deep;} } if(temp==4) { if(tt==20) {tt=0; deep=!deep;} } if(temp==2) { if(tt==10) {tt=0; deep=!deep;} } if(temp==4) { TR0=0; deep=1; } ES=1; } } } void init() { TMOD=0x21; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0xfd; TL1=0xfd; TR1=1; SM0=0; SM1=1; REN=1; EA=1; ET0=1; ES=1; deep=1; flag=0; tt=0; temp=0; } void time1() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; if(tt==11) tt=0; } void ser() interrupt 4 { RI=0; temp=SBUF; flag=1; }
|