单片机作业项目(设计)
任 务 书
学生姓名: 王锫锟, 曾秋辉, 林毅铭,
张泽标, 颜明瑶
班 级: 1班
专 业: 计算机通信
系 别: 电子系
指导教师: 张召强
时 间: 2010年12月
项目要求:
掌握单片机音频发声原理,掌握扬声器的驱动电路
使用I/O口输出音频脉冲,脉冲经放大滤波后,驱动扬声器发声。
要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器定时这个半周期时间,每当定时到后就将输出脉冲的I/O口反相,然后重复定时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
利用内部定时器使其工作在计数器模式,改变计数值TH0及TL0以产生不同的频率。
例如;频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计956μs/1μs=956,在每计数956次时将I/O反相,就可得到中音“哆”(523Hz)。
计数脉冲值与频率的关系公式如下:
N=Fi÷2÷Fr
N:计数值;Fi:内部计时一次为1μs,故其频率为1MHz;Fr:要产生的频率;
其计数值的求法:T=65536-N=65536-Fi÷2÷Fr
每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2.1为节拍与节拍码的对照。如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可以求得节拍的时间。假设1/4拍为1DELAY,则1拍应为4DELAY,依此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表2为1/4和1/8节拍的时间设定。
表1节拍与节拍码对照:
节拍码节拍数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍
表2 各调1/4节拍的时间设定 各调1/8节拍的时间设定:
曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒
建立音乐的步骤:
a. 先将乐谱的音符找出,然后由表3建立T值表的顺序。
b. 将T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。简谱码
(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。
表3 简谱对应的简谱码、T值、节拍数
简 谱发 音简谱码T 值节拍码节拍数5低音SO16426011/4拍6低音LA26446022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中间FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217不发音0
电路原理图
元器件清单:
单片机:AT89S52(1个)晶振:12MHZ(1个)电容:33PF(2个),104nf(1个),10uf(1个)电阻:10k,100Ω 5.1k 若干个 蜂鸣器:一个 LED:8个 三极管:8550(1个)
器件详参:
AT89S52
主要性能:
与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz~33MHz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。
功能特性描述
A89S52 是一种低功耗、高性能CMOS8