微机原理与接口技术8254电子发声器_课程设计_by
- 格式:doc
- 大小:145.50 KB
- 文档页数:7
利用8254设计音乐播放器程兴安庆师范学院物理与电气工程学院安徽安庆 246011指导老师:刘娟摘要:本课题主要是通过汇编语言用软件编程的方法实现简单的音乐播放功能。
通过在《微机原理与接口技术》课程上所学的汇编知识和8253/8254芯片相关知识,用汇编程序完成键控音乐播放的,用8253/8254定时器来产生声音。
8254和8255是计算机中经常使用的两块芯片,在计算机中担负着相当重要的作用,8254用作计数器,8255可作为接口芯片。
这两块芯片可以通过汇编语言编程写入,改变它们的工作状态,实现某些特别的功能。
本文即是通过对它们的编程实现对计算机扬声器的控制,利用硬件直接播放音乐。
该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示关键词:汇编语言,音乐播放器,8253/8254定时器一、课程设计的目的和意义利用8254作为音阶频率发生器,应先对至少两段音乐进行编码后存入音符表,并建立好音阶表,每段音符长度不能少于60个,每首连续播放3遍后,自动播放下一段音乐,几段音乐播完后,循环播放,直到有键盘输入任意字符时停止,并且使用8255作为控制开关的并行输入接口,输入开关选择的音乐控制信号。
通过对电子音乐播放器的设计,从电路到汇编代码,再到对程序的调试,有助于对这些接口芯片的工作原理的理解。
同时在调试过程中对不同音阶进行调试,加深了对发声原理的理解与掌握。
从8286CPU到8255并行接口再到8254可编程计数器的使用原来和连接方法进行深入的学习,关于8255和8254相应的程序控制字进行了理解与掌握,基本熟悉了其相关的用法,在把理论知识用在了实际问题的解答之中,进一步学会了怎么将理论与实践结合起来解决问题。
二、基础理论知识2.1、8254功能1、内部结构:如图1所示,8254内部包含数据总线缓冲器、读/写控制逻辑、控制字寄存器和3个结构完全相同的计数器,这三个计数器分别称为计数器0,计数器1和计数器2。
《微机原理与接口技术》课程设计电气与自动化工程系 通信工程院 系:专 业: 年级班级: 学 号: 姓 名: 指导教师: 设计日期:一、设计目的用汇编语言独立完成一个程序,以达到熟练运用汇编语言编程实现加、减、乘、除的计算二、功能分析(1)开发环境:硬件:IBM PC机及其系列机ACSII键盘单色显示器或者彩色显示器软件:1M内存的硬盘或者1个软盘MASM是汇编语言开发环境下的。
汇编语言的特点:1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计2.保持了机器语言的优点,具有直接和简捷的特点。
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/ O端口等。
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5.经常与高级语言配合使用,应用十分广泛。
(2)总体设计功能系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。
根据功能需求来创建应用程序。
本设计的功能如下:1、输入2个数,先判断是加减运算还是乘除运算,再进行计算2、判断符号是否为运算符3、回车为换行符4、用十进制或十六进制输出运算结果(3)详细设计功能1、主程序功能:对两个数的加减乘除四则运算设置2、子程序功能:分别判断是加减还是乘除的运算输出运算结果三、调试和运行程序(1)调试程序:该汇编编译环境是MasmEdit,是一个集成开发环境,编译,链接,运行全部集成在一起。
程序编好后,直接点汇编按钮,就会提示你有无错误,刚刚编好第一次汇编时,出现了好多错误,其中很大一部分是编写代码时不小心,打字出现的错,其中,分号的错误是致命的,它让汇编无法进行,不能用中文输入法打的注释分号,要用英文。
参考网上的通讯录程序,在改了几天的代码后界面终于出现,但感觉界面不怎么友好,又改了一下界面和光标位置。
(2)运行程序执行时,需在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下:c:\masm>js 3+25c:\masm>js 6*72Ac:\masm>js 10-46c:\masm>js 12/34四、总结第一次真正的感觉到自己是学计算机专业的,第一次真正自己完成一个大型的程序,刚开始拿到汇编程序设计题的时候确实有点儿兴奋,心想着一定要独立快速而又高质量的完成这个程序。
《微机原理》课程设计说明书_键盘电子乐器武汉理工大学《微机原理》课程设计说明书课程设计任务书学生姓名: 专业班级: 电气0805班指导教师: 工作单位: 自动化学院题目: 键盘电子乐器初始条件:掌握汇编语言程序设计方法,所设计的程序运行后可通过键盘控制,满足系统功能,并实现该系统设计方案。
在DOS,windows,汇编软件环境下运行。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.设计一个用键盘演奏音乐的程序,计时器系统设计编程定时输出――电子音调,用pc机内部8253time~使扬声器发声。
用汇编语言对8253进行编程,使其OUT0上输出一定的频率,将其一定频率输出到喇叭上,演奏出不同的音节。
pc机的数字键(1,7)作为电子音调的音调选择2. 课程设计说明书应包括:a)设计任务及要求b)方案比较及认证c)程序设计基本思想,程序流程图,部分源程序及注解d)调试记录及结果分析e)参考资料f)附录:全部源程序清单g)总结时间安排:2011年元月07日--元月09日选题、查阅资料和方案设计 2011年元月10日--元月14日编程2011年元月15日--元月16日调试程序,改进与提高2011年元月17日撰写课程设计报告(有调试过程及结果的截屏) 2011年元月18日答辩和交课程设计报告指导教师签名: 2011 年元月 6 日系主任(或责任教师)签名: 年月日1武汉理工大学《微机原理》课程设计说明书摘要利用PC上的定时/计数芯片8253A控制PC扬声器发声。
编写内核模块,直接操作扬声器相关端口,或字符设备驱动,供应用程序调用,用键盘使其发出不同的声音。
关键字:8253 定时器中断2武汉理工大学《微机原理》课程设计说明书目录1. 方案比较 ....................................... 42.芯片介绍 (4)2.1 8255芯片简述 (4)2.1.1 8255三种方式下工作 (4)2.2 8253芯片简述 (5)2.2.1 8253六种工作方式 ........................ 63.通用发声程序 ..................................... 7 4.音调与频率和时间的关系 ........................... 11 附录 (13)附录一: (13)附录二: (14)附录三: (26)附录四: (27)附录五: ...................................... 32 参考文献 (33)3武汉理工大学《微机原理》课程设计说明书键盘电子乐器1.方案比较1.1 发声程序循环优点:简单,易于思维缺点:程序过于长,比较繁琐1.2 调用宏,进行发声优点:程序短缺点:不易想到2.芯片介绍2.1 8255芯片简述8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,+5V单电源供电。
8254课程设计一、课程目标知识目标:1. 让学生掌握8254可编程定时器/计数器的基本工作原理及其在微机系统中的应用。
2. 能够理解并描述8254的内部结构,掌握其编程模型和寄存器功能。
3. 学会使用8254进行定时和计数的基本方法,并能够运用到实际的编程实践中。
技能目标:1. 培养学生通过查阅资料、小组讨论等方式独立解决问题的能力。
2. 提高学生运用8254进行程序设计的实践操作技能,培养学生编写精确、高效的程序代码的能力。
3. 通过实验操作,增强学生的动手能力,培养学生对硬件操作的兴趣。
情感态度价值观目标:1. 激发学生对计算机硬件知识的探究欲望,培养学生的科学精神和创新意识。
2. 培养学生良好的团队合作意识,让学生在小组合作中学会相互尊重、相互支持。
3. 引导学生认识到硬件知识在实际应用中的重要性,提高学生对计算机技术的热爱和责任感。
课程性质:本课程属于计算机硬件基础知识的范畴,以实践操作为主,理论讲解为辅。
学生特点:学生处于高年级阶段,具有一定的计算机硬件知识和编程基础,具备独立思考和解决问题的能力。
教学要求:结合学生的特点,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实践操作能力和创新意识。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容本章节教学内容将围绕8254可编程定时器/计数器的原理与应用展开,内容包括:1. 8254内部结构及工作原理:介绍8254的内部组成,包括计数器、控制寄存器等,讲解其工作原理。
2. 8254编程模型:详细讲解8254的编程模型,包括计数器模式、计数器控制字等,使学生了解如何对8254进行编程。
3. 8254寄存器功能:分析8254各个寄存器的功能,包括计数器值寄存器、控制寄存器等,使学生掌握各个寄存器的作用。
4. 定时器/计数器应用实例:通过实际案例,展示8254在定时和计数方面的应用,让学生了解其在实际编程中的使用方法。
课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。
具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。
警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。
根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。
设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。
在设计发声报警时利用了8253可编程定时记数器。
在设计发光报警时利用了8255芯片。
在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。
三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。
当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。
众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。
这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。
随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。
随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。
并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。
8254的引脚
(1)D7~D0:双向、三态数据线引脚,及系统的数据线连接,传送控制、数据及状态信息。
(2)RD:来自于CPU的读控制信号输入引脚,低电平有效。
(3)WR:来自于CPU的写控制信号输入引脚,低电平有效。
(4)CS:芯片选择信号输入引脚,低电平有效。
(5)A1、A0:地址信号输入引脚,用以选择8254芯片的通道及控制字寄存器。
(6).VCC及GND:+5V电源及接地引脚。
(7)CLKi: i=0,1,2,第i个通道的计数脉冲输入引脚,8254规定,加在CLK引脚的输入时钟信号的频率不得高于2.6MHZ,即时钟周期不能小于380ns。
(8)GATEi: i=0,1,2,第i个通道的门控信号输入引脚,门控信号的作用及通道的工作方式有关。
(9)OUTi:i=0,1,2,第i个通道的定时/计数到信号输出引脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU发出的中断请求信号。
2.3 8254端口地址。
计算机硬件技术基础8254定时器/计数器设计实验—电子发声设计航空航天 083614 孙诚骁 083605 李嘉骞一、实验目的学习用8254定时/计数器是扬声器发声的编程方法。
二、实验设备PC 微机一台、TD-PIT 实验系统一套。
三、实验内容根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。
接线方法如下:四、实验所用芯片8254是Intel 公司生产的可编程间隔定时器。
它具有以下基本功能:(1)有3个独立的16位计数器;(2)每个计数器可接二进制或十进制(BCD )计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高频率为10MHZ ;(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为n=f(clki)/f(outi),其中f(clki)是输入时钟脉冲的频率,f(outi)是输出波形的频率。
8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
CLK0 CLK0五、实验说明及步骤一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。
音符与频率对照关系见下表所示。
将一段乐曲的音符对应频率的方波依次送到扬声器,就可以发出这段乐曲的声音。
音符与频率对照表(单位:HZ)利用8254的方式三—“方波发生器”,将相应一种频率的计数初值写入计数器,就可以产生对应频率的方波。
计数初值的计算如下:计数初值=输入时钟÷输出频率例如输入时钟采用系统总线上CLK(1.04166MHZ),要得到800HZ的频率,计数初值即为104166/800.对于每一个音符的演奏时间,可以通过软件延时来处理。
《微机接口技术课程设计》设计报告题目:实时钟显示与定时控制设计专业:电子信息工程班级:XXXXXXX学号:XXXXXXXXX姓名:XXX指导老师:XXX设计时间:2013 年6 月19日到2013年6月25 号1.设计任务说明通过本课程设计,综合应用接口技术各汇编语言程序设计技术,在PC 机上实现时钟显示、定时和响铃,以提高接口、汇编技术的应用能力。
2. 总体设计(1). 利用BIOS 和DOS 的系统功能调用,能将计算机系统的日期和时间读出并显示出来。
(2). 用“时:分:秒”(都是两位)的形式连续显示系统时间。
(3).利用定时接口芯片每秒钟响一次铃。
(4). 提示输入定时时间(即定时秒数),每经历指定的秒数,则演奏乐曲。
3. 详细设计模块描述:⑴.利用定时中断实现时钟显示。
当产生定时中断时(由8259A的IRQ0引起),CPU转入BIOS的08H 号中断处理程序,在该中断处理程序中是一条软中断指令“INT 1CH”,而在该软中断程序中只有一条IRET指令,这样系统每秒钟产生18.2次定时中断,调用18.2次INT 1CH,这为开发者提供了一个编写与时间有关的程序的软中断接口,上例的定时响铃就是借用这个软接口实现的。
其具体操作如下:①在时钟显示程序,截获1CH号中断,在新的1CH中断处理程序安排一个计数器,记录调用的次数,每18次(约一秒钟)显示一次当前时间。
②利用BOIS的1AH号中断的0号功能,读取当前计时器的数值:入口参数:AH=02H执行: INT 1AH出口参数:AL=午夜信号,CH=时的BCD码,CL=分的BCD码,DH=秒的BCD 码③利用BIOS的10H号中断的13H号功能,实现在屏幕的右上角显示时间。
④在主程序中要保存原1CH号中断的中断向量,并设置新的时钟显示中断程序的中断向量,然后作其它工作,如调用BIOS的键盘中断INT 16H 的0号功能,等待用户按键盘,也就是等待中断的发生,并在屏幕右上角显示时间……,当用户按键后,主程序工作完成后,恢复原1CH中断向量。
东华理工大学长江学院微机接口课程设计报告报告题目:利用8253控制扬声器发声设计目录1. 课程设计的内容 (1)2. 课程设计的要求 (1)3. 设计思想 (2)4. 硬件电路 (3)5. 软件设计 (5)6. 心得体会 (7)7. 参考文献 (8)一.课程设计的内容1. 根据给定要求设计硬件电路的原理图,并用导线连接元器件。
2. 根据给定要求设计要求功能的程序,并检查程序是否合理完整。
3. 通电,将程序在计算机上先调试,而后再装载,并运行该程序。
4. 观察实验结果,看是否能达到给定要求。
5. 总结实验中的问题,并分析与讨论。
完成课程设计的实验报告。
二.课程设计的要求1. 熟悉实验中硬件和软件设备,并能熟练使用这些设备。
2. 学会如何用软件控制试验箱。
3. 熟悉实验的硬件环境以及软件环境。
4. 学会通过配置的硬件设备完成本次试验。
5. 学会8253芯片和微机接口的原理和方法。
6. 掌握8253的工作方式和编程原理,熟悉它的控制字的设置和端口地址的寻找。
三.设计思想本实验采用的是以8086微处理器作为CPU,输入8MHz 的频率,而后利用双4位二进制计数器74LS393进行分频,使其输出一个1MHz的频率。
用8253作为定时计数器产生时钟频率,最后输出给定的频率要求20KHz。
在本次实验中,74LS393的作用是将输入系统的高频信号源8MHz分成低频信号1MHz输入到8253中。
将8MHz高频信号通过导线输入到74LS393的T输入端,然后从T2输出端输出1MHz的低频信号。
而8253的功能就是定时计数,输出要求给定的频率20KHz,再将输出的信号通过导线输入到音频放大器里,最后再将输出的信号通过导线输入到喇叭里。
由于要求是产生声音的不同,且要输出方波信号,故要求8253利用到两个计数器,计数器0和计数器1,工作于方式3,以及采用二进制和16位计数,先读/写计数器低位字节,后读/写计数器高位字节。
摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机控制系统以8088作为控制的核心元件,利用8255的A口控制步进电机,C口连接K0-K7,以选取不同档的移动速度,同时获取控制转动方向(即正转和反转).本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、正向加速、反向加速等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力关键字:步进电机;8086CPU;8255可编程I/O接口芯片;汇编语言目录摘要 (1)1.1步进电机转动控制的设计要求与设计方案1.2步进电机转动控制的要求与功能 (3)1.3总体设计方案 (3)一、步进电机转动控制设计的硬件设计二、 2.1步进电机转动控制的硬件框图 (4)2.2 步进电机驱动原理 (4)三、步进电机转动控制软件设计3.1 主程序流程图 (6)3.2 8255初始化 (7)四、步进电机硬/软件的调试4.1 硬件调试 (8)4.2 软件调试 (8)4.3 调试过程 (8)五、设计总结 (9)附录一 (10)一、步进电机控制的设计要求与设计方案1.1步进电机转动控制的要求与功能使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实现两个以上功能)1.启动与停止控制:用户拨动某一指定键后可以实现电机的启动与停止的控制2.方向的控制:用户将某一指定键拨向上可以实现电机的正转,拨向下实现电机的反转3.速度的控制:用户将另一指定键拨向上可以实现电机的加速转动,拨向下实现电机的减速转动4.综合控制:用户一起拨动上述的按键后可以实现电机的加速正转,减速反转等操作;1.2总体设计方案选用TN88\86实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A 芯片单元模块、步进电机单元模块。
精品文档微机原理与接口技术实验电子发声系统设计【实验目的】(1) . 掌握8254 接口电路的连接方法,懂得分频数据对发生频率的影响。
(2) . 掌握应用汇编语言控制8254 使扬声器发声的程序设计的方法步骤。
【实验仪器】PC微机一台、TD-PIT+实验系统一套。
【实验内容】连接电子发声电路,根据实验提供的音乐频率表和时间表,编程控制8254,使其输出并驱动扬声器发出相应的乐曲。
编程演奏《友谊地久天长》。
(1)确认实验系统与PC机的连线已接通。
(2)设计连接实验电路。
(3)运用PIT端口资源工具(CHEC程序),查看I/O片选端口始地址。
( 4)编程并编译、链接。
运行程序,听扬声器发音是否正确。
【程序的数据处理】DATA SEGMENTFREQ_LIST DW 371,495,495,495,624,556,495,556,624 ; 频率表DW 495,495,624,742,833,833,833,742,624DW 624,495,556,495,556,624,495,416,416,371DW 495,833,742,624,624,495,556,495,556,833DW 742,624,624,742,833,990,742,624,624,495DW 556,495,556,624,495,416,416,371,495,0TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ; 时间表DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2,4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12DATA ENDS【上机实验报告】1.上机实验所用的设备(型号或规格),实验环境条件。
电子音乐播放器一、课程设计的目的和意义学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求利用8254作为音阶频率发生器,应先对至少两段音乐进行编码后存入音符表,并建立好音阶表,每段音符长度不能少于60个,每首连续播放3遍后,自动播放下一段音乐,几段音乐播完后,循环播放,直到有键盘输入任意字符时停止,并且使用8255作为控制开关的并行输入接口,输入开关选择的音乐控制信号。
三、设计总框图四、设计设计思路说明:电子音乐播放器属于接口电路的连接使用,本设计是以8254芯片为核心的发生系统。
8086CPU 在形成系统总线后,通过和8254及8255的连接使用可以很好的驱动扬声器发音。
系统初始化后,8255通过B 通道,从控制开关读取所需的控制字,并送入8086CPU 中进行判断,选择不同的播放音乐。
使8254的通过0号计数器工作在“频率发生器”方式3,向发生器发出不同频率的方波。
当给定不同的计数初值时可以使扬声器发出不同频率的音响。
五、程序流程图开始 读取音符频率是1H 吗? N 是2H 吗? N 是4H 吗? Y Y N 键盘是否输入? 结束播放song1 播放song2 播放song3 Y N Y播放音乐 读取选择信号 CX=0 N Y六、接口电路原理图1、8254的基本知识8254占用4个端口,3个定时器各占1个,控制端口占1 个。
8254的内部结构如图所示,它主要包括以下几个主要部分:8254的内部结构(1).数据总线缓冲器实现8254与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8254的控制信息、数据信息以及CPU从8254读取的状态信息,包括某时刻的实时计数值。
成绩:课程设计报告学院:题目:电子音乐专业:---------------班级:姓名:学号:指导教师:实验时间:电子音乐1.设计题目分析8254和8255是计算机中经常使用的两块芯片,在计算机中担负着相当重要的作用,8254 用作计数器,8255 可作为接口芯片。
这两块芯片可以通过汇编语言编程写入,改变它们的工作状态,实现某些特别的功能。
本课题是作为扬声器发声基准时钟,8254计数器0设置为工作方式3,用信号源1MHZ驱动扬声器产生音乐。
2.总体方案设计分析1、8254和 8255的连接。
(1)8254:计数器,用于产生一定频率的波形,是音频信号的来源。
其中芯片是否工作取决于其片选信号GATE0,输出的频率大小受控于编程时写入的计数器初值。
(2)8255:通用可编程并口芯片,这里用来做两个开关:一是用于控制与门,二是控制8254 的GATE0 引脚从而控制它的输出。
只有两个开关同时打开,扬声器才有可能发声。
(3)扬声器的驱动。
从结构图上可以看出,要使扬声器发出声音,需要满足以下几个条件:一是 8255 的 D0 和D1位必须置1,从而打开开关二是8254必须输出满足音频频率的波形。
只要通过对这两个芯片编程,控制其状态,使它们满足了这两个条件,扬声器就可以发声了。
2、系统中几个关键部分的实现。
(1)声音频率的变化。
声音频率的变化主要利用8254实现。
8254是在 PC/AT 以及以后系统中使用的一块可编程计数器。
该芯片包含3个独立但结构相同的计数电路,分别被称为0#、1#、2#计数器。
8254 占用 4 个地址,在 PC 机中的地址为40H~43H,其中 43H 对应 8254 的控制字,40H~42H 分别对应0#~3#计数器。
在 PC 机中,主要利用8254的2#计数器功能。
2#计数器是产生音频信号的关键器件,它的CLK0端为时钟输入信号,接入了 1MHz 的固定重复频率脉冲,在GATE0 端加入高电平且将 0#计数器设置为工作方式3,在 OUT0端口即可输出一定频率的方波,其频率为1MHz除以置入的计数分频初值。
《微机原理与接口技术》课程设计报告摘要《微机原理与接口技术》课程是理工科学生一门重要的专业课程,且实践性较强。
对于电气工程及其自动化专业的学生尤其重要。
此课程的课程设计是对学生的一种基本素质训练的较好形式,可以通过课程设计加强学生的实践能力、动手能力和学习能力。
将所学的理论知识和实际情况结合起来,从而制定了多功能音乐电子琴系统这一题目。
如今经济的飞速发展使得城市的建设逐渐走向科学化、智能化。
其中各种功能的融合整合,现在成为技术发展的主流趋势。
我们把音乐播放器、音乐电子琴进行改造,使电机同步转动智能化的整合。
在为期一周的课程设计期间,我们将利用所学的《微机原理与接口技术》知识,模拟简单音乐播放器和电子琴智能化整合的控制系统。
运用了各类芯片及硬件实现了常规音乐播放及电子琴按键放音模式,调试过程正常,并按计划实现了既定目标。
目录一、课程设计任务 (1)1.课题选择 (1)二、总体设计方案 (2)三、各部分电路设计及功能解说 (3)3.1、放音模块 (3)3.2、日期显示模块 (3)3.3、音乐电子琴模拟及控制模块 (4)四、硬件接线图 (6)五、软件流程图 (7)六、各程序段功能汇总 (8)七、实验结果及分析 (9)八、实验总结 (10)九、参考文献 (11)附录一、程序清单 (12)一,课程设计任务1,课题选择——多功能音乐电子琴播放器出于对音乐的喜爱,以及对软硬件实现音乐播放原理的好奇,制定了音乐彩灯这一设计课题,基本内容如下:利用定时电路与并行接口演奏一首乐曲,并点亮不同色彩的发光二极管,要求随着乐曲的节拍或旋律使发光二极管有节奏地变化。
把乐曲的音符,节拍及发光二极管驱动码制成表格,当需要更换乐曲时只需改变此表格。
在此基础功能上,创造性的加入了选歌功能,可通过按键选择不同歌曲播放。
电子琴功能,可通过七个按键演奏七个不同的音符。
一、总体设计方案整个实验内容依据Star ES8688试验箱为中心进行展开,充分利用已有的芯片,尽可能的达到预期的效果:(1)采用8086为控制器为控制核心;(2)采用8255接口芯片控制音乐模式选择,按键输入输出,及LED灯相应。
一.实验名称:发声器
二.功能及使用方法:
设计一个电子琴发声程序,并在运行时通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。
并在实验箱上的发声器上发声,这肯定需要有发声程序,驱动发声程序,还有键盘扫描程序,及为了能够听见清脆的字符音还得对程序进行必要的延时。
利用8254芯片所提供转化后的频率送到发声单元进行发声及8255芯片送提供的输入输出功能,来完成从键盘的输入到发声装置发声的控制。
电子发声原理:
一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。
将一段乐曲的音符对应频率的方波一次送到扬声器,就可以演奏出这段乐曲。
利用8254的“方波发生器”,将相应的一种频率的计数初值写入计数器,就可以产生对应频率的方波。
计数初值的计算如下:
计数初值= 输入时钟\输出频率
例如输入时钟采用1MHZ,要得到800HZ的频率,计数初值即为1000000/800。
音符与表的对照关系如上表所示。
对于每一个音符的演奏时间,可以通过软件延时来处理。
首先确定单位延时子程序(根据CPU的频率不同而有所变化)。
然后确定每个音符演奏需要几个单位延时,将此值送入寄存器,再调用延时子程序即可。
三.实验器件:
通过实验箱上的扬声器发声,并且当按下数字1~14时,依次发出1,2,3,4,5,6,7的低音和1,2,3,4,5,6,7的中音。
并在实验箱上的发声器上发声。
选用器件:
8254和8255芯片各一片,微机一台,TPC-H通用微机接口实验系统一台,扬声器和导线若干四.电路连接图:
8254部分接线图
8255部分接线图
五.各子程序功能
1.为8255和8254所定义的端口地址:
I0Y0 EQU 06C0H
MY8254_COUNT0 EQU I0Y0+00H
MY8254_COUNT1 EQU I0Y0+02H
MY8254_COUNT2 EQU I0Y0+04H
MY8254_MODE EQU I0Y0+06H
MY8255_A EQU 0640H
MY8255_B EQU 0642H
MY8255_C EQU 0644H
MY8255_MODE EQU 0646H
2..频率表及所对应的时间表:
FREQ_LIST DW 262H,294H,330H,349H,392H,440H,496H
DW 523H,587H,659H,698H,784H,880H,988H DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
3.定义8255和8254的控制字
MOV DX,MY8255_MODE
MOV AL,81H
OUT DX,AL
MOV DX,MY8254_MODE
MOV AL,36H
OUT DX,AL
SCAN子程序实现取出按键值并输入A口(清屏子程序)
CCSCAN:MOV AL,00H
MOV DX,MY8255_A
OUT DX,AL
MOV DX,MY8255_C
IN AL,DX
NOT AL
AND AL,0FH
RET
5.Play输出发音的子程序
PLAY PROC
MOV AH,0
MOV SI,AX
SHL SI,1
MOV DX,0FH
MOV AX,4240H
DIV WORD PTR [SI]
MOV DX,MY8254_COUNT0
OUT DX,AL
MOV AL,AH
OUT DX,AL
RET
PLAY ENDP
6.延时子程序
DALL Y PROC
D0: MOV CX,0010H
D1: MOV AX,02H
D2: DEC AX
JNZ D2
LOOP D1
DEC DL
JNZ D0
RET
DALL Y ENDP
7.按键扫描功能
COLUM:
MOV AL,CH
MOV DX,MY8255_A
OUT DX,AL
MOV DX,MY8255_C
IN AL,DX。