实验九串行口输出:彩灯移动实验 实验目的 掌握MCS-51单片机的串行口应用的程序设计和调试方法。 二.实验设备 1.ME-5103在线仿真器1台: 2. IBM-PC微机1台; 3.直流稳压电源1台; 4.串行口接口板1套 三.实验内容 1.实验设计 定时中断程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管 定时器0于方式1,16位,10ms中断一次 ;4OH10ms定时计数单元 ;41H初值为01101101B 位地址00H=1 定时方式1为10MS:THX=OECH,TLX=78H 串行口以方式0工作,不需初始化 2.参考程序 LPOUT EQU4H;输出缓冲区 DISP EQU ODE0OH;显示子程序入口 ORG 000OH START: AJMP MAIN ORG000BH;定时器0中断服 AJMP TINT0;务程序入口 ORG 0030H MAIN: MOV RO,#39H;显示缓冲区初始化 MAIN 0: MOV @R0. #0 INC RO CJNE RO, #40H, MAIN 0 MOV LPOUT #01101101B MOV TMOD #01H MOV IE,#10000010B MOV THO. #oECH 10ms: EC78H MOV TLO. #78H SETB TRO MAIN1: ACALL CO0NT;主程序循环
实验九 串行口输出:彩灯移动实验 一.实验目的 掌握 MCS-51 单片机的串行口应用的程序设计和调试方法。 二.实验设备 1.ME-5103 在线仿真器1台; 2.IBM-PC 微机1台; 3.直流稳压电源1台; 4.串行口接口板1套。 三.实验内容 1.实验设计 定时中断程序,串行口 P3.0、P3.1 输出,用 74LS164 移位寄存器驱动发光二极管 ; 定时器 0 于方式 1,16 位,10ms 中断一次 ; 40H 10ms 定时计数单元 ; 41H 初值为 01101101B ; 位地址 00H=1 ; 定时方式 1 为 10MS:THX=0ECH,TLX=78H ; 串行口以方式 0 工作,不需初始化 2.参考程序 LPOUT EQU 41H ;输出缓冲区 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 LPOUT,#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: MOV 3FH. LPOUT LCALL DISP;控制程序 MOV SBUF, SPOUT;串行口输出 RET 定时器0中断服务程序 TINTO: MOV THO, #OECH MOV TLO. #78H PUSH ACC;保护现场 INC 40H Mov A 40H CJNE A, #50, TINTOR MOV 40H #0 MOV A 41H MOV C 00H RRC A MOV 41H. A MOV OOH MOV3FH,A;输出显示缓冲 TINTOR: POP PSW;恢复现场 POP ACC RETI 四.实验报告 1.写出本实验调试过程和运行结果 2.本实验灯移动方向相反改哪里? 灯移一次时间多少?如何改?
SJMP MAIN_1 ; CONT: MOV 3FH,LPOUT LCALL DISP ;控制程序 MOV SBUF,LPOUT ;串行口输出 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.灯移一次时间多少?如何改?