定时器中断控制键盘扫描实验.doc

定时器中断控制键盘扫描实验.doc

ID:57417468

大小:38.00 KB

页数:3页

时间:2020-08-16

定时器中断控制键盘扫描实验.doc_第1页
定时器中断控制键盘扫描实验.doc_第2页
定时器中断控制键盘扫描实验.doc_第3页
资源描述:

《定时器中断控制键盘扫描实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、定时器中断控制键盘扫描实验实验电路图如下:本实验用定时器1每1ms扫描一次键盘,要求按下s1键时,p3口的8位LED正向流水点亮;按下s2键时,p3口的8位LED反向流水点亮;按下s3键时,p3口的8位LED熄灭;按下s4键时,p3口的8位LED闪烁。实验代码:#includeunsignedchartab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//段码表sbitS1=P1^4;//将S1位定义为P1.4引脚sbitS2=P1^5;//将S2位定义为P1.5引脚sbitS3=P1^6;//将S3位定义为P1.6引脚sbitS

2、4=P1^7;//将S4位定义为P1.7引脚unsignedcharkey=0;/*流水灯延时*/voiddelay0(){unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*软件消抖延时*/voiddelay1(){unsignedchari,j;for(i=0;i<100;i++)for(j=0;j<100;j++);}/*正转*/voidzheng(){inti;for(i=0;i<8;i++){P3=tab[i];delay0();}}/*反转*/voidfan(){inti;for(i=7;i>=0;i--){P3=tab

3、[i];delay0();}}/*关闭*/voidclose(){P3=0xff;}/*闪烁*/voidshan(){P3=0xff;delay0();P3=0x00;delay0();}voidmain(){TMOD=0x10;//定时器1工作与状态1EA=1;//开总中断ET1=1;//开定时器1中断TH1=(65536-1000)/256;//每1毫秒扫描一次TL1=(65536-1000)%256;TR1=1;//启动定时器1while(1){switch(key){case1:zheng();break;case2:fan();break;case3:close();break;c

4、ase4:shan();break;}}}voidint1()interrupt3using0{P1=0xf0;TR1=0;if((P1&0xf0)!=0xf0)//判断是否有按键按下{delay1();//用软件延时消抖if((P1&0xf0)!=0xf0)//再判断{if(S1==0)key=1;if(S2==0)key=2;if(S3==0)key=3;if(S4==0)key=4;}}TH1=(65536-1000)/256;TL1=(65536-1000)%256;TR1=1;}

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

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

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