单片机吉他调音器
无锡科技职业学院自主创新实践报告
设 计 题 目 单片机吉他调音器
学 生 姓 名 史克槽
专 业 机电一体化技术
班 级 机电0901
指 导 教 师 王 泰
日 期 2011-11-24
1
无锡科技职业学院自主创新实践报告
目录
1. 单片机概述..................................2 2.创新目标................................... 3 3.创新实践任务和要求..........................4 4.硬件设计电路................................5 5.软件设计....................................7
5.1播放原理...............................................7
5.2音调和节拍编码.........................................7
5.3 编程..................................................8
5.4程序...................................................9
5.5 Keil uV2仿真.........................................12 6.样机........................................13 7.总结........................................13
2
无锡科技职业学院自主创新实践报告
1.单片机概述
51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。
当前常用的51系列单片机主要产品有:
*Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
*ATMEL的:89C51、89C52、89C2051等;
*Philips、华邦、Dallas、Siemens(Infineon)
单片机,由cpu,片内rom(只读存储器相当于电脑硬盘用于存放编程好的数据,一些较老的芯片不带片内rom)ram(动态存储器,相当于电脑内存,用于存放一些临时数据,负责在rom与cpu之间相互沟通),片内定时(计数器),波特率发生器(用于在单片机与电脑,单片机于单片机等外设之间传递数据)等组成,广泛用于家电,机电等电器的控制部分,他相当于一部微型电脑,常见的型号有51内核的80c51,89c51,89s51,89c52,以及一些国产的像89e516等,avr(性能优于51单片机,很多带有A/D转换等较高级的片内外设)的ATtiny13A,ATtiny48,AT90CAN128等,
单片机的工作过程
编程人员将编好的程序写入单片机rom内,单片机上电后cpu会逐一执行rom内写好的程序,然后按照程序指令驱动相关电路进行工作。 单片机编程
通常使用c语言或汇编语言进行编程。
主要功能
?8位CPU?4kbytes 程序存储器(ROM) (52为8K)
?256bytes的数据存储器(RAM) (52有384bytes的RAM)
3
无锡科技职业学院自主创新实践报告
?32条I/O口线?111条指令,大部分为单字节指令
?21个专用寄存器
?2个可编程定时/计数器?5个中断源,2个优先级(52有6个)
?一个全双工串行通信口
?外部数据存储器寻址空间为64kB
?外部程序存储器寻址空间为64kB
?逻辑操作位寻址功能?双列直插40PinDIP封装
?单一+5V电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。
2.创新目标
利用AT89C51单片机制作一个音乐播放器播放一首音乐。希望通过这次的创新实践,一方面可以加深我对单片机的了解,提升自己的专业知识和技能。另一方面可以开发自己的思维,提高自身的创新能力。
3.创新实践任务和要求
播放音乐最简单的方法就是采用专用音乐芯片,该方法的缺点是音乐芯片只能一次性烧录,播放的内容不可变。而采用单片机播放音乐则能克服这一缺点,其播放的内容以及歌曲的数量都可以随时修改。同时,使用软件Proteus在产品
4
无锡科技职业学院自主创新实践报告
开发的初期对设计进行仿真无疑是一种提高效率和降低成本的好办法,但是仿真毕竟有一定的局限性,要实践起来可能会碰到一些问题。为此,本文通过Proteus软件对用AT89S52单片机播放音乐进行了仿真,指出了实际制作过程中需要注意的地方。
4.硬件电路设计
1) 仿真软件Proteus简介
Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,它支持单片机且元件库齐全,使用方便,是不可多得的专业单片机软件仿真系统。目前可支持的单片机类型有68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
2)电路设计
图4.1所示是单片机音乐播放器的仿真原理图。在Proteus仿真软件中,蜂鸣器即可播放音乐。
C1U130p1939X1XTAL1P0.0/AD03812MHzP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD3VCC35P0.4/AD43430pP0.5/AD5C333P0.6/AD6932RSTP0.7/AD7R210uF21P2.0/A82210kP2.1/A923P2.2/A102924PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15110P1.0/T2P3.0/RXD211P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0LS1615Q1R1P1.5P3.5/T1716PNPP1.6P3.6/WR81710kP1.7P3.7/RD89C51SPEAKER
图4.1为单片机音乐播放器原理图
a)晶振电路
电容大小没有固定值.一般二三十p.晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.比如 12M晶振.单片机工作速度就是每秒 12M.
5
无锡科技职业学院自主创新实践报告
和电脑的 CPU概念一样.当然.单片机的工作频率是有范围的.不能太大.一般 24M就不上往了.不然不稳定.
接地的话数字电路弄的来乱一点也无所谓.看板子上有没有模拟电路.接地方式也是不固定的.一般串联式接地.从小信号到大信号依次接.然后小信号连到电源处.有变压器就连到变压器旁.数模地分开.分别拉到电源处. 不可形成回路.
这个是由于晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希看存在的其他频率的波),这个波对电路的影响不大,但会降低电
路的时钟振荡器的稳定性.
图4.2所示是单片机晶振电路
C1
U130p1939X1XTAL1P0.0/AD03812MHzP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD335P0.4/AD43430pP0.5/AD533P0.6/AD6932RSTP0.7/AD721P2.0/A822P2.1/A923P2.2/A102924PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15110P1.0/T2P3.0/RXD211P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RD89C51
图4.2 晶振电路
b)复位电路
在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”
6
无锡科技职业学院自主创新实践报告
等现象,这主要是单片机的复位电路设计不可靠引起的。
图4.3所示为单片机复位电路
U11939XTAL1P0.0/AD038P0.1/AD137P0.2/AD21836XTAL2P0.3/AD3VCC35P0.4/AD434P0.5/AD5C333P0.6/AD6932RSTP0.7/AD7R22110uFP2.0/A822P2.1/A910k23P2.2/A102924PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15110P1.0/T2P3.0/RXD211P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RD89C51
图4.3 复位电路
5.软件设计
5.1播放原理
声音的频谱范围通常约为几十到几千赫兹,通过程序控制单片机的I,O口可输出不同频率的矩形波。当该矩形波的频率位于声音频谱范围内时,在单片机的I,O口接上喇叭就能发出声音。然后利用延时程序控制矩形波的高、低电平持续时间,即改变矩形波的频率,即可产生不同的音调,从而发出不同的声音,再让矩形波输出的长短对应节拍,就可以实现单片机对音乐的演奏。 5.2音调和节拍编码
单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
由于各个音调对应的频率是已知的,因此,播放音乐时,应对乐曲中出现的音调进行编码,并找出单片机播放这些音调所对应的定时初值。表1所列是音调编码与定时器的初值表,其中频率是已知的,编码可以自己设置,而定时初值是怎样得来的呢?下面以“低6”为例进行说明。“低6”的频率f为440 Hz,其对应的周期为:T=1,f=1,440=272μs。单片机上对应蜂鸣器的I,O口来回取
7
无锡科技职业学院自主创新实践报告
反的时间应为:t=T,2=2272,2=1136μs。单片机奏乐时,其定时器为工作方式1,若以振荡器的十二分频信号为计数脉冲,如果单片机晶振为12MHz,则1μs计数一次。所以,对于“低6”,其定时器的初值应该是:216-1136=64400。
对节拍的控制可通过延时程序来实现。表2所列是节拍编码表。若以1拍的时长为400ms为例,1,2拍的时长为200ms,1,4拍的时长为100ms。首先,这样,确定一个基本时长的延时程序,比如以100ms为基本延时时间,那么,1,4拍可以调用一次延时程序,1,2拍需调用二次延时程序,1拍需调用四次延时程序,依次类推。
5.3 编程
音调和节拍都进行过编码后,那么,一首乐曲就可以用若干个8位的简码表示。比如“生日快乐歌”的第一个简码是“82H”,由表1可知,其高四位“8”表示音调“中5”,对应的频率是784Hz,对应的定时器初值是64898;另由表2可知,其低四位“2”表示节拍为“2,4拍”。这样,任意一首乐曲的简码都可以通过乐谱提取软件获得,而得到简码后,就可以编程了。图3所示是单片机播放音乐的程序
图,本文使用的是定时器0,音调的高低由定时器来控制P3(6并按一定频率取反实现,节拍的长短由延时程序控制。流程图中的“TABLE”是由表1中的定时初值组成的。
8
无锡科技职业学院自主创新实践报告
开始
初始化定时器0
取乐曲简码
结束码
低四位暂存R5
高4位为0
在TABLE中取计数初值 高位送TH0,低位送TL0
启动定时器0
延时(由R5确定长短) P3.6按设置的频率取反
延时时间到
结束
流程图
9
无锡科技职业学院自主创新实践报告 5.4程序
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START: MOV TMOD,#00000001B
MOV IE,#10000010B
START0: MOV 30H,#00 NEXT: MOV A,30H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R2,A
JZ END0
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
JMP D1
SING: DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1: CALL DELAY
INC 30H
JMP NEXT
END0: CLR TR0
JMP START0 TIM0: PUSH ACC
10
无锡科技职业学院自主创新实践报告
PUSH PSW
MOV TL0,20H
MOV TH0,21H
CPL P3.6
POP PSW
POP ACC
RETI
2 DELAY: MOV R7,#0
D2: MOV R4,#187
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
TABLE1: DW 64021,64103,64260,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 65058,65110,65157
TABLE:
;1
DB 0A2H,0B2H,0D2H,0B2H,0A4H,0B2H,0D2H
DB 0B2H,0A2H,82H,72H,88H
DB 72H,82H,0A2H,82H,72H,62H,42H,62H
DB 38H,38H
;2
DB 0A4H,02H,0B2H,0A4H,84H
DB 72H,82H,72H,62H,72H,84H,72H
DB 64H,62H,12H,34H,02H,42H
DB 38H,38H
;3
DB 44H,02H,32H,44H,64H
DB 72H,82H,72H,62H,72H,84H,0A2H
DB 72H,74H,82H,0A4H,02H,0B2H
DB 0A8H,0A8H
;4
DB 0B2H,0B4H,0A2H,84H,82H,72H
DB 62H,72H,82H,0A2H,88H
DB 72H,74H,62H,42H,32H,32H,62H
DB 78H,78H
;5
DB 82H,84H,72H,82H,0A2H,84H
DB 72H,82H,72H,62H,48H
DB 32H,0A2H,82H,0F2H,0A2H,0B2H,82H,72H
11
无锡科技职业学院自主创新实践报告
DB 68H,68H
;6
DB 0B2H,0B2H,0B2H,0A2H,82H,84H,02H
DB 72H,74H,62H,42H,32H,42H,62H
DB 78H,78H
DB 0A2H,0B2H,0A2H,72H,82H,84H,82H
;7
DB 72H,74H,62H,44H,64H
DB 0A8H,0A4H,02H,0A2H
DB 0A2H,0B1H,0A1H,82H,0A2H,0B4H,0B2H,0C2H
DB 0A2H,0B2H,0A2H,82H,78H
;8
DB 84H,72H,62H,44H,02H,62H
DB 72H,81H,71H,62H,72H,84H,02H,0A2H
DB 0B4H,02H,82H,74H,82H,72H
DB 68H,68H
DB 00
END
5.5 Keil uV2仿真
12
无锡科技职业学院自主创新实践报告
6.样机
7.总结
AT89C51芯片有多组引脚,可实现多种扩展功能,由于知识,能力,时间,条件所限,我只实现了播放自编歌曲的功能,其实,还可以同时扩展LED点阵屏幕,按键选歌,以及多组灯光亮等功能,换用更高档的芯片后,甚至可以实现MP3的丰富功能。通过这次的自主创新实践,加深了我对单片机的了解,掌握了单片机的仿真软件的应用,成功的应用了单片机的知识制成了一个简易的音乐播放器,这次的自主创新实践使我受益匪浅。
13
无锡科技职业学院自主创新实践报告
14