微机原理实验指导书2012 下载本文

实验二 定时器输出PWM实验

1. 实验目的

利用定时器控制产生占空比可变的PWM波,通过实验验证进一步加强对定时器功能的认识,掌握定时器的使用方法。

2. 实验设备及器件 IBM PC机 示波器

3. 实验内容

编写一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占空比的增加和降低。用示波器查看P1.0口的输出波形。

4. 实验要求

学会使用单片机的定时器产生250Hz的PWM波。

5. 实验步骤 ① 用导线连接A2区的J61接口P11与D1区J53接口的KEY1。 ② ③ ④

6. 实验预习要求

认真阅读本节的实验内容,提前做好实验准备工作。

7. 实验参考程序

PWMH

PWM

用导线连接A2区的J61接口P12与D1区J53接口的KEY2。 将示波器的探针连接到A2区的J61接口P10。 用示波器观测P1.0口输出的PWM波形。

一台 一台 一台

DP-51PRO单片机综合仿真实验仪

DATA DATA

30H 32H 33H

;高电平脉冲的个数

31H ;PWM周期

COUNTER DATA TEMP DATA

ORG 0000H AJMP MAIN ORG 000BH AJMP

INTT0

ORG 8100H

MAIN:

MOV SP,#60H ;给堆栈指针赋初值 MOV PWMH,#02H ;赋初值 MOV COUNTER, #01H ;赋初值

Page 5 of 17

MOV PWM, #15H MOV TMOD, #02H MOV TL0, #38H MOV TH0, #38H SETB ET0 SETB SETB

;赋初值

;定时器0在模式2下工作 ;定时器每200μs产生一次溢出 ;自动重装的值 ;使能定时器0中断

;使能总中断 ;开始计时

EA TR0

KSCAN:

JNB P1.1,K1CHECK ;扫描KEY1

JNB P1.2,K2CHECK SJMP KSCAN

K1CHECK:

JB P1.1,K1HANDLE SJMP K1CHECK

K1HANDLE:

MOV A,PWMH

CJNE A,PWM,K1H0 SJMP KSCAN K1H0:

MOV A,PWMH INC A

CJNE A,PWM,K1H1 CLR TR0 SETB

P1.0 SJMP K1H2

K1H1:

CJNE A,#02H,K1H2 SETB TR0 K1H2:

INC PWMH SJMP

KSCAN

K2CHECK:

JB P1.2,K2HANDLE SJMP K2CHECK

K2HANDLE:

MOV A,PWMH

CJNE

A,#01H,K2H0 SJMP KSCAN K2H0:

MOV A,PWMH MOV TEMP,PWM

DEC A

CJNE A,#01H,K2H1 CLR TR0 ;扫描KEY2,如果按下KEY2,跳转到KEY2处理程序;去抖动,按下KEY1,跳转到KEY1处理程序

;判断是否到达上边界 ;是,则不进行任何操作

;如果在加1后到达最大值 ;定时器停止

;置P1.0为高电平

;如果加1后到达下边界 ;重开定时器

;增加占空比 ;去抖动,按下KEY2,跳转到KEY2处理程序 ;判断是否到达下边界

;是,则不进行任何操作

;如果在减1后到达下边界 ;定时器停止

Page 6 of 17

CLR P1.0 ;置P1.0为低电平

SJMP K2H2

K2H1:

DEC TEMP

CJNE A,TEMP,K2H2 ;如果到达上边界

SETB TR0 ;启动定时器

K2H2: DEC PWMH ;降低占空比 SJMP

INTT0:

PUSH

PUSH INC MOV CJNE CLR INTT01:

CJNE MOV SETB INTT02:

POP POP RETI ; END

KSCAN

PSW ACC

COUNTER A,COUNTER

A,PWMH,INTT01 P1.0 A,PWM,INTT02 COUNTER,#01H P1.0 ACC PSW

;现场保护

;计数值加1 ;如果等于高电平脉冲数 ;P1.0变为低电平

;如果等于周期数 ;计数器复位 ;置P1.0为高电平

;出桟 Page 7 of 17

实验三 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上进行仿真,所以只能下载。)

Page 8 of 17