微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求编程~流水灯与数码管倒计时

求编程~流水灯与数码管倒计时

时间:10-02 整理:3721RD 点击:
新人不懂求教~
按下第一个独立按键,led全亮
按下第二个,流水灯,循环右移
同时数码管60s倒计时
52单片机





很简单,用汇编语言即可实现。
按键采用外部中断。
第一步,在外部中断ext0中执行mov p1,0x00h
第二步,外部中断ext1启动内部定时器,开始60秒倒计时,倒计时数据保存在内存中,同时在定时器中完成流水灯(根据流水灯移动的快慢要求选择程序语句在定时器中断中的位置),循环右移;还利用定时器还用来产生位码扫描显示定时信号。
在主程序中根据扫描显示定时信号(为减小扫描闪动,定时周期应该小于20ms)将倒计时数据转换为两位十进制数据,用查表法在转换为两个数码管的字段码,交替输出倒计时的十位和个位的段码和位码信号(注意段码与位码的对应关系)。

R11、R13、R16、R17应移至集电极中,且阻值太大了,应该用几百欧的。为减少其对亮度的影响,建议取消,同时在各段码(P0口)中串入330-680欧的电阻。R10、R12、R14、R15阻值偏大,应选用1k左右的电阻。

我用的是c语言 0-0

c语言我不太懂。不过程序构架差不多。有一个语句写错了,应该mov p1,#0x00h。

谢谢啦~~~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top