1、电子琴课程设计1 任务及要求 12 设计思想 13.元器件功能简介 23.18086 引脚说明3.28255 与 8253 结构4.功能说明 74.1 开关控制4.2扬声器控制5.原理图设计 86.流程图 97.测试 108.心得体会 119.参考文献 1110. 源程序 121任务及要求设计一个电子琴。 以 8086 作为处理器, 以 8253 控制扬声器,并以 8255 接 8 个开关 K1K8 作为电子琴的按键输入,根据按键 K2K8 改变脉冲频率和脉冲持续时间从而使扬声器发出 7 种不同的音调,并且按下按键发声,松开延时一段时间停止停止,中间 再按别的开关则发另一种音调的声音,从而实现
2、了一个模拟电子琴。该电子琴能实现 基本的音调发音 , 报告的最后对整个设计过程进行了总结 .2设计思想在本次课程设计中, 根据复杂程序设计思想模块化程序设计, 分析和确 定程序总体设计目标: 电子琴基本功能及部分扩展功能后, 将总体目标划分为若 干模块(子程序,具体可见下)。21、程序设计的思路按以下顺序进行:21 1、 分析与确定程序总体设计目标。21 2、 将总体目标划分为若干模块。213、定义每个模块的具体任务,明确它与其他模块间的通信方式编写源程序,进行调试,包括:2131、简单电子琴主程序按下每个开关键可以发出不同的音调。2132、延时子程序按下每个开关按键发声后,松开延时一段时间停
3、止,中间再按别的键发 出另一种音调的声音。214、模块连接,形成完整的程序3.元器件功能简介3.1 、8086 引脚说明*8086微处理器采用40条引线双列直插(DIP)封装。*8086微处理器引线是对外前端总线及专用信号引线。*8086微处理器引线,在逻辑上可分为 3类:地址总线信号、数 据总线信号、控制总线信号。还有一些专用信号:电源、地、 时钟。*8086采用引线分时复用技术,一条引线不同时间代表不同信号 解决引线不够问题。p(S2)(LOCK 迹2 (so)deit l(S1)DT/R- -RQO) HOLD _(RQ1)HLDA 厂 READY8086ADOADI 5A16/S3A1
4、9/S6CPU TEST 控制 RESET L MN/MX CLK BHE/S7 ALE(QSO) WaCqsD -一 iriTR mil -总线信弓中断控制TVCC图1.1 8086cpu引脚图3.28255 与 8253 结构1.8255是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A 口和B 口是单纯的数据口,供数据I/O使用。而C 口则既可以作数 据口,又可以作控制口使用,用于实现 A 口和B 口的控制功能。2.数据传送中A 口所需的控制信号由C 口高位部分(PC7-PC4提供,因 此把A 口和C 口高位部分合在一起称之为 A组;同样理由把B 口和C 口 低位部分(PC
5、4 PC0合在一起称之为B组。3.8255引脚功能RESET复位输入线,当该输入端外于高电平时,所有内部 寄存器(包括控制寄存器)均被清除,所有 I/O 口均被置成输入方式。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许 8255与CPU进行通讯。RD读信号线,当这个输入引脚为低电平时,允许 8255通过数据总线向CPU 发送数据或状态信息,即CPU从 8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许 CPU将数据或控制字写入 8255。D旷D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入 输出指令时,通过它实现 8 位数据的读
6、/ 写操作,控制字和状态信息也通 过数据总线传送。PA0-PA7:端口 A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8 位的数据输入锁存器。PBLPB7:端口 B输入输出线,一个8位的I/O锁存器,一个8位的输入输 出缓冲器。PC0PC7:端口 C输入输出线,一个8位的数据输出锁存器/缓冲器,一个 8位的数据输入缓冲器。端口 C可以通过工作方式设定而分成 2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口 A和端口 B配合使用,可 作为控制信号输出或状态信号输入端口。A1、A0:端口地址总线,8255中有端口 A B、C和一个内部控制字寄存器,共 4 个端口,由 A0、
7、A1 输入地址信号来寻址。AleVR36RD盂T35PC7FC5O PCS oPC4 OID n1213读/写控制逻辑1)0PAD1PA1C2PA2L3FA3D4PA4D5PA5D赶PA3L7PA7A0PEOA1PE1WRPE2WPEGP別RESETPE5PB6PF7图1.2 8255引脚图o FAO3PASFASPAYPB1FB3PBSPB7PCIPCS0 12 3 PCPCPCPCPAI图1.3 8255内部结构图ffiHC上半部端口 C下半部端UB3) 8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有 3个独立的计数器(计数通道),每个计数器都有自己的时钟输入 CLK计数
8、输出OUT和门控信号GATE数据总线D0D7为三态输出/输入线。片选信号CS读信号RD写信 号WR他们为输入信号,低电平有效。地址线 A1、A0,接到系统总线A1、 A0上。计数器时钟信号 CLK作用是在8253进行定时或计数工作是,每输 入1个时钟脉冲信号CLK便使计数值减1。计数器门控选通信号GATE计数器输出信号OUT作用是计数工作时, 每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一 OUTB号,以示定时或计数以到。D7 124D6 2WHD5 RdD4 D3 A1D2 AO8253/6254CLK2DOpOUT2CLK0 CATE2OUTD CLK1GATE0 1
9、4GATE1GND 1 21 2OUT1图1.4 8253引脚图4)8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令 寄存器,计数器0,计数器1,计数器2 6数据总线缓冲器:3态,双向8位寄存器和D0D7相连。读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存控制命令寄存器:接受CPU来控制字。计数器:8253有3个结构完全相同的计数器。其内部由 16为初值寄存 器、减1计数器和当前计数值锁存器组成。CS数据总銭缓冲器慎写控制一逻辑内部数据计数器1CLK0计数器0 GATE c r OUT D控制字寄存器计数器2 CLK 1*77 gate |一 01cl
10、k2GATE 2 OUT 2图1.5 8253内部结构图3.374LS373结构及引脚图w- rani7415373的真值裘f幼能表).表中:T41zJ73TeieftOutput CotroiE处H忖 aDdutputL卄HHLHuLLIXQjHXKz11农术禹轄平1L-養芜低电羊IK-査禾不定电罕C性何电平状歩可臥! q黑覆晁崙首Q的靱平I.电平;H拓电T行*不定点;00 建立總恋前Q的电平:G输入环与fi03ULEiR:誓阚无阴低电平关门谨莅 图中 OF便能端*按他*当& 十时.74L53丁3输出端】QW 输入端1DTD相同;舍G询卜降沿鬧LG功 能00kiffiQL = Ui |01保
11、持廉持不变) j 1X刨倆附 |741s373引脚储畑)排列图:LS-J73JF * 1 IB ph& 7Q Q AD VQ Gll w |l| 皿 111 jl3 1TLrQ金A IOffL o aOf pIrQ Q & gF,0 D F0*2厂o 曲.cH r* p I1 1*ouwt 10 间 W Mb F n wI* U Mft | Maw741373内霸结忡圈 da3v+ cqh4.功能说明1)开关控制:8255端口 A工作在方式 0,且为输入方式,端口 B C任意。开关接在8255端口 A的PA0PA7这样就可以通过 8255读取开关量。如下图:囹M幵关控制囹2)扬声器控制:(1)
12、 8253计数器2的输出控制扬声器的发声音调(2) 8253 计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正 弦波,进而推动扬声器发声(3)扬声器还受控于并行接口( 8255A芯片)(4) 必须使8255APB(和PB1同时为高电平,扬声器才能发出预先设定频率的声音; 关闭则是利用8255APB(和PB1同时为低电平,关闭与门,扬声器关闭。S 1.7扬高器控制囲5.原理图设计采用并口 8255A接8个开关K1 K8,利用8255A方式0,端口 A输入方式,即AL= 10010000B,可以将开关的量输入到 CPU中,利用8个开关做电子琴的 8个按键。驱动控制扬声器利用
13、8253与8255A共同执行(如图5.1 )。-Tfr:rr-LI*.JL-HIXT-Fi轿3 D! QJ*DJ BDiMm nSiw iFUHEW叫 PKrnW PS皿 Ff 1 MjMJKhFC 土 K* KT .13 車手3盏FFIT丄图5.1电路连接图6.流程图利用汇编语言对接口进行编程控制。程序模块主要包括 8255A、8253的初始化、开关量的输入、扬声器的开启、关闭及程序的退出。我采用的是比较跳转的方式, 比较简单明了,容易理解。程序中的模块关系见程序流程图。图6.1程序流程图7.测试接通电路之后,按下开关键,依次拨动各个开关来控制作为扬声器的 8253发声,发出静音、Si、La
14、、Sol、Fa、Mi、Re Do音调。表3.1音阶频率表音阶静音SiLaSolFaMiReDo频率0493440392349329293241计数值02420271230443419362740724572由于每个开关的音调发音时间有软件延时控制, 所以当开关打开时,就会连续发出音节标称频率的声音。整体进行硬件电路图和软件测试, 把所需程序进行输入一切运行良好,可以完成模拟电子琴,通过开关键实现产生不同音节频率的功能8.心得体会经过几周的微机原理课程设计,虽然时间不是很长,但对我而言收获却很多, 也体会到了电子设计行业工作的辛苦,经过老师细心的讲解和我们的不懈努力, 最终我组能够把学到的知识运
15、用到实际中去, 这让我对本学科的学习产生了更加 浓厚的兴趣,但一切都是值得的。这次课程设计对我综合运用所学知识的能力的提高有不小的帮助, 之前做的实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比较简单, 可是这次要实现的功能相对来说比较复杂,要求掌握的知识比较综合。经过一周的实训,汇编语言的一些编程设计等操作可以较为熟练,微机原理 课程所涉及到的领域和应用的范围也得到了更多的了解, 总的来说,实训的一周是丰富而有成功的。刚开始学习汇编语言是相当吃力的, 许多内容在以前没有接 触过,许多源代码不能理解,实训的头两天就是很简单的试着操作这些内容一点 点的积累掌握,回去后不理解的地方赶
16、紧询问其他同学以便在第二天上机时应用 好,经过不懈的努力,终于将一个简单的电子琴程序设计完成。汇编语言是一门较难的计算机内容, 开始学习的时候较为困难,但是平时的 课堂的学习和这一次的集中的上机实训,使我不但能够较好的了解并掌握了一些 汇编语言的知识和技能,相信在以后的社会生活中也可以得到应用。在最后的答辩前,我对几天来在对几个程序的编排和改进上所遇到的问题又 进行了认真的总结,使我对整个程序都有了很深的了解, 而且也可以熟练的操作 和应用到程序中去,也顺利的通过了答辩。这是一次成功的实训, 也是应值得远记住的一次实训, 在这次实训中我充分 感受到了集体的力量,在我组组员的共同努力下,我们的电
17、子琴程序从无到有、 功能从弱到强,一步步的走向成功, 这段经历将成为我生活中一段宝贵的精神财 富.9.参考文献1.周荷琴 吴秀清. 微型计算机原理与接口技术 .2008.2.戴梅萼,史嘉权 . 微型计算机技术与运用 . 清华大学出版社 2003.3.王爱英. 计算机组成与结构 .北京. 清华大学出版社 .1995.4. 沈美明,温冬蝉 .IBM-PC 汇编语言程序设计 . 北京 . 清华大学出版社 .200310. 源程序15A8255 equ 0F0h B8255 equ 0F2h C8255 equ 0F4h M8255 equ 0F6h PORT_0 equ 0E8h PORT_1 eq
18、u 0EAh PORT_2 equ 0ECh PORT_CTR equ 0EEhINPUT: MOV DX, M8255MOV AL, 10010000BOUT DX, ALMOV AL, 30HMOV DX,PORT_CTROUT DX, ALMOV DX,A8255IN AL ,DXCMP AL,11111110BJZ K0CMP AL,11111101BJZ K1CMP AL,11111011BJZ K2CMP AL,11110111BJZ K3CMP AL,11101111BJZ K4CMP AL,11011111BJZ K5CMP AL,10111111BJZ K6CMP AL,01
19、111111BJZ K7JMP INPUTK0:MOV AL,56HMOV DX,PORT_CTROUT DX , ALMOV DX,PORT_1MOV AX , 0JMP SINGK1:MOV AL , 56HMOV DX,PORT_CTROUT DX , ALMOV DX , PORT_1MOV AX , 2420JMP SINGK2:MOV AL , 56HMOV DX,PORT_CTR OUT DX , ALMOV DX,PORT_1MOV AX , 2712JMP SINGK3:MOV AL , 56HMOV DX,PORT_CTR OUT DX , ALMOV DX,PORT_1M
20、OV AX , 3044JMP SINGK4:MOV AL , 56HMOV DX,PORT_CTR OUT DX , ALMOV DX,PORT_1MOV AX , 3419JMP SINGK5:MOV AL , 56HMOV DX,PORT_CTR OUT DX , ALMOV DX,PORT_1MOV AX , 3627JMP SING16K6:MOV AL , 56H MOV DX,PORT_CTR OUT DX , ALMOV DX,PORT_1MOV AX , 4072JMP SINGK7:MOV AL , 56HMOV DX,PORT_CTROUT DX , ALMOV DX,PORT_1MOV AX , 4572JMP SINGSING:out dx , alMov al , ahout dx , alMOV AL , 30HMOV DX,PORT_CTROUT DX , ALMOV DX,B8255IN AL , DXOR AL , 3OUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYIN AL,DXAND AL,0FCHOUT DX, ALJMP INPUT
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1