内容发布更新时间 : 2024/11/8 11:08:26星期一 下面是文章的全部内容请认真阅读。
实验一 清零程序
一、实验目的
(1)掌握汇编语言设计和调试方法; (2)熟悉MCS-51 单片机实验系统。 二、实验内容
程序一:把2000H~20FFH的内容清零。 三、程序框图
清零
四、实验步骤
程序一:用连续或单步方式运行程序,检查2000~20FF中执行程序前后的内容变化。
五、思考
(1)对于清零程序,假使把2000H~20FFH中的内容改成FF,如何修改本程序? (2)如何用断点方式调试程序?
SE01: LOO1: LOOP:
ORG 0000H MOV R0,#00H
MOV DPTR, #2000H CLR A
MOVX @DPTR, A INC DPTR INC R0
CJNE R0, #00H, LOO1 SJMP LOOP END
实验二 拆字程序
一、实验目的
(1)掌握汇编语言设计和调试方法; (2)熟悉MCS-51 单片机实验系统。 二、实验内容
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H,高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图
拆字
四、实验步骤
用连续或单步方式运行程序,检查2000~2002H中内容变化情况。 五、思考
编写程序:把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
SE02:
ORG 0000H
MOV DPTR, #2000H MOVX A, @DPTR MOV B, A SWAP A ANL A, #0FH INC DPTR
MOVX @DPTR, A INC DPTR MOV A, B ANL A, #0FH MOVX @DPTR, A SJMP $ END
实验三 P1口亮灯实验
一、实验目的
(1)学习P1口的使用方法; (2)学习延时子程序的编写。 二、实验预备知识
(1)P1口对准双向口,每一位都可独立地定义为输出或输入。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
三、实验内容
P1口作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 四、程序框图
五、实验电路
六、实验步骤
A2区的P10—P17用8芯排线连接到D1区的LED1—LED8,运行程序后,观察发光二极管闪亮移位情况。 七、思考
(1)改变延时常数,使发光二极管闪亮时间改变; (2)修改程序,使发光二极管闪亮移位方向改变。