微机原理实验指导书汕头大学机电系摘录实验一P1口实验及延时子程序设计1.实验目的利用单片机的P1口作为I/O口进行实验验证,掌握利用P1口作为输入口和输出口的编程方法,理解并掌握延时子程序的设计方法。
2.实验设备及器件IBM PC机一台DP-51PRO单片机综合仿真实验仪一台3.实验内容(1)编写一段程序,用P1口作为控制端口,使D1区的LED轮流点亮。
(2)编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED 亮,不按时LED灭)。
图 14.实验要求学会使用单片机的P1口作I/O口。
如果时间充裕,也可以考虑利用P3口作I/O口来做该实验。
5.实验步骤①用导线把A2区的J61接口与D1区的J52接口相连。
原理如图1所示。
②先编写一个延时程序。
③将LED轮流点亮的程序编写完整并调试运行。
④使用导线把A2区J61接口的P1.0~P1.6与D1区J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区J53的KEY1相连。
原理如图3.2(b)所示。
⑤编写P1.7控制LED的程序,并调试运行(按下K1看是否全亮)。
⑥A2区J61接口P1.7与D1区J54的SW1相连,然后再运行程序,拨动开关SW1查看结果。
6.实验预习要求阅读附录内容,理解实验的硬件结构。
可以先把程序编好,然后在Keil C51环境下进行软件仿真。
7.实验参考程序程序1:ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000HLJMP M ainORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main: MOV A,#0FFHCLR CMainLoop:CALL DelayRLC AMOV P1,A ;把A的值输出到P1口SJMP MainLoopDelay: MOV R7, #0 ;延时Loop: MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopRET;END程序2:ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000HLJMP MainORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main:JB P1.7,SETLED ;按键没有按下时,跳转到SETLEDCLRLED:CLR P1.0CLR P1.1CLR P1.2CLR P1.3CLR P1.4CLR P1.5CLR P1.6SJMP MainSETLED:SETB P1.0SETB P1.1SETB P1.2 SETB P1.3 SETB P1.4 SETB P1.5 SETB P1.6 SJMP Main ;END实验二定时器输出PWM实验1. 实验目的利用定时器控制产生占空比可变的PWM波,通过实验验证进一步加强对定时器功能的认识,掌握定时器的使用方法。
2. 实验设备及器件IBM PC机一台DP-51PRO单片机综合仿真实验仪一台示波器一台3. 实验内容编写一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占空比的增加和降低。
用示波器查看P1.0口的输出波形。
4. 实验要求学会使用单片机的定时器产生250Hz的PWM波。
5. 实验步骤①用导线连接A2区的J61接口P11与D1区J53接口的KEY1。
②用导线连接A2区的J61接口P12与D1区J53接口的KEY2。
③将示波器的探针连接到A2区的J61接口P10。
④用示波器观测P1.0口输出的PWM波形。
6. 实验预习要求认真阅读本节的实验内容,提前做好实验准备工作。
7. 实验参考程序PWMH DA TA 30H ;高电平脉冲的个数PWM DA TA 31H ;PWM周期COUNTER DA TA 32HTEMP DA TA 33HORG 8000HAJMP MAINORG 800BHAJMP INTT0ORG 8100HMAIN:MOV SP,#60H ;给堆栈指针赋初值MOV PWMH,#02H ;赋初值MOV COUNTER, #01H ;赋初值MOV PWM, #15H ;赋初值MOV TMOD, #02H ;定时器0在模式2下工作MOV TL0, #38H ;定时器每200μs产生一次溢出MOV TH0, #38H ;自动重装的值SETB ET0 ;使能定时器0中断SETB EA ;使能总中断SETB TR0 ;开始计时KSCAN:JNB P1.1,K1CHECK ;扫描KEY1JNB P1.2,K2CHECK ;扫描KEY2,如果按下KEY2,跳转到KEY2处理程序SJMP KSCANK1CHECK:JB P1.1,K1HANDLE ;去抖动,按下KEY1,跳转到KEY1处理程序SJMP K1CHECKK1HANDLE:MOV A,PWMHCJNE A,PWM,K1H0 ;判断是否到达上边界SJMP KSCAN ;是,则不进行任何操作K1H0:MOV A,PWMHINC ACJNE A,PWM,K1H1 ;如果在加1后到达最大值CLR TR0 ;定时器停止SETB P1.0 ;置P1.0为高电平SJMP K1H2K1H1:CJNE A,#02H,K1H2 ;如果加1后到达下边界SETB TR0 ;重开定时器K1H2:INC PWMH ;增加占空比SJMP KSCANK2CHECK:JB P1.2,K2HANDLE ;去抖动,按下KEY2,跳转到KEY2处理程序SJMP K2CHECKK2HANDLE:MOV A,PWMHCJNE A,#01H,K2H0 ;判断是否到达下边界SJMP KSCAN ;是,则不进行任何操作K2H0:MOV A,PWMHMOV TEMP,PWMDEC ACJNE A,#01H,K2H1 ;如果在减1后到达下边界CLR TR0 ;定时器停止CLR P1.0 ;置P1.0为低电平SJMP K2H2K2H1:DEC TEMPCJNE A,TEMP,K2H2 ;如果到达上边界SETB TR0 ;启动定时器K2H2:DEC PWMH ;降低占空比SJMP KSCANINTT0:PUSH PSW ;现场保护PUSH ACCINC COUNTER ;计数值加1MOV A,COUNTERCJNE A,PWMH,INTT01 ;如果等于高电平脉冲数CLR P1.0 ;P1.0变为低电平INTT01:CJNE A,PWM,INTT02 ;如果等于周期数MOV COUNTER,#01H ;计数器复位SETB P1.0 ;置P1.0为高电平INTT02:POP ACC ;出桟POP PSWRETI;END实验三 RS-232串口通信实验1. 实验目的利用单片机的TXD 、RXD 口,使用户学会单片机的串行口的使用。
2. 实验设备及器件IBM PC 机 一台 DP -51PRO 单片机综合仿真实验仪 一台3. 实验内容(1) 编写一段程序,利用单片机的串行口向PC 机发送0x55。
(2) 编写一段程序,接收PC 机串行口发送的0x55(ASCII 码为字母U ),在单片机接收到0x55时返回一个0x41(ASCII 码为字母A )。
在PC 机一端,以接收到0x41(ACDII 码为字母A )完成。
4. 实验要求深刻理解MAX232芯片的作用,学会使用单片机的串行口,如果有时间,用户可以做单片机之间的串行通信。
5. 实验步骤 ① 用串口线连接PC 机和DP -51PRO 单片机综合仿真实验仪。
如图3.18所示。
② 编写一段程序,利用单片机的创航空发送0x55,波特率为9600bps 。
(该程序不能在DP -51PRO 上进行仿真,所以只能下载。
) ③ 程序下载运行后,可以在PC 的接收软件上看见接收到UUUUUUU … ④ 编写一段程序,在单片机接收到0x55(U )时返回一个0x41(A )。
在PC 机一端,以接收到0x41(A )为完成,波特率为9600bps .(该程序不能在DP -51PRO 上进行仿真,所以只能下载。
)⑤下载程序运行后,先从PC机发送一个0x55(A),可以在PC的接收软件看见接收到A。
6.实验预习要求理解硬件结构,先把程序编好然后在Keil C51环境下进行仿真,还要学会PC机上的串行口调试软件的使用(DPFlash也内嵌一个串口调试器)。
7.实验参考程序程序1:ORG 0000HLJMP MainORG 00F0HMain:MOV SP, #60H ;给堆栈指针赋初值MOV TMOD, #20H ;设置T1为方式2MOV TH1, #0FDH ;设置波特率为9600bpsMOV TL1, #0FDHMOV SCON, #50H ;设置串口位方式1MOV PCON, #00HSETB TR1 ;定时器1开始计数Mainloop:MOV SBUF, #55H ;开始发送SENDWT:JBC TI, MainloopAJMP SENDWT;END程序2:ORG 0000HLJMP MainORG 00F0HMain:MOV SP, #60H ;给堆栈指针赋初值MOV TMOD, #20H ;设置T1为方式2MOV TH1, #0FDH ;设置波特率为9600bpsMOV TL1, #0FDHMOV SCON, #50H ;设置串口位方式1MOV PCON, #00HSETB TR1 ;定时器1开始计数REC:JBC RI, SENDWTAJMP RECSENDWT:MOV A, SBUFCLR RICJNE A, #55H, RECMOV SBUF, #41H ;开始发送JNB TI , $AJMP REC;END实验四 用8155扩展I/O 、RAM 及定时器实验1. 实验目的掌握单片机与8155的接口原理,熟悉对8155的初始化编程和输入、输出程序的设计方法,了解8155定时器的使用方法。
2. 实验设备及器件IBM PC 机 一台DP -51PRO 单片机综合仿真实验仪 一台示波器 一台3. 实验内容(1) 通过单片机的总线接口对8155芯片进行访问,编写程序分别实现对8155的I/O 口和内部RAM 、定时器进行操作。
(2) 连接线路验证8155的各项功能,熟悉它的应用方法。
4. 实验要求熟悉8155并行接口芯片的编程方法和应用,能够在设计电路时合理使用8155对端口资源进行扩展,从而掌握它的使用技巧。
5. 实验步骤① 8155引脚如图所示,连接线路,将A3区J89接口的RST 接地,将J89的CE 、I/O/M分别接到A2区J63接口的A15和A14上,完成总线操作的电路接线。