基于AT89C2051的乐曲播放器
文/耶涛
作为单片机重要硬件资源之一的 定时器,可以产生各种固定频率的方 波信号,也可以产生包括"DO", "RE","ME"音阶在内的各种频率的 声频信号.将各个音阶连接在一起,便 可组成一支曲子或是演奏一段旋律. 基于这个思想,笔者
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
了一款特殊 的"乐曲播放器".其核心器件采用 ATMEL公司的AT89C2051单片机, 具有电路简单,功能强大等特点.该 实例涉及到了单片机应用中许多重要 的操作,如中断,定时器,键盘扫描, I/O口等,可以帮助读者熟悉这些单 片机系统设计的关键.
功能特色:可实现循环播放,上一 曲,下一曲,复位等功能.为了体现 乐曲播放过程中的动态效果,在P1口 增加了8个发光二极管作随机闪烁,以 指示旋律的节奏.
硬件设计:电路以AT89C2051为 主控制器,SB1为复位键,SB2,SB3 分别为上一曲,下一曲选择键.晶振 采用12MHz.音乐信号由P3.7口输 出,经9012放大后推动扬声器发声(电 路图见附图).
软件设计:程序中根音选取的是C 调三个8度内的音符,共21个音.每 个音符所对应的频率由定时器TO产 生(音符频率及对应计数初值见附
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
). 为了程序调用方便,每个音符都对应 一
个编码,占用一个字节.在程序中 以查表的方式来加载计数初值.当值 为00H时表示空拍,与节拍码配合完 成节拍发音.节拍码也占一个字节.其 总时间长度等于基本时间乘以节拍码 的值.节拍码值为01H时,表示当前 乐曲结束,为00H时,表全部乐曲结 束.为了编码简单,一般节拍码高半 字节表示整拍,低半字节表示分数,只 要基本延时时间设定恰当即可.为了 及时响应键盘操作,键扫描指令安排 在基本延时时间子程序中.按键每按 附寰c调膏符频率计数位对照寰 下一次,乐曲数目计数器R5加一或减 一
,然后根据R5的内容转向不同的乐 曲.
本程序包含4首乐曲,若要增加更 多的乐曲,在存储空间许可的情况下 (可直接换用4KB的AT89C4051),可 参照所附的编码表将简谱转化为相应 的代码附着在乐曲数据表中即可.乐 曲源程序见本期配刊光盘.
编码l00Hl01Hf02H03HlO4Hl05H}O6H107Hl08HlO9Hl0AH
低3J低4l低5I低6l低71中ll中2l中3
330J349I392l440l494l523l587l659 6402lJ64103l64260l64400I64524l64580164684f64777
符l不f低1J低2
频率(Hz)l发l262I294
TO值l音『63628I63835
编码0BH0CH0DH0EH0FHl0HIlHl2Hl3H14Hl5H 音符456中7高1高2高3高4高5高6高7
频率(Hz)698784880988lO461175l3l813971568l7601976
TO值648206489864968650306505865Il065l5765l78652l76525265283
图ll所示.
闹铃:按红外遥控器的闹铃功能
键,这时有三个选项:闹铃时间,闹
铃开关,闹铃语音.按V+,V一键选
择各项功能,按P+,P一键修改参数.
万年历:按红外遥控器的万年历
功能键,这时有年份,月份,日期,星
期以及时间选择,按V+,V一键选择
各项功能,按P+,P一键修改参数,这
时对应的农历日期和生肖也有相应的
改变.如果需要修改时间日期,调整
好日期,时间后按一下红色的确定键
就修改好了.
语音管理:语音管理主要有播放,
录音功能.按P+,P一键选择曲目,按
上面的发音键播放对应的语音.如果
需要录音,按遥控上面的红色确定键
进行录音,每段录音6秒,录音过程中
红色指示灯亮.录音方式的音源有两 种,一种是录制话筒声音,另一种用 线路输入录音.
时间制式:按红外遥控器的红外 遥控功能键进入时间制式选择界面. 时间显示可以选择24/12小时制,按 P+,P一键选择.
整点报时:按红外遥控器的整点 报时键设置是否有整点报时,在整点 报时界面按P+,P一键选择是否允许 整点报时.整点报时0,23点对应的 语音是语音l,语音24,这些声音可 以自行录制,非常方便.
背光:按红外遥控器的背光键可 以打开/关闭液晶显示屏的背光. 2008.9,~.11IE528111?,^,v,~v.radio.corn.cn39
妻爹爹囊雾争棼一蚕一誊参雾静一警爹君誊髻鸯雾矗誊妻妻雾垂嚣搴髻鲞乎攀
霉箩擎雾