参考上图程序并修改,实现两位显示的秒表,秒表时间范围为100秒(00-99),要求采用数码管的最右边两位数码管显示,采用定时器T0编写程序。
单片机计数器定时器实验
参考上图程序并修改,实现两位显示的秒表,秒表时间范围为100秒(00-99),要求采用数码管的最右边两位数码管显示,采用定时器T0编写程序。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 智者知已应修善业 2022-05-28 17:11关注
数码管的最右边两位数码管显示,数码管是几位的?位引脚是怎么接的?给出电路图才好写代码,代码依据电路写的。假设是8位数码管位引脚接P1,则修改代码
# include <reg51.h> #define uint unsigned int #define uchar unsigned char uchar n=0,shiw=0,gew=0; uchar code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() { uchar y=0; TMOD|=0x01; EA=1; ET0=1; TR0=1; TH0=(65536-15536)/256;//3cb0=15536 TL0=(65536-15536)%256; while(1) { P0=~smgduan[gew]; P1=0x01; while(++y); P0=~smgduan[shiw]; P1=0x02; while(++y); P0=P1=0x00;//P0=P1=0xff; } } void T0_time() interrupt 1 { uchar i; TH0=(65536-15536)/256; TL0=(65536-15536)%256; i++; if(i==20) { i=0; P0=~smgduan[n++]; if(n==100)n=0; shiw=n/10; gew=n%10; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测