微机原理与接口技术8254电子发声器_课程设计_by
论文利用8254设计音乐播放器设计报告

利用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课程设计

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实现在屏幕上显示相关的警报信息。
三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。
当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。
众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。
这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。
随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。
随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。
并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。
微机原理与接口技术 第04章 可编程定时器计数器8254PPT课件

4.1 概述
输出(分频) 输入脉冲
声音的产生:
对输出方波整形
变成正弦波,经放大处理接 到扬声器上,产生不同声音 的波形。
若选择标准输入脉冲, 例1KHz,则当输入1000个标 准输入脉冲,需要1s,则当 计数值为1000时数=要求定时的时间/时钟脉冲的周期
(4)控制字寄存器
控制字寄存器用来存放由CPU写入8254的方式选择控制字,由它 来定义8254中各通道的工作方式,其使用格式如下图所示。
接收CPU送入的读/写控制信号,并完成对芯片内部各功能 部件的控制功能,因此,它实际上是8254芯片的控制器。
读/写控制电路 可接收的控制信号如下:
A1A0——端口选择信号,由CPU输入。8254内部有3个独 立的通道和一个控制字寄存器,它们构成8254芯片的4个端 口,CPU可对3个通道进行读/写操作,对控制字寄存器进 行写操作。这4个端口地址由最低2位地址码A1A0来选择。 • A1A0 = 00 通道0 • A1A0 = 01 通道1 • A1A0 = 10 通道2 • A1A0 = 11 控制字寄存器
GATE作为各通道的门控信号,对于各种不同的工作方式,它所起的 作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保 证各通道的正常操作。
通道0~通道2 工作方式说明
当某 通道 用作计数器时,应将要求计数的次数预置到该通道 的计数器中,被计数的事件应以脉冲方式从CLKi端输入,每 输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”, OUTi端将有输出,表示计数次数到。
当某 通道 用作定时器时,由CLKi输入一定频率的时钟脉冲。 根据要求定时的时间长短确定所需的计数值,并预置到计数 器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值 计到“0”,OUTi将有输出,表示定时时间到。允许从CLKi输 入的时钟频率在1~2MHz范围内。
微机原理与接口课程设计报告简单音乐播放器

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定时器计数器设计实验-电子发声设计

计算机硬件技术基础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.对于每一个音符的演奏时间,可以通过软件延时来处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.实验名称:发声器
二.功能及使用方法:
设计一个电子琴发声程序,并在运行时通过实验箱上的扬声器发声,并且当按下数字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。