文档介绍:上海电机学院
课程设计报告
课程名称: 微机原理与接口技术
课题名称: 电子琴实验程序设计
姓名:
学号:
带教老师:
完成日期: 2011年12月30日
电子信息学院
目录
一、设计任务与要求 1
1、设计目的 1
2、设计要求 1
二、总体设计 2
三、硬件设计 2
1、具体硬件设计 2
2、设备介绍 3
四、软件设计 8
五、软件调试过程分析 8
六、结论 8
附录 11
源代码: 11
一、设计任务与要求
1、设计目的
本课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成一项完整的设计工作。更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环节来加深对《微机原理与接口技术》所学内容的理解和融会贯通。
设计音乐播放器主要目的:
通过D/A装换器产生模拟信号,在实验平台上实现简易电子琴弹奏。
了解利用数模转换器产生音乐的基本方法。
掌握定时/计数器8253A 的使用。
2、设计要求
本课程设计题目是:设计并实现一个电子琴弹奏一段无节奏乐曲。
自己选用芯片和其它的硬件。
自行设计电路并使用汇编语言编写程序完成音乐电子琴弹奏功能。
利用8253作为音阶频率发生器,从中了解电子琴弹奏的原理。
利用8253A和PC机,设计并实现简易电子琴弹奏。
使用汇编语言编写电子琴弹奏程序。
上机调试程序并联机,利用试验箱提供的扬声器发声。
完成实验报告。
二、总体设计
在本次课程设计中,根据复杂程序设计思想——模块化设计、分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体如下)。
程序设计的思路按以下顺序进行:
分析与确定程序总体设计目标
将总目标划分为若干模块
定义每个模块的具体任务,明确它与其他模块间的通信方式
编写源程序,进行调试
模块连接,形成完整的程序
编写程序文档
三、硬件设计
1、具体硬件设计
音乐播放器用到相关硬件:(-598JH+微机仿真实验系统实现)
定时/计数器8253A
扬声器和喇叭驱动模块
频率发生芯片74LS393
硬件连接:
。
。
。
→T。
。
,按SCAL键,输入18F0,按EXEC键,显P.,按1、2……7键,依次发出1、2……7音调声。
图3-1硬件连接框架图
图3-2 扬声器电路
图3-3 扬声器J5插口
如图3-2为音响电路的控制输入插口SIN,控制输入信号经放大后接喇叭。
图3-4 74LS393引脚图
2、设备介绍
1、定时/计数器8253A
在微机及控制系统中,经常要用到定时信号。如系统的日历时钟,动态存储器刷新。对外部执行机构控制时也需要定时中断、定时检测、定时查询等。定时的方法主要是两种:
软件定时:利用指令的执行时间设计循环程序,使CPU 执行延迟子程序的时间就是定时时间。缺点:执行延迟时,CPU 一直被占用,降低了CPU 的效率。
硬件定时:用计数器/定时器作为主要硬件,在软件简单指令的控制下产生精确的时间
延迟。突出优点为计数时不占用CPU 时间,如利用定时器/计数器产生中断信号,可建立多作业环境,提高了CPU 效率。
主要功能:
(1)每片上有3 个独立的16 位的减计数器通道。
(2)对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进制或十进制来计数。
(3)每个通道都有6 种工作方式,都可以通过程序设置或改变。
(4)每个计数器的速率可高达2MHz。。
2、8253A内部结构
8253的内部结构如图所示,它主要包括以下几个主要部分:
图3-6 8253的内部结构
(1)数据总线缓冲器
实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。
(2)读/写控制逻辑
控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。
(3)控制字寄存器
在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。
(4)计数通道0#、1#、2#:
这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,一个