完善资料让更多小伙伴认识你,还能领取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 是全局变量,为何还要传参?
|
|
|
|
楼上帮你指出来了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
510 浏览 0 评论
792 浏览 0 评论
833 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
797 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1244 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11815 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 18:33 , Processed in 0.614118 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号