完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include #define uchar unsigned char #define uint unsigned int ***it we = P2^7; ***it du = P2^6; //定义锁存器 端位选段 ***it LED1 = P1^0; uchar counter,time_counter ; uchar code leddata[]={ 0x3F,//0 0x06,//1 0x5B,//2 0x4F,//3 0x4F, //3 0x66, //4 0x6D,//5 0x7D,//6 0x07,//7 0x7F,//8 0x6F,//9 0x00,//ximie 0x00//zidingyi }; void delay(uint z) { uint x,y; for(x = z;x > 0;x--) for(y = 114;y > 0; y--); } void display(uchar i) { uchar shi,ge ; shi = i/10; //求模 ge = i%10; //求余 we = 1; P0 = 0xbf;//点亮第 1 we = 0; du = 1; P0 = leddata[shi]; du = 0; delay(1); we = 1; P0 = 0x7f;//点亮第二8 we = 0; du = 1; P0 = leddata[ge]; du = 0; delay(1); } void main() { TMOD = 0x10;//定时器1 工作模式1 16位模式定时器 TH1 = 0x4b; TL1 = 0xfe;//定时50ms TR1 = 1; //启动定时器 while(1) { if(TF1 == 1) { TF1 = 0; //手动青0 TH1 = 0x4b; TL1 = 0xfe;//定时50ms ,因溢出后寄存器里是0,重新赋初值 counter++; } if(counter == 20) { counter = 0; LED1 = ~LED1; time_counter ++; } // (即从4bfe加到ffff)花50ms溢出一次,TF1这时自动置1,当检测到TF==1后,counter计次数 if(time_counter == 60) time_counter = 0 ; display(time_counter); } /* 计数的 当定时器溢出20次 就是一秒钟的时间到了 */ } |
|
相关推荐
4个回答
|
|
leddata数组定义有误,数字3重复定义,删掉看看
最佳答案
|
|
|
|
先试试静态显示可以不可以显示9
|
|
|
|
楼上正解
|
|
|
|
求余应该是 i% 你对i的求余运算好像没有 ge=i%;
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
489 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
498 浏览 0 评论
655 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1329 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
558 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11753 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 02:35 , Processed in 0.718702 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号