微机原理与接口技术 汇编语言,单片机设计简易电子琴.docVIP

微机原理与接口技术 汇编语言,单片机设计简易电子琴.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术 课程设计报告 电子琴(八音盒) 目 录 1 课题描述 1 1.1 DICE-8086k试验系统 1 1.2 8255与8253结构 1 1.3功能说明 4 2 设计过程 6 2.1硬件设计 6 2.2软件设计 6 2.3系统原理说明 7 3 测试 9 总 结 10 附录代码 11 参考文献 13 1 课题描述 随着社会发展,计算机硬件技术越来越多的应用到生活中的各个领域,人们对软硬件技术结合开发出来的产品的要求越来越迫切,需求日益增加,如今用软硬件结合设计电子产品已经成为了一大时尚。本设计编写的一个用模拟电子琴的程序8086作为处理器,用8255接八个开关K1~K8,做电子琴按键输入,以8253控制扬声器,拨动不同的开关,发出相应的音阶。其中K1代表静音,K2发si的音,K3发la的音,K4发sol的音, K5发fa的音, K6发mi的音,K7发re的音,K8发do的音。 开发工具:汇编语言 ;DICE-8086K实验系统 图1.2 8255引脚图 图1.3 8255内部结构图 3) 8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号GATE。 数据总线D0~D7:为三态输出/输入线。片选信号CS,读信号RD,写信号WR,他们为输入信号,低电平有效。地址线A1、A0,接到系统总线A1、A0上。计数器时钟信号CLK,作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK,便使计数值减1。 计数器门控选通信号GATE,计数器输出信号OUT,作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUT信号,以示定时或计数以到。 图1.4 8253引脚图 4)8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令寄存器,计数器0,计数器1,计数器2 数据总线缓冲器:3态,双向8位寄存器和D0~D7相连。 读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存器。 控制命令寄存器:接受CPU来控制字。 计数器:8253有3个结构完全相同的计数器。其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。 图1.5 8253内部结构图 1.3功能说明 1)开关控制:8255端口A工作在方式0,且为输入方式,端口B、C任意。开关接在8255端口A的PA0~PA7,这样就可以通过8255读取开关量。如下图: 图1.6开关控制图 2)扬声器控制:(1)8253计数器2的输出控制扬声器的发声音调(2)8253计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声(3)扬声器还受控于并行接口(8255A芯片)(4)必须使8255APB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB0和PB1同时为低电平,关闭与门,扬声器关闭。 图1.7 扬声器控制图 2 设计过程 本次设计的模拟电子琴是以8253控制扬声器,以8255接8个开关K1-K8作为电子琴的按键输入。 2.1硬件设计 采用并口8255A接8个开关K1—K8,利用8255A方式0,端口A输入方式,即AL,可以将开关的量输入到CPU中,利用8个开关做电子琴的8个按键。 驱动控制扬声器利用8253与8255A共同执行(如图2.1)。利用8255A的PB0、PB控制扬声器的开启、关闭。利用定时器8253驱动发声,CPU通过对8253通道2(端口地址42H)进行编程,利用8253方式3以不同的脉冲频率产生不同的输出方波,方波信号通过滤波器、功率放大器使扬声器发声。 图2.1 硬件电路连接图 2.2软件设计 利用汇编语言对接口进行编程控制。程序模块主要包括8255A、8253的初始化、开关量的输入、扬声器的开启、关闭及程序的退出。在使8253的初值计数与频率相对应有两种方法,一是利用表的操作,但这种操作不太容易实现,硬件的连接也比较麻烦,易出错;所以我采用的是比较跳转的方式, 比较简单明了,容易理解。程序中的模块关系见程序流程图。 图2.2 程序流程图 2.3系统原理说明 1)利用8个逻辑开关做为电子琴的键盘输入,高电平有效,则开关量由8255A的端口A方式0,输入方式(控制字AL)送入CPU中。此时调用的是7号系统功能调用,从标准设备输入单字符置入AL寄存器中,调用格式为: MOV AH,07H INT 21H 2)CPU根据不同的开关量,将程序跳转到相应频率对应的8253的初始化,并给8253赋上频率对应的初始值,此时利用的是8253的通道2,方式3,产生不同频率的方

文档评论(0)

sxym26 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档