这里使用的是AT89S51,利用定时器方式1实现跑马灯可以以5种速度变换(速度可以增加,只需要修改一点点的代码),并实现4种花样(用K1-K4键进行控制),也使用到了点阵。
-
实现过程
由于之前有做过按下按键使数码管显示的数字加一或减一的实验,本次的课程设计就使用此框架进行改造。
首先是控制速度,我使用的方法是将速度储存在R0中,然后每次按下按键使R0加一,再调用数码管显示程序;接着控制花样,这个就让不同按键对应使不同的值存入R2中,最后在跑马灯花样控制时进行判断。 -
关于点阵
点阵是我们一直想实现的内容,但是由于对74HC595的不熟悉,我们就利用P0口进行控制(还要向大佬学习),想要实现的是按下K4键点阵按照当前的速度进行移动,这里就遇到了一点点的挫折,因为忘记了延时程序还有使用到数码管显示程序,所以就造成了一些困惑,不管怎样,结果还是可以吧。 -
结果展示
-
代码
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TIMER0
ORG 1000H
;=========进行初始化=================&#