实验十四 PWM 转换电压实验
一、实验目的
1、了解脉宽调制(PWM)的原理
2、学习用 PWM 输出模拟量
3、熟悉 51 系列单片机的延时程序
二、实验说明:
PWM 是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比变
成电压。程序中通过调整占空比来调节输出模拟电压。占空比是制脉冲中高电平与低电平的
宽度比。
三、实验内容及步骤:
P1.0 输出 PWM 信号接转换电路,转换电压值送数字电压表显示。
1、选用 89C51 最小应用系统模块,用导线将 P1.0 接到 PWM 转换电压输入端,电压输
出接数字电压表“+”端,电压表“-”端接地。
2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片
机插座中,打开模块电源,插上仿真器电源插头。
3、启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、
CPU 类型;选择通信端口,测试串行口。
4、打开 PWM.ASM 源程序,编译无误后,全速运行程序。观察电压表显示值,并做记录,
这是占空比 5:5 的 PWM。修改源程序 LOOP 程序段两次给累加器 A 的赋值,改为①“MOV
A,#1” ②“MOV A,#9”,重新编译后运行,记录电压表显示值,这是占空比 1:9 的
PWM。同样,用户可做占空比 9:1 的 PWM,并做记录。比较三种 PWM 信号转换电压的大小,
与理论值相比较。
四、流程图及源程序
1.源程序清单:
;输出 50% (5:5) 占空比 PWM
;输出 10% (1:9) 占空比 PWM
;输出 90% (9:1) 占空比 PWM
ORG 20H
OUTPUT BIT P1.0
LOOP:
CLR OUTPUT
MOV A, #5
CALL DELAY
SERB OUTPUT
MOV A, #5
CALL DELAY
LJMP LOOP
DELAY:
MOV R0, #0
DLOOP:
DJNZ R0, DLOOP
DJNZ ACC, DLOOP