资源描述
**大学课程设计说明书
【摘要】单片机是单片微型计算机的简称。单片机微控制器就是把中央处理单元、存储器和输入/输出口等全部放置在一个芯片里,再配置几个小零件,如电容、电阻、石英晶体等,即可形成完整的微型计算机,因此单片机整个那个的体积小、成本低、可靠度高,是目前微型计算机控制系统的主流。所以说利用单片机开发项目,既简单又经济实惠。尤其对于中、小规模的电路设计来说,单片机最为合适。
由于微控制器的主要功能是控制,所有的部件都连接在三大总线上面,各部件之间的数据和信号都通过总线传送。总线包括数据总线(DB)、控制总线(CB)和地址总线(AB)。数据总线用于为处理器和存储器之间以及微处理和输入/输出接口之间传送数据。数据总线是双向的,即数据可以从CPU传送至存储器或外部设备中,也可以从存储器或外部设备中传送至CPU。计算机对存储器或外部设备的访问都是通过地址来进行的。地址总线是单向的,即只能由CPU向外传送地址信息,其地址总线的数目决定了可以直接访问的存储器的单元数量。控制总线用来传送CPU送出的控制信号,也可以传送其他外部设备输入到CPU的信号。
本次单片课程音频控制设计中,单片机选用MCS-51系列中的8031芯片、译码器选用74LS373、扩展的程序存储器选用2632(4k)、数据存储器选用6164(8k)、I/O接口扩展选用8255芯片,设计出电路图,将硬件连接好后,编译相应程序,来控制喇叭的音频变化和时间长短变化。
关键字:单片机 存储器 8255芯片 三大总线 音频控制
目录
摘要····································································1
引言····································································3
第1章 电路图及硬件连接········································3
1.1 复位电路和时钟电路设计····································3
1.2 控制P10口输出电路图及硬件连接····························4
1.3 扩展存储器、8255后电路图、硬件连接及地址计算···········4
第2章 程序设计···················································6
2.1 程序流程图··················································6
2.2 控制P10口输出单频率音调的程序及实验分析················6
2.3 控制P10口输出多频率音调的程序及实验分析················7
2.4 控制8255PC端口音频输出程序及实验分析····················9
2.5 控制8255PA端口音频输出程序及实验分析···················11
第3章 课程设计总结·············································13
3.1 课程设计总结················································13
3.2 关于本次课设的心得体会·····································13
参考文献·······························································14
附:图4 ······························································15
引言
用单片机实现对喇叭不同音调的控制,其实是由单片机(8031)输出一定频率的脉冲信号来驱动喇叭。单片机的输出端口输出的方波经放大滤波之后,驱动扬声器发声。发声的频率由端口输出时延时控制,当端口输出不同频率的脉冲时,喇叭会发出不同音调。
第1章 电路图与硬件连接
1.1 复位电路与时钟电路设计
1.1.1 复位电路
图1 上电自动复位电路
上电自动复位电路的工作原理:
通电瞬间,RC电路充电,RST端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效复位。
1.1.2 时钟电路
图2 内部方式时钟电路
时钟电路工作原理:
利用51系列内部的振荡电路,在引脚和引脚间外接晶体以及电容和构成并联谐振电路,使内部振荡器产生自激振荡,组成时钟电路的晶体振荡器的频率大小决定了单片机系统的工作频率,即决定着单片机系统的工作速度。
1.2 控制P10口输出电路图及硬件连接
MCS-51系列的单片机都采用40条引脚的双列直插式封装,这40个引脚涉及电源部分(和)、时钟部分(和)和控制部分(RST、ALE、、和8位的P0、P1、P2和P3输入/输出端口)。如果将P10口作为输出,只要将P10口与喇叭相连即可。
1.2.1 电路图
图3 P10口控制喇叭输出
1.2.2 硬件连接
连线
连接孔1
连接孔2
1
P10
喇叭脉冲输入
表1
1.3 扩展存储器、8255后电路图及硬件连接
用8255对8031进行I/O接口扩展来改进电路,即需要根据设计电路赋给8255的PA、PB、PC口相应地址,将相应硬件连接,即可完成I/O接口的扩展。
1.3.1 扩展存储器、8255后电路图
图4 8255PA0口控制喇叭输出(附:清晰图于最后一页)
1.3.2 扩展8255后硬件连接
连线
连接孔1
连接孔2
1
PA0
喇叭脉冲输入
表2
其他数据总线、地址总线的连接如图4示连接即可。
1.3.3 存储器、8255地址计算
P27 P26 P25 P24 P23 P22 P21 P20 P07 P06 P05 P04 P03 P02 P01 P00
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
(2732) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
(6164) 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
(8255) 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
计算得到个芯片地址范围为:
2732(4k)地址线为A0-A11, 接地 地址范围为:0000H-0FFFH
6164(8k)地址线为A0-A12 ,接P2.5 地址范围为:0C00H-0DFFFH
8255地址线A0-A1, 接P2.6 地址范围为:0BFFCH-0BFFFH
第2章 程序设计
2.1 程序流程图
图5 程序设计流程图
编译程序,先由输出端口输出低电平脉冲,调用延时程序使低电平延续确定时间后,控制输出端口输出脉冲高电平,再次调用延时程序使高电平延续确定时间后,再次控制输出低电平如此反复。从而实现端口输出不同频率的脉冲,控制喇叭发出不同音调。
2.2 控制P10口输出单频率声音程序及实验分析
程序1:
Speaker equ P1.0
Loop : clr Speaker
call Delay
setb Speaker
call Delay
Jmp Loop
Delay: mov r7,#500 // 延时程序
djnz r7,$
ret
End
将P1.0与喇叭输入端口连接好之后,打开WAVE6000,设定仿真器,创建项目,调试程序。
实验分析:
程序执行期间,喇叭持续发出一种音调。
2.3 控制P10口输出多频率音调的程序及实验分析
2.3.1 持续相同时间的两种音频输出
程序2:
Speaker equ P1.0
Start: mov r6,#50000
L1: clr Speaker //音频为f的音调
call Delay
call Delay
setb Speaker
call Delay
call Delay
djnz r6,L1
next: mov r6,#50000
L2: clr Speaker //音频为2f的音调
call Delay
setb Speaker
call Delay
djnz r6,L2
sjmp Start
Delay: mov r7,#500
Djnz r7,$
ret
End
将P1.0与喇叭输入端口连接好之后,打开WAVE6000,设定仿真器,创建项目,调试程序。
实验分析:
程序执行期间,喇叭发出连续发出两种不同音调。两种音调各自持续时间相同,轮流发出。
2.3.1 持续不同时间的两种音频输出
程序3:
Speaker equ P1.0
Start: mov r6,#10000
L1: clr Speaker //音频为f的音调
call Delay
call Delay
setb Speaker
call Delay
call Delay
djnz r6,L1
next: mov r6,#50000
L2: clr Speaker //音频为2f的音调
call Delay
setb Speaker
call Delay
djnz r6,L2
sjmp Start
Delay: mov r7,#500
Djnz r7,$
ret
End
实验分析:
1) 程序执行期间,喇叭发出连续发出两种不同音调。两种音调各自持续时间不同,但轮流发出。
2) 程序2与程序3的主要差别在Start: mov r6,#10000和next: mov r6,#50000这两句。所以,只要替换相应r6的计数值即可实现音调持续时间的控制。
3)实现不同音频的输出,只要通过控制脉冲延时即可以达到,延时时间长,则音频频率高,延时时间短,则音频频率低,喇叭在不同音频输出的控制下发出不同的音调。
2.4 控制8255PC端口音频输出程序及实验分析
扩展8031的I/O接口后,由于PC端口有按位置位/复位控制字,所以把PC端口设为输出端口输出的脉冲频率来控制喇叭音调的设计思路为:
1) 根据电路图计算8255PA、PB、PC以及控制端口的地址。
2) 指定PA、PB、PC输入输出方式,设定控制端口初值。
3) 设定PC按位置位/复位控制字实现PC端口输出高、低脉冲。
4) 调用延时程序,调整输出频率,控制喇叭音调。
程序4:
Start: mov dptr,#0BFFFH
mov a,#80H //设定PA、PB、PC口为输出方式
movx @dptr,a
mov r6,#10000
L1: mov a,#0BH //将PC5置位
movx @dptr,a
call Delay
call Delay
mov a,#0AH //将PC5复位
movx @dptr,a
call Delay
call Delay
djnz r6,L1
next: mov r6,#10000
L2: mov a,#0BH
movx @dptr,a
call Delay
mov a,#0AH
movx @dptr,a
call Delay
djnz r6,L2
sjmp Start
Delay: mov r7,#50
djnz r7,$
ret
End
将PC5与喇叭输入端口连接好之后,打开WAVE6000,设定仿真器,创建项目,调试程序。
实验分析:
程序执行期间,喇叭发出连续发出两种不同音调。两种音调各自持续时间相同,轮流发出。
2.5 控制8255PA端口音频输出程序及实验分析
PA口输出与PC 口输出基本原理相同,只需将#0H和#01H轮流赋给PA端口即可。
程序5:
Start: mov dptr,#0BFFFH
mov a,#80H //设定PA、PB、PC口为输出方式
movx @dptr,a
mov r6,#10000
L1: mov dptr,#0BFFCH
mov a,#01H //将PA0置位
movx @dptr,a
call Delay
call Delay
mov dptr,#0BFFCH
mov a,#00H //将PA0复位
movx @dptr,a
call Delay
call Delay
djnz r6,L1
next: mov r6,#10000
L2: mov dptr,#0BFFCH
mov a,#01H
movx @dptr,a
call Delay
mov dptr,#0BFFCH
mov a,#00H
movx @dptr,a
call Delay
djnz r6,L2
sjmp Start
Delay: mov r7,#50
djnz r7,$
ret
End
将PA0与喇叭输入端口连接好之后,打开WAVE6000,设定仿真器,创建项目,调试程序。
实验分析:
程序执行期间,喇叭发出连续发出两种不同音调。两种音调各自持续时间相同,轮流发出。
第3章 课程设计总结
3.1 课程设计总结
在本次课程设计中,按照设计要求,完成电路图的设计、存储器和8255的扩展、地址计算、控制喇叭单音频和多音频输出以及不同音调持续时间变化等任务。
3.2 关于本次课设的心得体会
两周的单片机课程设计,紧张而充实,同时也深刻感受到想到与做到的距离、做到与做好的距离。在整个课程设计过程中,坚持很重要,可能想法每个人都有,但不是每个人都可以将自己的想法坚持下去。有机会重新接触了单片及实验箱,由之前验证性转化到这两周的自己设计和动手操作,有一种自豪感和骄傲感。又重新翻起自己的书本,仔细的思考并认真的尝试,每一步的前进或许并不如愿,然而也就是这种空想与实践的差异让我明白作为一名理工类学生在科学研究和探索时必须应该具备的独立思考能力和严谨的科学态度的重要性。
学会了思考,感受到这次课设虽然只是对所学过的理论知识的简单实践,但是,我从中学到了新的知识,体会到创新和学习的挑战性。在这次课设过程中除了接触单片机专业知识,还接触了VISIO、PROTEL等其他辅助软件,充实而具有乐趣,从一点点的摸索中获得进步思路也越来越开阔。
最后感谢各位老师对我的悉心指导,谢谢!
参考文献:
1、 《单片机原理及应用技术》 张淑清,国防工业出版社(教材)
2、 《过程控制系统及仪表》 邵裕森 巴筱云 编(教材)
3、 《单片机及应用》 李大友,高等教育出版社(教材)
4、 《机械量测量》 机械工业出版社(教材)
第 17 页 共 17页
展开阅读全文