完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include #define uint unsigned int #define uchar unsigned char uchar code deng[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff} uchar code shuma[]={0x90,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80} uchar aa,bb,cc,num; uint tz; void delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=123;j>0;j--); } uchar keyscan() { uchar h,k,l; P3=0xf0; h=P3&0xf0; if(h!=0xf0) { delay(5); h=P3&0xf0; P3=0x0f; l=P3&0x0f; while(P3!=0x0f); switch(h+l) { case 0x77:k=1;break; case 0x7b:k=2;break; case 0x7d:k=3;break; case 0xb7:k=4;break; case 0xbb:k=5;break; case 0xbd:k=6;break; case 0xd7:k=7;break; case 0xdb:k=8;break; case 0xdd:k=9;break; case 0x7e:k=11;break; case 0xbe:k=12;break; case 0xde:k=13;break; } return k; } else return 0xff; } if(k=9) { bb==1; P0=P1=0x00; } if(bb==0) { if(aa==0) { if(k<10) { P0=shuma[k] tz=k;aa==1; } } if(aa==1) { if(k>10) { if(k==12) { P1=deng[tz] } if(k==13) { P0=P1=0x00;P3=0xff; } if(k=11) { P0=P1=0x00;P3=0xfd;cc==1; } } if(cc==1) { if(P3=0xff) { void TO_time()interrupt 1 { THO=(65536-50000)/256; TLO=(65536-50000)%256; num++; if(num==60) { P0=0xc0;P1=P3=0xff; } } } } void main() { display(); TMOD=0x01; THO=(65536-50000)/256; TLO=(65536-50000)%256; EA=1; ETO=1; TRO=1; while(1) { TMOD=0x01; THO=(65536-50000)/256; TLO=(65536-50000)%256; EA=1; ETO=1; TRO=1; } }
|
|
相关推荐
1个回答
|
|
对定时器,中断等的设置在主程序里的开始部分设置一次就可以了,不用在while(1)里设置,这样不停的执行设置,定时器等无法产生中断。while(1)里应该是显示和键盘扫描之类的程序
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12034 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:46 , Processed in 0.500743 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号