《蜂鸣器程序(3页).doc》由会员分享,可在线阅读,更多相关《蜂鸣器程序(3页).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-蜂鸣器程序-第 3 页要求:让蜂鸣器响,频率为1KHZ1、延时子程序实现汇编: ORG 0000H SJMP STARTORG 0030HSTART: MOV P2,#11110111B /P23控制蜂鸣器 LCALL DELAY MOV P2,#11111111B LCALL DELAY AJMP STARTDELAY:MOV R5,#125L1:NOP /NOPDJNZ R5,L1 RET /返回主程序ENDC语言:#include #define uint unsigned int /宏定义 void delay(uint z ) /延时0.5ms uint i,j; for(i=z;
2、i0;i-) for(j=55;j0;j-); sbit beep=P23; /位定义 void main() while(1) /大循环delay(1);beep=beep; /取反2、用定时器1、方式2实现延时方式2最大定时:2561ms 所以选择定时ms,那么循环2次实现s延时 计数值ms/1us=250 则256-250=06H汇编: ORG 0000H SJMP STARTORG 0030HSTART: MOV P2,#11110111B LCALL DELAY MOV P2,#11111111B LCALL DELAY AJMP STARTDELAY:MOV R5,#02H /置计
3、数循环初值2 MOV TMOD,#20H /置定时器1方式2 MOV TH1,#06H /置定时器初值 MOV TL1,#06H SETB TR1 /启动定时器1LP1:JBC TF1,LP2 /查询计数溢出SJMP LP1 /未溢出继续计数LP2:DJNZ R5,LP1 RET /返回主程序 END C语言:#include #define uchar unsigned char#define uint unsigned intsbit D0=P23;char num=0; /定义变量void main() TMOD=0x20;/定时器1方式2 TH1=6; /装入初值 TL1=6; EA=1; /开总中断 ET1=1; /开定时器1中断 TR1=1;/启动定时器1 D0=0; /蜂鸣器响while (1);if(num=2)num=0; /把num清零重新再计数D0=D0; /让蜂鸣器状态取反void T1_time()interrupt 3 num+;