实验六并行口输出:彩灯移动实验 实验目的 1.掌握MCS-51单片机并行口的程序设计和调试方法 2.熟悉用IBM-PC交叉汇编调试软件MBUG机器汇编及ME-5103在线仿真器调试。 .实验设备 1.ME-5103在线仿真器1台: 2. IBM-PC微机1台: 3.并行口实验接口板1块 4.直流稳压电源1台。 .实验内容 1.程序结构采用主程序和中断服务子程序结构 2.定时中断程序,并行口输出,控制彩灯移动 定时器0于方式1,16位,10ms中断一次 40OH10ms计数单元 41H初值为01101101B 位地址00H=1 定时方式1为10MS:THX=0ECH,TLX=78H 3.参考程序 DISP EQU ODEOOH 显示子程序入口 ORG 000OH START: AJMP MAIN ORG O0OBH 定时器0中断服务程序入口 AJMP TINTO ORG 0030H MAIN: MOV RO,#39H;显示缓冲区初始化 MAIN 0: MOV @R0. #0 INC RO CJNE RO, #40H, MAIN 0 MoV41H,#01101101B MOV TMOD #01H MOV IE,#10000010B MOV THO. #oECH 10ms: EC78H MOV TLO. #78H SETB TRO MAIN 1: ACALL CONT 主程序循环
实验六 并行口输出:彩灯移动实验 一.实验目的 1.掌握 MCS-51 单片机并行口的程序设计和调试方法; 2.熟悉用 IBM-PC 交叉汇编调试软件 MBUG 机器汇编及 ME-5103 在线仿真器调试。 二.实验设备 1.ME-5103 在线仿真器1台; 2.IBM-PC 微机1台; 3.并行口实验接口板1块; 4.直流稳压电源1台。 三.实验内容 1.程序结构采用主程序和中断服务子程序结构 2.定时中断程序,并行口输出,控制彩灯移动 定时器 0 于方式 1,16 位,10ms 中断一次 40H 10ms 计数单元 41H 初值为 01101101B 位地址 00H=1 定时方式 1 为 10MS:THX=0ECH,TLX=78H 3.参考程序 ; DISP EQU 0DE00H ;显示子程序入口 ; ORG 0000H START: AJMP MAIN ; ORG 000BH ;定时器 0 中断服务程序入口 AJMP TINT0 ; ORG 0030H MAIN: MOV R0,#39H ;显示缓冲区初始化 MAIN_0: MOV @R0,#0 INC R0 CJNE R0,#40H,MAIN_0 MOV 41H,#01101101B SETB 00H MOV TMOD,#01H MOV IE,#10000010B MOV TH0,#0ECH;10ms:EC78H MOV TL0,#78H SETB TR0 MAIN_1: ACALL CONT ;主程序循环
SJMP MAIN 1 CONT: LCALL DISP 控制程序 定时器0中断服务程序 TINTO: MOV THO. #OECH MOV TLO. #78H PUSH ACC 保护现场 PUSH PSW INC 4OH MOv A, 40H CJNE A, #50, TINTOR MOV 40H #0 MOV A 41H MOV C. OOH RRC A MOV 41H. A MOV OOH. C MoV 3FH. A 输出显示缓冲 TINTOR: POP PSW 恢复现场 POP ACC 四.实验报告 1.写出本程序调试过程和运行结果 2.灯移一次时间多少?如何改 3.本实验灯移动方向相反程序修改哪里? 每移动一次计数累计显示修改什么地方?
SJMP MAIN_1 ; CONT: LCALL DISP ;控制程序 RET ; ;定时器 0 中断服务程序 TINT0: MOV TH0,#0ECH MOV TL0,#78H PUSH ACC ;保护现场 PUSH PSW INC 40H MOV A,40H CJNE A,#50,TINT0R MOV 40H,#0 MOV A,41H MOV C,00H RRC A MOV 41H,A MOV 00H,C MOV 3FH,A ;输出显示缓冲 TINT0R: POP PSW ;恢复现场 POP ACC RETI 四.实验报告 1.写出本程序调试过程和运行结果. 2.灯移一次时间多少?如何改? 3.本实验灯移动方向相反程序修改哪里? 4.每移动一次计数累计显示修改什么地方?