《单片机控制技术》实验指导书实验一流水灯实验(左移右移方式)一. 实验项目卡编号:59010115-01二. 实验目的通过此实验,让大家初步掌握左移位、右移位指令的使用。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1.打开编译软件伟煌MCS51开发系统。
2.编写源程序并进行调试。
要求:小灯先向左依次移动8次,再向右依次移动7次,随后循环前血的工作。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为4.打开开发板电源,用软件将调试好的程序下载至单片机屮,观察实验现象。
五. 实验参考稈序ORG 0000HSTART: MOV A, #OFFHCLR CMOV R2, #08HLOOP: RLC AMOV Pl, ALCAI1 DELAYDJNZ R2, LOOPMOV R2, #07HL00P1: RRC AMOV Pl, ALCALL DELAYDJNZ R2, L00P1JMP STARTDELAY: MOV R4, #200DI: MOV R5, #248DJNZ R5, $DJNZ R4, DIRETEND实验二流水灯实验(利用查表方式)一. 实验项目卡编号:59010115-02二. 实验目的通过此实验,让同学们掌握杏表指令的使用。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1・打开编译软件伟煌MCS51开发系统。
2.编写源程序并进行调试。
要求:学习利用杏表方式,使小灯做舞台灯效果的变化,左移3次,右移3次,闪烁3次,廷时时问为200毫秒。
3.将S51E开发板连接到PC机上。
对丿卫的89S51与LED引脚的连线为4.打开开发板电源,用软件将调试好的程序下载至单片机屮,观察实验现象。
五. 实验参考程序ORG 0000HMOV Pl, #00HMOV A, #00HSTART:MOV DPTR, STABLELOOP: CLR AMOVC A, @A+DPTRCJNE A, #01H, L00P1JMP STARTL00P1:MOV Pl, AMOV R3,#20LCALL DELAYJMP LOOPDELAY:MOV R4,#20DI: MOV R5,#248DJNZ R5, $DJNZ R4,D1DJNZ R3, DELAYRETTABLE:DB OFEH, OFDH, OFBH, 0F7HDB OEFII, ODFII, OBFII, 07FIIDB OFEH, OFDH, OFBH, 0F7HDB OEFH, ODFH, OBFH, 07FHDB OFEH, OFDH, OFBH, 0F7H DB OEFH, ODFH, OBFH, O7FH DB 7FII, OBFII, ODFII, OEFII DB 0F7II, OFBII, OFDII, OFEII DB 7FH, OBFH, ODFH, OEFH DB 0F7H, OFBH, OFDH, OFEH DB 7FH, OBFH, ODFH, OEFH DB 0F7II, OFBII, OFDII, OFEII DB OOH, OFFH, OOH, OFFH DB OOH, OFFHEND实验三按键的应用(按键控制小灯)一. 实验项目卡编号:59010115-03二. 实验目的1.掌握按键的识别与处理。
2 •加强对输入控制的理解。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1.打开编译软件伟煌MCS51开发系统。
2.编吗源程序并进行调试。
要求:利用按键的方式,控制小灯的亮灭,按键后小灯亮,再次按键后小灯火。
了解人为按键的白然规律:由于单片机的指令执行很快,按键必须进行延时来消除抖动,并要求在按键后执行子程序的最后加入一条指令检测按键是否放下。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为4.打开开发板电源,用软件将调试好的程序下载至单片机屮,按动键盘观察实验现象。
五. 实验参考程序KEY BIT P3.3SW1 BIT P2.2ORG 0000HSTART:MOV SP,#40HMOV P2,#OFFHMOV P3,#()FFHMOVP1,#()FFHCLR KEYWAIT: JB KEY,$JB SW1,$LCALL DELAYCPLP1.0JNB SW1,$JMP WAITDELAY:MOV R3,#2OODI: MOV R4,#200DJNZ R4,$DJNZR3,D1 RETEND实验四外部屮断实验一・实验项目卡编号:59010115-04二. 实验目的1.了解51单片机外部屮断原理和概念。
2・学习如何使用编程来调用屮断服务了程序的整个过程。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1.打开编译软件伟煌MCS51开发系统。
2.编吗源程序并进行调试。
要求:当主程序运行后,小灯一直在做右移循环运动,当按键发生后则触发了屮断1,开始执行中断1的服务子稈序,小灯全部闪烁10次,然后再返回主稈序,继续原来的循环。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为LED1 ------------------------ P1. 0LED2 ------------------------- Pl.1LED3 ------------------------ P1. 2LED4 ------------------------ P1. 3INTI (P3.3) ---------------------------- SW4.打开开发板电源,用软件将调试好的程序下载至单片机屮,按动键盘观察实验现象。
五. 实验参考程序ORG 0000HJMPSTARTORG 0013HJMPEXT1ORG 100HSTART: MOV IE, #84HMOV IP, #04HMOV TCON, #()0HMOV SP, MOV Pl, MOV P2, MOV P3, SETB P2.0LOOP : MOV A, #0FFHCLRCMOV R2, #08HLOOP1: RLCAMOV Pl, A LCALL DELAY DJNZ R2, LOOP1 JMPLOOP EXT1:PUSH ACC PUSH PSW MOV A, #00H MOV R3, #10 LOOP2:MOV Pl, ALCALL DELAY CPLA DJNZR3, LOOP2 POP PSW POP ACC RETI DELAY :MOV R5, #2() DI :MOV R6, #20 D2: MOV R7, #248DJNZ R7, $DJNZ R6, D2DJNZ R5, DIRETEND #40H#OFFH#00H#OFFH实验五定时器屮断实验一. 实验项目卡编号:59010115-05二. 实验目的1.了解51单片机定时器中断原理和概念。
2・学习如何使用编程来调用屮断服务了程序的整个过程。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1 •打开编译软件伟煌MCS51开发系统。
2.编写源程序并进行调试。
要求:当主稈序运行后,用51单片机定时器屮断来令小灯每隔1 秒就左移一次。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为LED1 -------------------- P1. 0LED2 -------------------- Pl. 1LED3 -------------------- P1. 2LED4 -------------------- P1. 3LED5 -------------------- P1.4LED6 -------------------- P1. 5LED7 -------------------- P1. 6LED8 -------------------- P1. 74.打开开发板电源,用软件将调试好的程序下载至单片机屮,观察实验现彖。
五. 实验参考程序ORG OOOOHJMP STARTORG 000BHJMP TIMOORG 100HSTART: MOVP1,#()FFHMOV TMOD,#OIHMOV TH0,#HIGH(65536-l 0000)MOV TL0,#LOW(65536-l 0000)SETB TROMOV IE,#82HMOV R2,#100MOVP1.#OFEHSJMP$TIMO: PUSH ACCPUSH PSWMOV TH0,# HIGH(65536-10000)MOV TL0,#LOW(65536-l 0000)DJNZ R2,LOOPMOV R2,#100MOV A,PlRLAMOV Pl,ALOOP: POP PSWPOP ACCRET1END实验六屮断优先级实验一・实验项目卡编号:59010115-06二. 实验目的1.学习设置51单片机的中断优先级。
2・学习如何使用编程来调用屮断服务了程序的整个过程。
三. 实验设备1.S51E单片机学习开发板一块2.PC微机一台四. 实验步骤1 •打开编译软件伟煌MCS51开发系统。
2.编写源稈序并进行调试。
要求:当主稈序运行后,首先P1的8个LED每隔1秒就左移一次,当按键后8个LED闪烁5次。
3.将S51E开发板连接到PC机上。
对应的89S51与LED引脚的连线为LED1 --------------------- P1. 0LED2 --------------------- Pl. 1LED3 --------------------- P1. 2LED4 --------------------- P1. 3LED5 --------------------- P1.4LED6 --------------------- P1. 5LED7 --------------------- P1. 6LED8 --------------------- P1. 7INTI (P3.3) ----------------------------- S W4.打开开发板电源,用软件将调试好的程序下载至单片机屮,按动键盘观察实验现彖。
五. 实验参考程序ORG 0000HJMP STARTORT 000BIIJMP TIMOORG 100HSTART:MOV P1,#OFFHMOV TMOD, #01HMOV TIIO,#IIIGII (65536-10000)MOV TLO, #LOW(65536-10000)SETB TROMOV IE, #86HMOV TP,#04H:用MOV TP, #00H代替本行看结果如何?MOV R2, #50MOV P2, #0011MOV P3,#OFFHSETB P2. 0MOV P1,#OFEHSJMP $EXT1: PUSH ACCPUSH PSWMOV A,#00HMOV R3,#1OLOOP1: MOV Pl, ALCALL DELAYCPL ADJNZ R3,LOOP1MOV P1,#OFEHPOP PSWPOP ACCRET ITIMO: PUSH ACCPUSH PSWMOV TIIO,#IIIGII (65536-10000)MOV TLO, #LOW(65536-10000)DJNZ R2, LOOPMOV R2, #100MOV A, PlRL AMOV Pl, ALOOP: POP PSWPOP ACCRETTDELAY: MOV R6, #0FFHDI: MOV R7,#0FFHDJNZ R7,$DJNZ R6,D1RETEND实验七 RS232串行通讯实验 一・实验项目卡编号:59010115-07二. 实验目的1. 了解RS232串行通讯的工作原理。