实验二 定时器输出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