一、实验目的
1.学习输入/输出端口控制方法
2.了解音频发声原理
二、实验说明
本实验是利用80C51端口输出脉冲方波,方波经放大滤波后,驱动扬声器发声,声音的频率高低由延时长短控制。本实验只给出发出单频率的声音的程序,请用户思考,修改程序,可以让扬声器发出不同频率,不同长短的声音。
三、实验内容及步骤
P1.0输出音频信号接音频驱动电路,使扬声器周期性的发声。
1、使用单片机最小应用系统1模块,用导线将P1.0接到音频驱动电路输入端。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 音频.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,扬声器周期性的发出单频声音。
四、流程图及源程序
1.源程序
OUTPUT BIT P1.0 ;P1.0 端口
ORG 0000H
LJMP START
ORG 0030H
START: CLR C
MOV OUTPUT ,C
CALL DELAY
SETB C
MOV OUTPUT ,C
CALL DELAY
AJMP LOOP
DELAY: MOV R5,#4 ;延时子程序
A1: MOV R6,#0FFH
A2: MOV R7,#0FFH
DLOOP: DJNZ R7,DLOOP
DJNZ R6,A2
DJNZ R5,A1
RET
END