完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 gdfch 于 2012-7-26 10:42 编辑
{:soso__15224900949455703190_2:}想用定时器进行0到59秒动态扫描显示时,仿真老是不对啊~~求各位达人赐教~~ 程序如下: #include #define uint unsigned int #define uchar unsigned char ***it dl=P2^6; ***it wl=P2^7; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar count,sec,min; void delay(uint); void main() { TMOD=0x01; TL0=0x4c; TH0=0x00; EA=1; ET0=1; TR0=1; P0=table[sec]; dl=1; dl=0; P0=0xfe; wl=1; wl=0; delay(10); P0=table[min]; dl=1; dl=0; P0=0xfd; wl=1; wl=0; delay(10); if(count==20) { count=0; sec++; } if(sec==60) { sec=0; min++; } if(min==60) { min=0; } } /********************************/ void delay(uint i) { uint j; for(;i>0;i--) for(j=100;j>0;j--); } /*********************************/ void time0()interrupt 1 { TL0=0x4c; TH0=0x00; count++; }
|
|
相关推荐
2个回答
|
|
你程序里面都没有一个主循环,换言之就是程序运行一次就停了
|
|
|
|
程序本身没有问题,但你没有注意程序执行的流程。有的代码需要反复执行,有的代码只需要执行一次。由此我们可以想到一个基本的程序框架如下:
#include void main(void) { //在这里添加只需要执行一次的代码 //比如你的定时器初始化 while(1) { //在这里添加需要反复执行的代码 //比如你的数码管扫描 } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4642 浏览 3 评论
5923 浏览 1 评论
6197 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7938 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1226 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 12:57 , Processed in 0.834415 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号