本帖最后由 epc520 于 2023-8-7 22:13 编辑
(四)数码管显示 (建议:论坛用户可以设置头像,统一头像,区分是谁的回复,都要仔细看用户名,累眼。)
实验目的:2个数码管从0到F以500MS的频率循环显示(1个数码管+8个LED小灯)
今天又补了何老师第8集视频,将keil优化等级,生成的list,map,连接器等知识,感觉收获满满(*^_^*)
接下来学习汇编显示数码管,从原理图上可以看出使用的是共阳数码管,共阳数码管的真值表如下
- NUMTAB: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h,88h,83h,0C6h,0A1h,86h,8Eh
复制代码
看电路对发现,LED流水灯也是共阳连接,如果把8个LED摆成8字形,可以看出8个流水灯也相当于一个数码管。
电路设计巧妙的是,8个LED和数码管段选使用同一组IO,即P6.0~P6.7;
然后用 P7.0~P7.7作数码管的位选COM0~COM7
用 P4.0做8个LED位选,可以看作是COM8.
代码实现:
- P4 DATA 0C0H
- P6 DATA 0E8H
- P7 DATA 0F8H
-
- P4M0 DATA 0B4H
- P4M1 DATA 0B3H
- P6M0 DATA 0CCH
- P6M1 DATA 0CBH
- ;
- P7M1 DATA 0E1H
- P7M0 DATA 0E2H
复制代码
这个地址可以在stc参考手册查到
代码截图:
实验现象:
附上代码:
STC8H-ASM-DigitalTube1.zip
(29.75 KB, 下载次数: 52)
|