您的当前位置:首页正文

流水灯实验报告

2023-11-07 来源:步旅网


流水灯程序

一、实验目的

1. 学习PI口的使用方法;

2. 学习延时子程序的编写。

二、实验内容

分别采用ISP下载和仿真器在线仿真两种方式调试运行程序,编写流水灯程序(采用软件定时每隔0.5秒左右依次点亮八个LED)。

ISP下载:第一步 接串口线,USB转串口供电线。执行XLISP。JP17编程ISP实验时为弹起状态! 下载跑马灯HEX程序, 用一条8PIN排线一端插入CPU 部份的 P1 口(JP44) 另外一端插入八路指示灯部份的JP32,我们就看到P1口的8个发光管轮流闪烁。

仿真器在线仿真:接USB转串口供电线到仿真器,把仿真电缆(带仿真头)接到仿真器再插入CPU座。JP17仿真时为按下状态。

运行Keil UV2软件,编写程序,编译生成HEX文件,进入Debug调试模式,全速或单步执行。用一条8PIN排线, 一端插入CPU 部份的 P1 口(JP44) 另外一端插入八路指示灯部份的JP32,可以看到P1口的8个发光管轮流闪烁。

仿真器在线仿真,不能够同时运行其他可能占用串口资源的软件例如XLISP下载软件。

三、实验程序

org 0000h ;开始

ajmp loop

org 0080h ;到0080h 处避开00-30 的敏感地址

loop:

mov p1,#0ffh;关闭所有灯

clr p1.0 ;点亮灯p1.0

lcall delay ;延时一段时间?

clr p1.1 ;点亮灯p1.1

lcall delay

clr p1.2 ;点亮灯p1.2

lcall delay

clr p1.3 ;点亮灯p1.3

lcall delay

clr p1.4 ;点亮灯p1.4

lcall delay

clr p1.5 ;点亮灯p1.5

lcall delay

clr p1.6 ;点亮灯p1.6

lcall delay

clr p1.7 ;点亮灯p1.7

lcall delay

AJMP LOOP;到最开始loop 处重新运行

delay: mov r5,#20 ;延时。

d1: mov r6,#40

d2: mov r7,#248

djnz r7,$

djnz r6,d2

djnz r5,d1

ret

end

四、实验现象与结论

实验现象:可以观察到P1口的8个发光管轮流闪烁。

心得体会:通过本次的实验,熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉了单片机I/O口和LED灯的电路结构。掌握了C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

因篇幅问题不能全部显示,请点此查看更多更全内容