1、XXXXXXXXXXXXXXX 1 单片机课程设计 实实 验验 报报 告告 学学 院:院: XXXX 专专 业:业: XXXX 学生姓名:学生姓名: XXXX 学学 号:号: XXXX 任课教师:任课教师: XXXX XX 年年 XX 月月 XX 日日 XXXXXXXXXXXXXXX 2 一、实验目的一、实验目的 1.熟练应用 proteus 仿真单片机基本功能; 2.了解计算机控制蜂鸣器发声原理(模拟电子琴); 3.增强对汇编语言的熟悉。 二、功能说明二、功能说明 1. 仿真功能:可以成功仿真单片机小程序; 2. 单片机功能:电子音调发生器-拨动不同的开关产生不同的音调 即依次波动 K0K7
2、,发出 1,2,3,4,5,6,7, i 八个音调, 播放两首乐曲。 三、实验原理及设计思路三、实验原理及设计思路 (一)(一)ProteusProteus 仿真单片机仿真单片机 在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件: *.HEX, 可以在 PROTEUS 的原理图中看到模拟的实物运行状态和过程。 PROTEUS 不仅可将许多单片机实例功能形象化,也可将许多单片机实 例运行过程形象化。前者可在相当程度上得到实物演示实验的效果, 后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。 这在相当程度上替代了传统的单片机实验教学的功能
3、,例:元器件选 择、电路连接、电路检测、电路修改、软件调试、运行结果等。 使用 Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术 和计算机多媒体技术相结合的综合运用, 有利于培养学生的电路设计 能力及仿真软件的操作能力; 且对单片机的学习比单纯学习书本知识 XXXXXXXXXXXXXXX 3 更容易让人接受,更容易提高。实践证明,在使用 Proteus 进行系 统仿真开发成功之后再进行实际制作, 能极大提高单片机系统设计效 率。 (二)电子音调发生器(二)电子音调发生器 1 1实验原理实验原理 (1)音调与节拍: 音调由不同频率的方波产生,音调与频率的关系如下表所示。要 产生音频方波
4、,只要算出某一音频的周期(1/频率),然后将此周期 除以 2,即为半周期的时间。利用计时器计时此半周期时间,每当计 时到后就将输出方波的 I/O 反相,然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚得到此频率的方波。在 ZKS-03 实验仪上, 产生方波的 I/O 脚选用 P1.7,通过跳线选择器 JP1 将单片机的 P1.7 与蜂鸣器的驱动电路相连。这样 P1.7 输出不同频率的方波,蜂鸣器 便会发出不同的声音。 音乐的节拍是由延时实现的,如果 1 拍为 0.4 秒,1/4 拍是 0.1 秒。只要设定延时时间,就可求得节拍的时间。延时作为基本延时时 间,节拍值只能是它的整数倍
5、。 (2)蜂鸣器电路: 蜂鸣器有交流和直流两种。直流蜂鸣器驱动简单, 一旦在引脚上 加入直流电源它就会发出一定频率的声音, 此时声音的音调和音量是 固定的; 而交流蜂鸣器在这方面则显得较灵活,输入声音信号的频率 和音长是可控的,因此输出的声响将更逼真、更悦耳。本实验仪有一 XXXXXXXXXXXXXXX 4 个交流蜂鸣器, 由于一般 I/O 口的驱动能力有限, 因此不用它直接驱 动蜂鸣器,它与 P87C52X2 的连接方式如下图所示。Buzzer 通过一个 跳线与 P1.7 相连,P1.7 输出不同频率的方波信号,蜂鸣器就会发出 不同的声音。如果控制输出信号的频率和音长,蜂鸣器则会发出悦耳 的
6、音乐。 2.2.设计思路设计思路 可将功能实现分如下模块:电源模块-开关控制模块+MCU 控制模 块+蜂鸣器发生模块-数码管显示模块 四、实验过程四、实验过程 ( (一一)Proteus)Proteus 仿真单片机仿真单片机 1.1.第一个第一个 LEDLED 灯亮灯亮: 程序:#include “reg52.h“ sbit led1=P10; void delay() int i,j; for(i=0;i100;i+) for(j=0;j1000;j+); void main() while(1) led1=1;delay();led1=0;delay(); 实验现象:第一个 LED 灯亮。 仿真: XXXXXXXXXXXXXXX 5 2.流水灯流水灯 程序:#include void delay(void) int i; int j; for(i=0;i100;i+) for(j=0;j200;j+); void main(void) int i; while(1)