音乐播放器设计与仿真
毕业论文-基于QT的音乐播放器设计与实现

基于QT的音乐播放器设计与实现摘要音乐作为一种娱乐性质的产品,从古到今一直受人喜爱。
进入信息社会,音乐的传播越来越广,应对大众对音乐的需求,市场上出现了大量的音乐播放软件,其中包括千千静听、酷狗等众所周知的产品。
同时随着电子技术的不断发展,各种智能设备的出现,使得不同设备都需要音乐播放器软件。
QT作为一种跨平台开发框架,可以轻松开发适应各种平台的软件,而且丰富的代码库和方便的界面设计过程使得开发成本低,而本软件的实现正是基于QT。
本音乐播放器主要完成音乐播放与暂停、歌词同步、创建音乐列表、播放上一首和下一首、调节音量、播放模式、添加删除歌曲、窗口的拖动、主流音频格式的播放支持等功能。
目前系统实现所采用的技术为QT与C++。
关键词:音乐播放器,QT,C++MusicPlayer based on QT design and implementationAbstractMusic as a kind of entertainment products, has been popular from ancient times to the present. In the information society, the spread of music is becoming more and more popular,demand for music to the public, the market appeared a large number of music player software, including TT Player, cool dog, as everyone knows the product. At the same time,with the development of electronic technology, the emergence of various smart devices, so that different devices need music player software. QT is a cross platform development framework, can easily adapt to the development of a variety of platforms, but also enrich thecode base and convenient interface design process so that the development of low cost, and the realization of the software is based on QT.The music player is mainly to complete the music playback and pause, synchronous lyrics,music play list, create a song and the next song, adjust volume, play mode, add and deletesongs, drag the window, the mainstream audio format support and other functions.The current system implementation techniques used for QT and C++.Key Words: MusicPlayer,C++,QT目录第一章引言 (1)1.1 研究现状 (1)1.2 主要研究的目的及内容 (1)1.3 研究方法及设计思路 (2)1.3.1 研究方法 (2)1.3.2 设计思路 (3)第二章应用需求分析与可行性分析 (4)2.1 应用需求分析 (4)2.2 运行需求分析 (4)2.3 其他需求分析 (4)2.4 可行性分析 (4)2.4.1经济可行性 (4)2.4.2技术可行性 (5)2.4.3 运行可行性 (5)2.4.4 时间可行性 (5)2.4.5 法律可行性: (5)第三章相关技术简介 (6)3.1 C++ (6)3.2 QT (7)3.3 音乐播放原理 (7)第四章系统分析 (9)4.1 系统实现目标 (9)4.2 系统体系结构 (9)第五章系统设计 (11)5.1 概要设计 (11)5.2 软件结构设计 (11)5.3 详细设计 (11)5.3.1 歌曲列表显示 (11)5.3.2 歌词同步功能 (14)5.3.3 播放控制 (15)5.4 主要技术实现 (17)5.4.1 播放类QMediaPlayer的使用 (17)5.4.2 播放列表QMediaPlaylist (18)第六章测试 (20)6.1 程序调试 (20)6.2 程序的测试 (20)6.2.1 测试的重要性及目的 (20)6.2.2 测试的步骤 (21)6.2.3 测试的主要内容 (22)6.3 本程序的测试情况 (23)6.3.1 主要测试用例 (23)6.3.2测试用例的实施 (23)结束语 (24)参考文献 (25)致谢 (26)附录 (27)第1章引言1.1 研究现状所谓音乐播放器可以说是把音频解码器进行可视化呈现,变成可以供人操作的图形画面,本质上是应用了各种音频编码格式的解码工具软件。
VHDL音乐播放器

洛阳理工学院课程设计报告课程名称 EDA技术与VHDL设计题目音乐播放器的设计与仿真专业通信工程班级 B1105学号 B1105姓名完成日期 2014年12月22日前言随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。
现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。
传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。
这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。
随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。
EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。
它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。
EDA技术主要有以下特征:(1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。
(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。
(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。
(4)可测性综合设计。
软件设计音乐播放器

软件综合设计项目题目音乐播放器的设计与实现所在学院专业、班级学生姓名任课教师2018 年 6月 10日目录1. 需求分析1.1 实验目的音乐播放器是一种用于播放各种音乐文件的播放软件。
它可以播放各种格式的音频文件,如Mp3、Wma、Video、Wave和AVI等。
多种格式的音频播放器已然博得了人们的喜爱。
在此次实验项目中,我们将综合运用《面向对象程序设计》课程基础理论知识,完成音乐播放器的设计与开发工作。
在实验项目的完成过程中,我们将熟悉Windows应用程序开发的基本流程;熟练掌握面向对象的分析和设计技术;熟练掌握面向对象语言的基本语法和高级特性。
本项目涉及的技术点如下:1.利用GDI技术绘制音乐信息;2.通过不规则按钮美化界面;3.通过Active Movie Control Object控件播放音乐。
1.2 硬件需求每人一台高性能计算机,要求2G以上内存、双核CPU或更高配置。
1.3 软件需求Windows XP或Windows 7操作系统安装了Microsoft Visual C++ 6.01.4软件功能本项目所实现的音乐播放器,在软件界面上实现了多种操作功能,包括打开(Open)、播放(Play)、暂停(Pause)、停止(Stop)、关闭(Close)、退出(Exit)、音量控制(Volume)、循环(Repeat)等,本项目还实现了对音乐状态、信息、播放时间、总时间等信息的显示功能。
为能够满足一般用户的需求,此音乐播放器能够实现打开格式为mpg; avi; wma; mov; wav; mp2; mp3的音乐文件,音乐的播放,暂停,上一首,下一首,在不同播放模式下的自动播放,搜索添加在文件中存在的歌曲等。
再者,界面的皮肤设置,透明度,不规则按钮的设计也是播放器制作的一大模块。
在开发过程中我们力求使此设计具有较强的实用性和灵活性,虽不具备“千千静听”那样强大全面的功能,但它外观简洁、操作简便、占内存小、可满足一般性的音乐需求。
基于Android系统的音乐播放器设计与实现

01 一、需求分析
目录
02 二、设计思路
03 三、实现步骤
04 四、注意事项
05 参考内容
内容摘要
随着移动设备的普及和Android操作系统的不断发展,基于Android系统的应 用程序开发也越来越受到。其中,音乐播放器作为手机用户的常用应用之一,其 设计和实现具有重要意义。本次演示将介绍一种基于Android系统的音乐播放器 设计和实现的方法。
三、具体实现
三、具体实现
1、登录功能:用户可以通过或第三方社交账号登录,并设置密码。登录后, 用户可以浏览自己的音乐库,以及搜索歌曲、歌手、专辑等;
三、具体实现
2、搜索功能:用户可以通过关键字搜索歌曲、歌手、专辑等,也可以通过分 类筛选;
3、播放功能:用户可以播放、暂停、调节音量、添加歌曲到播放列表、从播 放列表中删除歌曲等操作;
4、其他功能实现
4、其他功能实现
除了音乐播放和音频处理,音乐播放器还需要实现其他功能,如歌词显示、 播放控制、定时关机等。这些功能可以通过Android SDK提供的API和Java编程 语言来实现。例如,可以使用Java的线程和定时器技术来实现定时关机功能。
四、总结
四、总结
本次演示介绍了基于Android的音乐播放器设计与实现的基本内容和实现方法。 主要包括了音乐播放器的功能概述、设计思路和实现方法等方面的内容。通过这 些内容的介绍,希望能对大家有所帮助,让我们一起努力,为美好的音乐事业贡 献自己的力量!
三、实现步骤
2、界面设计:使用XML布局文件设计界面,包括主界面、播放列表界面、歌 曲详情界面等。
三、实现步骤
3、数据库设计:创建SQLite数据库,定义表结构并实现增删改查操作。 4、音频解码和播放:使用MediaPlayer类进行音频解码和播放,实现播放、 暂停、停止等功能。
单片机音乐播放器设计与仿真(

目录一、前言二、设计课题及要求三、控制任务及要求四、单片机的硬件设计五、单片机的软件设计及要求六、软件流程图七、程序设计八、模拟调试的过程和出现的问题分析九、调试程序所用的实验设备十、毕业设计体会十一、参考文献前言单片机自20世纪70年代问世以来,作为微型计算机的一个很重要的分支,应用非常广泛,已对人类社会产生了巨大的影响。
尤其是MCS-51系列的单片机,由于其具有集成度高、功能强、可靠性好、系统结构简单、价格低廉、易于扩展和使用等优点,在我国已得到广泛的应用并收到很好的成果。
虽然世界各大公司也有各种型号的高性能单片机问世,但MCS-51系列单片机仍然是我国在单片机应用领域的首选机型。
在这我以AT89C52单片机为基础设计音乐播放器。
一、设计课题及要求本次设计的是单片机控制的音乐播放器,要使单片机播放出一首音乐。
二、控制任务及要求在调控单片机时控制面板上的扩音器能放出音乐,能通过仿真软件实现程序的完整运行。
三、硬件设计(1)、确定机型可选用AT89C52单片机,晶振频率选择6HZ。
(2)、选择元器件根据系统要求,应具有蜂鸣器及驱动电路构成单片机音乐演奏器,拟选用蜂鸣器、LCD、三极管、电阻若干、电容若干。
(3)、硬件原理本系统通过AT89C52单片机的P1.1口控制几个9012PNP三极管、三极管、LCD、扩音器等控制电磁蜂鸣器的电源通断。
单片机控制的音乐播放器原理图:四、软件设计及要求(1)、声音三要素由于人耳听觉系统非常复杂,迄今为止人类对它的生理结构和听觉特性还不能从生理解剖角度完全解释清楚。
所以,对人耳听觉特性的研究目前仅限于在心理声学和语言声学。
人耳对不同强度、不同频率声音的听觉范围称为声域。
在人耳的声域范围内,声音听觉心理的主观感受主要有响度、音高、音色等特征和掩蔽效应、高频定位等特性。
其中响度、音高、音色可以在主观上用来描述具有振幅、频率和相位三个物理量的任何复杂的声音,故又称为声音“三要素”;而在多种音源场合,人耳掩蔽效应等特性更重要,它是心理声学的基础。
如何设计和开发一个在线音乐播放器?

如何设计和开发一个在线音乐播放器?在线音乐播放器是一种能够让用户通过网络在线播放音乐的应用程序。
设计和开发一个在线音乐播放器需要考虑用户体验、功能丰富性、稳定性和安全性等因素。
以下是设计和开发一个在线音乐播放器的步骤和注意事项。
1.确定需求和功能在设计和开发在线音乐播放器之前,首先要明确产品的需求和功能。
要考虑用户的基本需求,例如搜索音乐、播放音乐、创建播放列表等功能。
同时也可以考虑一些创新的功能,如歌词显示、音乐推荐、歌曲评论等功能,以提升用户体验。
2.设计UI界面UI界面是用户和应用程序进行交互的窗口,要设计清晰简洁、易于操作的界面。
可以考虑采用现代化的设计风格,如扁平化设计、响应式设计等,以适应不同设备和屏幕大小。
同时也要考虑到不同用户的喜好和习惯,设计出符合用户期望的界面。
3.开发后端功能在开发在线音乐播放器的后端功能时,需要考虑音乐存储、音乐播放、用户权限管理等功能。
可以选择合适的后端技术,如Node.js、Django、Spring等来构建后端服务。
同时也要考虑到数据安全和稳定性,保证音乐数据的完整性和可靠性。
4.开发前端功能在开发在线音乐播放器的前端功能时,需要考虑音乐搜索、音乐播放、播放列表管理等功能。
可以选择合适的前端技术,如React、Angular、Vue等来构建前端界面。
同时也要考虑页面性能和用户体验,优化页面加载速度和响应时间。
5.测试和优化在开发完成后,需要进行功能测试和性能优化,保证应用程序的稳定性和流畅性。
可以采用自动化测试工具和性能监控工具来进行测试和优化。
同时也要根据用户反馈和数据分析来进行界面和功能的优化,不断改进用户体验。
6.上线运营在应用程序开发完成后,可以选择将应用程序部署到云服务器或应用商店上线。
同时可以考虑推广和营销策略,吸引用户下载和使用应用程序。
同时也要关注用户的反馈和需求,不断更新和改进应用程序,提升用户满意度。
总结来说,设计和开发一个在线音乐播放器需要考虑用户需求、功能设计、界面设计、后端开发、前端开发、测试优化和上线运营等多个方面。
基于单片机的音乐播放器的仿真与制作

系列 以及各 种外 围芯 片 。
12 电 路 设 计 .
图1 示 是单 片 机音 乐 播放 器 的仿 真原 理 图 。 所
在 P o u 仿 真 软 件 中 。按 一 下 按 钮 ,蜂 鸣 器 即 可 rt s e
降低 成本 的 好办 法 ,但 是 仿真 毕 竟有 一 定 的 局 限
性 ,要 实 践 起 来 可 能 会 碰 到 一 些 问 题 。 为 此 ,本
文通 过 Poe s rtu 软件 对 用 A 8 S 2 片 机 播 放 音 乐 T95单 进 行 了仿 真 ,指 出了 实际 制作 过 程 中需 要 注 意 的
播 放音 乐 。 事 实 上 ,按 照 图 1 示 原 理 图来 焊 接 电路 , 所 其 结 果 可 能 没 有 任 何 效 果 。而 图2 示 才 是 单 片 所 机 音 乐 播 放 器 的 实 际 制作 电路 。 与 图 1 比 ,实 相 际 电路 多 了两 个 部分 :一是 单 片机 左 边最 小 系 统 所 需 的 电路 部 分 ,而 仿 真 软 件 中则 将 这 些 省 略 了 :另 一个 是 单 片机 右 边 多 了一个 三 极管 。之所 以要加 这 个三 极 管 .主 要是 为 了放 大 蜂 鸣器 的 驱 动 电 流 .而仿 真 软件 里 面所 有 的元 件 都是 理 想元 件 .所 以 .仿 真 能实 现 的效 果 ,实 际 做 出来 往 往 没 有效 果 。 因此 ,要 想 在实 际 中实 现 满 意 的效 果
行 仿 真 的 实现 方 法 。利 用 该 方 法 设 计 的 播 放 器 的 播 放 内容 和 歌 曲数 量 可 以 随 时 修 改 。
如何设计和开发一个在线音乐播放器?

如何设计和开发一个在线音乐播放器?设计和开发一个在线音乐播放器是一个复杂而又有趣的工程。
在这个数字化时代,人们对音乐的需求越来越高,传统的音乐播放器已经无法满足人们的需求,因此开发一个功能强大、用户体验良好的在线音乐播放器是非常必要的。
在本文中,我们将讨论如何设计和开发一个在线音乐播放器,从功能需求到技术实现,带你一步步了解整个开发过程。
第一步:确定功能需求在设计和开发任何一个产品之前,首先需要确定产品的功能需求。
对于在线音乐播放器来说,基本的功能需求包括:1.用户注册和登陆:用户可以通过注册账号和登陆来使用在线音乐播放器。
2.搜索和播放音乐:用户可以通过关键词搜索音乐,并且可以随时播放音乐。
3.创建音乐列表:用户可以创建自己喜欢的音乐列表,方便随时收听。
4.分享音乐:用户可以将自己喜欢的音乐分享给其他用户。
5.个性化推荐:根据用户的偏好,系统可以推荐相应的音乐给用户。
除了上述基本功能需求,还可以根据实际需求添加其他功能,比如:歌词显示、歌曲下载、多设备同步等。
第二步:系统架构设计确定了功能需求之后,接下来是设计系统架构。
在线音乐播放器的系统架构可以分为前端和后端两部分。
前端部分负责用户界面的展示和用户交互,包括:搜索音乐、播放音乐、创建音乐列表、分享音乐等功能。
前端可以采用HTML/CSS/JavaScript等技术来实现。
后端部分负责处理用户请求,管理数据库和实现业务逻辑,包括:用户注册与登陆、音乐搜索、音乐播放、用户推荐等功能。
后端可以选择使用Java/Python/Node.js等技术来实现。
另外,数据存储也是在线音乐播放器开发中需要考虑的重要因素。
音乐文件、用户信息、音乐列表等数据都需要进行存储和管理。
可以选择使用关系型数据库(如MySQL)或者NoSQL数据库(如MongoDB)来存储数据。
第三步:技术选型在确定了系统架构之后,接下来需要选择合适的技术来实现系统。
针对前端部分,可以选择HTML/CSS/JavaScript技术栈,也可以考虑使用Vue.js/React/Angular等前端框架来提高开发效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科信学院电子信息工程CDIO二级项目(2013/2014学年第二学期)题目:音乐播放器的设计与仿真专业班级:学生姓名:学号:指导教师:设计周数:设计成绩:目录题目:基于Proteus与8253、8255A、8086芯片的音乐播放器 (2)音乐播放器的设计与仿真 (2)1 设计目的 (2)2 设计正文 (2)2.1音乐播放器的设计原理 (2)2.2 8253、8255A以及CPU8086芯片介绍 (3)2.2.1芯片8253简介 (3)1、8253外部引脚介绍 (3)2、8253内部结构介绍 (4)3、8253作为定时器与计数器时的功能介绍 (6)4、方式选择控制字 (7)5、8253的工作方式 (7)2.2.2 芯片8255的介绍 (8)1、8255A外部引脚介绍 (8)2、8255A内部结构介绍 (10)3、8255的工作方式 (12)4、8255A控制字 (12)2.2.3 CPU 芯片8086介绍 (14)1、8086简介 (14)2、8086外部引脚介绍.............................................................................................14.3、8086内部结构介绍 (16)2.2.4音乐播放器的设计流程 (18)1、音乐播放器的总体设计流程图 (18)2、芯片间连接情况以及功能介绍 (19)3、程序设计的总体思路 (21)4、硬件连接电路图 (22)3.设计总结 (22)4.参考文献 (23)基于Proteus与8086、8253、8255芯片的音乐播放器1.设计目的◆掌握接口电路的应用和设计技术。
◆掌握汇编语言的设计思路。
◆学会针对不同的要求设计汇编程序代码。
◆掌握8086的控制流程,以及8255和8253芯片的功能。
◆用汇编程序完成键控音乐播放器的,用8253定时器来产生声音。
2.设计正文2.1音乐播放器的设计原理所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。
不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。
音乐播放器属于接口电路的连接使用,本设计是以8253芯片为核心的发生系统。
8086CPU在形成系统总线后,通过和8253及8255的连接使用可以很好的驱动扬声器发音。
系统初始化后,8255通过B通道,从控制开关读取所需的控制字,并送入8086CPU中进行判断,选择不同的播放音乐。
使8253的通过0号计数器工作在方式3,发出不同频率的方波。
当给定不同的计数初值时可以使扬声器发出不同频率的音响,并根据时间表播放不同的时间,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。
74LS373主要用于所存8086的输出地址。
因为8286引脚0-15是地址与数据复用的因此需要在8086输出地址后对地址进行所存以便更好地传输数据,经74LS373锁存后的地址信号可以在访问存储器操作期间始终保持不变,为外部提供稳定的地址信号。
由上可知本播放器的设计用到的主要芯片有CPU8086,计数器/定时器8253、I/O选择控制器8255A,地址锁存器74LS373。
2.2 8253、8255A以及CPU8086芯片介绍2.2.1 芯片8253简介在计算机应用系统中,计数与定时具有极其重要的作用,有时需要通过定时来实现某种操作,如定时中断、定时检测、定时扫描等;它需要某种外界事件进行计数。
实现定时的方法有两种:软件定时、不可编程的软件定时。
8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的结构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
1、8253外部引脚介绍8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图1所示。
8253芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,8253的外部引脚图如图1所示,各个引脚功能介绍如下:图 1 8253外部引脚图(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、8253内部结构介绍它由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个独立的16位计数器组成。
8253内部结构如图2所示图2 8253内部结构图(1)数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。
这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
(2)控制寄存器控制寄存器用来保存来着CPU的控制字。
每个计数器都有一个控制命令寄存器,用来保存该计数器的控制信息。
控制字将决定计数器的工作方式、计数器形式以及输出方式,亦决定计数器的工作方式、计数形式以及输出方式,亦决定如何装入计数初值。
8253的3个控制寄存器只占用一个地址号,而靠控制字的最高两位来决定将控制信息送入哪个计数器的控制寄存器中保存。
控制寄存器只能写入不能读出。
(3)读/写逻辑读/写逻辑的任务是接受来着CPU的控制信号,完成对8253内部的操作控制。
这些控制信号包括读信号/RD、写信号/WR、片选信号/CS以及用于片内寄存器寻址的地址信号A0、A1。
当片选信号有效,即/CS=0时,读写逻辑才能正常工作。
该控制逻辑根据读/写命令即送来的地址信息,决定3个计数器和控制寄存器中哪一个工作,并控制内部总线上数据传送的方向。
8253共占用4个I/O端口,CPU可对写操作。
这4个端口地址由最低2位地址码A1A0来选择。
如表一所示。
表一8253端口地址以及内部操作3、8253作为定时器与计数器时的功能介绍(1)作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。
OUT端将有输出。
表示计数次数到。
当某个通道用作定时器时。
由CLK输入一定频率的时钟脉冲。
根据要求定时的时间长短确定所需的计数值。
并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。
OUT将有输出,表示定时时间到。
允许从CLK输入的时钟频在1~2MHz范围内。
因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。
而后者是内时钟脉冲进行减“1”计数。
作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。
(2)作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:定时系数=需要定时的时间/时钟脉冲周期①设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;②计数/定时:向通道写入计数值,启动计数操作;③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。
④计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。
计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。
锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。
4、方式选择控制字8253的方式控制字如图3所示图3 8253的方式控制字5、8253的工作方式(1) 方式0:计数结束产生中断方式当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。
(2) 方式1:可编程单次脉冲方式当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。
(3) 方式2:频率发生器方式当初值装入时,OUT变为高;计数结束,OUT变为低。
该方式下如果计数未结束,但GA TE为低时,立即停止计数,强制OUT变高,当GATE再变高时,便启动一次新的计数周期。
(4) 方式3:方波发生器当装入初值后,在GA TE上升沿启动计数,OUT 输出高电平;当计数完成一半时,OUT输出低电平。
方式3与方式2的工作方式类似,也是在初始化完成后能重复循环计数,只是输出的波形不同。
(5)方式4:软件出发选通方式进入工作方式4,OUTi输出高电平。
装入计数值n后,如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUTi输出宽度为一个CLKi周期的负脉冲。
由软件装入的计数值只有一次有效,如果要继续操作,必须重新置入计数初值n。
如果在操作的过程中,GATE变为无效,则停止减“1”计数,到GA TE再次有效时,重新从初值开始减“1”计数。
(6)方式5:硬件触发方式计数进入工作方式5,OUTi输出高电平,硬件触发信号由GATE端引入。
因此,开始时GATE应输入为0,装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GATE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”,OUTi将输出负脉冲,其宽度固定为一个CLKi周期,表示定时时间到或计数次数到。
2.2.2 芯片8255的介绍8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
1、8255A外部引脚介绍8255A外部引脚图如图4所示图4 8255A外部引脚图RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。