- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用8254设计音乐播放器 第 PAGE 15页,共 NUMPAGES 15页
利用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 8254内部结构图
2、工作方式:8254的每个通道都有6种不同的工作方式。
(1)方式0—计数结束中断方式(Interrupt on Terminal Count);
(2) 方式1—可编程单稳态输出方式(Programmable One-short);
(3)方式2—比率发生器(Rate Generator);
(4)方式3—方波发生器(Square Wave Generator);
(5)方式4—软件触发选通(Software Triggered Strobe);
(6)方式5—硬件触发选通(Hardware Triggered Strobe)。
对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。方式1用来产生单脉冲。方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。方式3用来产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。
这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道再次按此方式工作,必须重新装入计算值。对于方式2、3和5,在减1计数到0值后,8254会自动将计数值装进计数器。
3、方式控制:控制字寄存器是一种只写寄存器,在对8253进行编程时,由CPU输出指令向它写入控制字,来选定计数器通道,规定各计数器通道的工作方式,读写格式和数制。控制字的格式如下图所示。
0
0—二进制计数
1—十进制计数
00—选择计数器0
01—选择计数器1
10—选择计数器2
11—无效
00—计数器锁存,供CPU读
01—只读/写计数器低字节
10—只读/写计数器高字节
11—先读/写计数器低字节,
后读/写高字节
000—方式0
001—方式1
?10—方式2
?11—方式3
100—方式4
101—方式5
D0
D7
D6
D5
D4
D3
D2
D1
数制
工作方式
读写格式
计数器选择
表1 8253控制字格式
2.2、8255A功能
1、内部结构:如图2所示,8255A内部包含数据端口A、B、C(其中,C口
您可能关注的文档
- 苏教版一年级下册语文8小松树和大松树PPT课件.ppt
- 第五章借贷记账法下主要经济业务的财务处理.ppt
- 苏教版科学小学实验目录.doc
- 考研中国美术史笔记总.doc
- 苏教版一年级语文下册《这儿真好》PPT课件.ppt
- 英语国家社会与文化入门上册.doc
- 苏教版小学一年级下册数学课件《比较数的大小》.ppt
- 第6章电子商务物流配送.ppt
- 英语学习快速背单词方法技巧10天背诵英文10000单词.doc
- 美术课程与教学论教学大纲.doc
- QLS-QB-01-2024 YVFE4系列(IP55)变频三相异步电动机技术条件(机座号80~355).pdf
- TCI-工业炉窑用生物柴油.pdf
- THEBQIA-净化除酸型除湿加湿一体机.pdf
- DB62T4561-2022 绿色食品生姜生产技术规程.pdf
- 预包装兰州牛肉拉面包装技术编制说明.docx
- DB62T4334-2021 绿色食品陇东地区黄花菜生产技术规程.pdf
- DB64T1627-2019 日光温室基质栽培嫁接茄子平茬生产技术规程.pdf
- DB15T905-2015 河套灌区小麦膜下滴灌技术规程.pdf
- DB5202T044-2023电梯机房管理规范.pdf
- 预包装兰州牛肉拉面用兰州牛肉汤料包生产操作规范编制说明.docx
文档评论(0)