完善资料让更多小伙伴认识你,还能领取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%;
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
798 浏览 0 评论
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
871 浏览 0 评论
2698 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2316 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1717 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
5862 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-26 16:51 , Processed in 0.576730 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号