完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
/* 名称:定时器控制数码管动态显示 说明:8 个数码管上分两组动态显示年月日与时分秒,本例的位显示延时用定时器实现。 */ #include #include #define uchar unsigned char #define uint unsigned int //段码,最后一位是“-”的段码 uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //待显示的数据:09-12-25 与 23-59-58(分两组显示) uchar code Table_of_Digits[][8]={{0,9,10,1,2,10,2,5},{2,3,10,5,9,10,5,8}}; uchar i,j=0; uint t=0; //主程序 void main() { P3=0x80; //位码初值 TMOD=0x00; //计数器 T0 方式 0 TH0=(8192-4000)/32; //4ms 定时 TL0=(8192-4000)%32; IE=0x82; TR0=1; //启动 T0 while(1); } //T0 中断函数控制数码管刷新显示 void DSY_Show() interrupt 1 { TH0=(8192-4000)/32; //恢复初值 TL0=(8192-4000)%32; P0=0xff; //输出位码和段码 P0=DSY_CODE[Table_of_Digits[j]]; P3=_crol_(P3,1); j=(j+1)%8; //数组第 i 行的下一字节索引 if(++t!=350) return; //保持刷新一段时间 t=0; i=(i+1)%2; //数组行 i=0 时显示年月日,i=1 时显示时分秒 }
|
|
相关推荐
3个回答
|
|
求大神帮帮忙 真的不会弄 课程设计
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
过采样提高12位ADC精度在STM32主控上的实现(附电路及代码)
385 浏览 0 评论
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
826 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
1172 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1204 浏览 0 评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试
1243 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11087 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-14 21:21 , Processed in 0.586527 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号