完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
数码管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。(用定时器设计表)。
#include #define uint unsigned int #define uchar unsigned char ***it key=P2^0; char aa,num,bai,shi,ge; void init(); void delay(uint z); void display(uchar bai,uchar shi,uchar ge); uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; void main() { init (); //初始化子程序 while(1) { if(aa==10) { aa=0; if(num==999) { num=0;} bai=num/100; shi=num%100/10; ge=num%10; if(key==1) num++; if(key==0) num=num; } display(bai,shi,ge); } } void init() { P2=0xff; num=0; aa=0; TMOD=0X01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; aa++; } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=10;y>0;y--); } void display(uchar bai,uchar shi,uchar ge) { P0=table[bai]; //送百位数 P1=0xfe; //选通百位数 delay(1); P0=table[shi]; P1=0xfd; delay(1); P0=table[ge]; P1=0xfb; delay(1); } 这个程序中为什么num的数显示不到999,,,只能到127.。。。求助 |
|
相关推荐
9个回答
|
|
num给定义为long型就可以了
|
|
|
|
哦,,,谢谢
|
|
|
|
char的范围是0-127,unsigned char的范围是0-255.个num定义为int类型就行了。
|
|
|
|
数据类型更改一下
|
|
|
|
恩恩,谢谢 |
|
|
|
char是带符号的,范围是-128到127,unsigned char 是0到255,同理int也是一样的(-32768到32767),unsigned int(0-65535),建议你在使用到了可能小于0的变量时不要加unsigned,使用大于等于0的变量时用加unsigned,你上面的程序中应定义unsigned int aa,个人觉得变量定义要见明知意用作计数建议定义为counter,并赋初值0,在以后编程赋值很重要的.unsigned intcounter=0;
|
|
|
|
朋友,你程序有点乱,命令千万不要用aa,bb这些,函数名,变量名最好用大写或者下划线隔开如:void Lcd_Display(void);更重要的是用好tab键,对齐{ };程序的可读性的重要性远远高于程序的可执行性的重要性,程序的维护是很麻烦的
|
|
|
|
在写程序定义变量前一定要考虑清楚那个是什么变量,范围够不够,不能犯这样的错误了 你程序里明显num定义的长度不够啊
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12010 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:20 , Processed in 0.715916 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号