完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请大神帮忙看编写的一个程序,让数码管前三个从000~999,附加独立键盘,分别能控制计数的停止,开始,清零等功能。
#include #define uint unsigned int #define uchar unsigned char ***it key=P3^4; ***it key1=P3^5; ***it key2=P3^6; ***it key3=P3^7; ***it dula=P2^6; ***it wela=P2^7; uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar bai,shi,ge; uint num; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() { TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; } void display(uchar bai,uchar shi,uchar ge) { bai=num/100; shi=num%100/10; ge=num%10; dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(5); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(5); } void keyscan() { if(key==1) { delay(10); if(key==1) { while(!key) display(bai,shi,ge); TR0=~TR0; } } if(key1==1) { delay(10); if(key1==1) { while(!key1) display(bai,shi,ge); TR0=0; } } if(key2==1) { delay(10); if(key2==1) { while(!key2) display(bai,shi,ge); TR0=1; } } if(key3==1) { delay(10); if(key3==1) { while(!key3) display(bai,shi,ge); num=0; } } } void main() { init(); while(1) { keyscan(); display(bai,shi,ge); } } void timer0() interrupt 1 { TH0=(65536-10000)/256; TL0=(65536-10000)%256; num++; if(num==1000) { num=0; delay(5); } } 这个程序总是停留在000状态,感觉是在清零哪出问题了,但是不知道咋改。 |
|
相关推荐
2个回答
|
|
你的display程序出错了。。。c语言不过关吧,既然bai shi ge 是全局变量,为何还要传参?
|
|
|
|
楼上帮你指出来了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
341 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
405 浏览 0 评论
506 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
857 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
726 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10499 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-4 15:10 , Processed in 0.813873 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号