中断控制流水继电器蜂鸣器

中断控制流水继电器蜂鸣器

ID:27814304

大小:90.22 KB

页数:10页

时间:2018-12-06

中断控制流水继电器蜂鸣器_第1页
中断控制流水继电器蜂鸣器_第2页
中断控制流水继电器蜂鸣器_第3页
中断控制流水继电器蜂鸣器_第4页
中断控制流水继电器蜂鸣器_第5页
资源描述:

《中断控制流水继电器蜂鸣器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、**********中断综合程序**********#include#include***********阳led币马***********unsignedcharcodetab[]={0xc0/0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};***********义局***********intkeyval;乂乂乂乂乂乂乂乂乂乂乂jllU][/、pf乂乂乂乂乂乂乂乂乂乂乂乂不不不不不平不不平不平tr-III*/平平不不不不不不不不不不师

2、I—•疋乂sfrkey=0xB0;〃定义键盘口为P3sbitS4=P3A5;sbitS3=P3A4;sbitS2=P3A3;sbitS1=P3A2;sbitSPEAKER=P2A4;〃蜂鸣器sbitRELAY=P2A6;〃继电器函数功能:按键消抖延时程序入口参数:出口参数:voiddelay(void)unsignedinti;for(i=0;i<300;i++);}函数功能:LED数码管显示程序入口参数:k出口参数:voiddisplay(intk){P2=0xfe;〃位选PO=tab[k/lOOO];〃显示千位数字dela

3、y();P2=Oxfd;〃位选PO=tab[k%lOOO/lOO];〃显示百位数字delay();P2=0xfb;〃位选P0=tab[k%100/10];〃显示十位数字delay();P2=0xf7;〃位选P0=tab[k%10];〃显示个位数字delay();P2=0xff;〃位选}函数功能:LED闪动延时程序入口参数:出口参数:voidleddelay(void)unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);函数功能:LED闪动程序入口参数:出口参数:voidle

4、dflash(void)Pl=Oxff;〃关所有ledleddelay();Pl=OxOO;〃开所有ledleddelayf);函数功能:LED流水灯程序入口参数:出口参数:voidledflow(void){unsignedchari;unsignedchartemp;temp=0x01;for(i=0;i<8;i++)Pl=^temp;leddelayf);temp=temp«l;}函数功能:蜂鸣器发声程序入口参数:出口参数:voidsound(void)SPEAKERS;delay();SPEAKER=1;}函数功能:继

5、电器吸合程序入口参数:出口参数:voidrelayon(void)RELAY=O;leddelay();RELAY=1;函数功能:主程序入口参数:出口参数:voidmain(void)keyval=0;〃按键值清零key=Oxff;〃按键值输入状态P2=Oxff;PO=Oxff;〃熄灭所有数码管定时器初始化EA=1;〃中断总允许ETO=1;//TO中断使能ET1=1;//T1中断使能TMOD=Oxll;〃定时器工作方式1TH0=-10000/256;〃定时器TO高4位赋值TL0=-10000%256;〃定时器TO低4位赋值TH

6、1-100/256;〃定时器T1高4位赋值TLl=-100%256;〃泄时器T1低4位赋值TRO=1;〃开TO中断TR1=1;〃开T1中断while(l)display(keyval);//显示功能号if(keyval==l)//是否是功能1ledflash();if(keyval==2)//是否是功能2ledflow();if(keyval==3)//是否是功能3relayon();if(keyval==4)//是否是功能4sound();display(keyval);}}7^n函数功能:中断服务程序TO入口参数:出口参数

7、:voidintservl(void)interrupt1using1TRO=O;〃关定吋器TOdisplay(keyval);TH0=-10000/256;〃定时器TO高4位赋值TL0=-10000%256;〃定时器TO低4位赋值TRO=1;〃启动定时器TO}函数功能:屮断服务程序T1入口参数:出口参数:voidintserv3(void)interrupt3using3{TR1=O;〃关定时器T1讦((key&0x3c)!=0x3c)〃判断是否有键按下delay();if((key&0x3c)!=0x3c)〃再次检测按键,

8、判断是否有误操作if(Sl==O)keyva1=1;if(Sl==O)keyval=2;〃启动泄时器T1if(Sl==O)keyval=3;if(Sl==O)keyval=4;}TR1=1;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。