微机原理课程设计(电子琴)

合集下载

微机课程设计电子琴

微机课程设计电子琴

《微机实验及课程设计》课程设计报告电子琴***学专业:******枠实验室: 电工电子实验中心103设计时间:2009年5月30 B 2009 年6 月4 H 评定成绩:审阅教师:一.实验简介 (3)二.基本设计思想 (3)三.程序流程和程序实现 (3)四•测试方案和测试结果 (10)五.分析与总结 (10)一.实验简介目的:检验和提高我在原理与接口综合应用方而分析问题与解决问题的能力,同时也给我提供更多、更好的训练机会。

根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。

基本实验要求:构造一模拟/数字电子琴1、选择利用实验仪扬声器/PC机内8253驱动内扬声器与键盘1、2、3、4、5、6、7、8设计一个电子琴,通过按数字键响相应的乐符1、2、3、4、5、6、7、i,使能演奏简单的乐曲。

按1〜8数字键同时点亮相应的8个LED灯,使具有声、光效果;2、利用实验仪DAC和喇叭,软件控制上述功能。

选择机内还是实验仪由开矢设置,课随时切换:3、在8*8点阵上表示音节高低;4、精确显示从第一个键按下后的时间(单位秒,要求精确到0」秒,显示到秒)。

进一步设计要求:1、、能准确记录开始演奏到结朿演奏的时间,在八段码上显示;2、数字、模拟合奏,能同时指示音阶:3、自动录音,并具有回放功能(分两种水平、难易不等、即记录按键,同时记录按键和时间。

实现情况:实现基本实验要求的「3。

二.基本设计思想1、先分別设汁机内电子琴和实验仪电子琴。

机内电子琴参照实验五8253汁数器/左时器的选做与探索中使用PC机内8253驱动声音接口;实验仪电子琴参照实验中演示实验的电子琴流程图;2、再把两者结合起来,用一个高低电平作开矢控制是机内还是实验仪,可通过8255A 口输入,判断10 (二进制)则实验仪DAC, 00则机内喇叭;3、点阵显示。

根据输入的数字判断应显示点阵的哪一行。

具体可先把点阵的8列全选通,输入为1〜8某个数字时,判断显示相应的行:4、LED灯显示。

微机原理及应用电子琴课程设计

微机原理及应用电子琴课程设计

微机原理及应用电子琴课程设计第一篇:微机原理及应用电子琴课程设计科技学院微机原理及应用课程设计设计名称:设计模拟电子琴模拟指导老师:指导老师:-----设计者姓名:-----专业班级:自动化学号:----------设计时间:2012.6摘要:本文通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

输入部分:主要是由8255 和 8 个常开型开关来完成。

发音部分:CUP 通过对定时器 8253 的通道 2 进行编程,使其 I/O 寄存器接收一个控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以产生特殊的音响。

本文用到的是8253 的方式3——方波发生器。

关键词:关键词:8253 定时器;8255;电子琴1.引言引言:8253 芯片是常用的可编程计数器,在微机中有着极其重要的作用。

常用于事件计数器,单稳态触发器,分频器,方波发生器,硬件触发的单脉冲发生器等。

计数器/定时器8253 包括3 个独立的16 位计数器通道,而每个计数器都有 6 种工作方式,可以按二进制或十进制(BCD 码)进行计数。

本文用到的是 8253 的方式 3——方波发生器来实现了简易电子琴的设计。

2.1 8253 简介8253 为可编程定时/计数器,一片 8253 上有 3 个独立的 16 位计数器通道,可以作为定时器或计数器使用,每个计数器都可设定为按照二进制或BCD 码进行计数,计数速率可达2MHZ,每个计数器有6 种工作方式,可编程设置和改变。

如下图为 8253 的内部结构图。

在图中可以清楚地看到,8253 主要是由数据总线缓冲存储器,读写控制电路,控制字寄存器和 3 个通道 4 部分所组成。

8253 内部结构【1】(如图1 所示)及外部引脚【1】(如图2所示)图 1:8253 内部结构图图 2:8253 引脚图8253 的控制字和编程【1】如图 3 所示图 3:8253 控制字 2.8253 的工作方式 3——方波发生器【1】方式 3 的波形如图 4 所示,它的特点是:(1)输出为周期性的方波。

微机原理课程设计电子琴

微机原理课程设计电子琴
微机原理课程设计电子琴
一、教学内容ቤተ መጻሕፍቲ ባይዱ
本节课为微机原理课程的实践环节,选取《微机原理与应用》教材第七章“微机接口技术”及第十章“微机在仪器仪表中的应用”为理论依据,设计了一堂以“电子琴”制作为主体的课程。教学内容主要包括:1.微机与电子琴硬件接口原理,特别是I/O接口地址译码及编程;2.利用基本微机接口实现电子琴音调的控制,包括键盘扫描、音调发生器的使用;3.电子琴软件编程,通过编写简单的BIOS调用或DOS中断实现音色的播放与控制;4.熟悉并掌握电子琴的制作流程,包括电路设计、程序编写、调试与优化等。通过本节课的学习,学生将能理论与实践相结合,深入理解微机接口技术,增强动手能力与创新能力。
5、教学内容
本节课将是对电子琴项目的一个总结和应用拓展,教学内容如下:1.电子琴功能的创新设计,鼓励学生思考如何添加新的功能,如录音、播放、节奏伴奏等;2.介绍微机与其他外设的通信接口,如USB、蓝牙等,为电子琴的远程控制或数据传输打下基础;3.电子琴的电源管理设计,讲解如何为电子琴设计稳定的电源供应系统;4.实践电子琴的组装和外壳设计,提升学生的工业设计和实际动手能力;5.组织学生进行课堂展示和答辩,培养他们的表达能力和公众演讲技巧。通过本节内容的实践,学生将能够综合运用所学知识,发挥创造力,完成一个具有实用性和创新性的电子琴项目,并在此过程中提升自身的工程实践能力和团队合作精神。
2、教学内容
本节课进一步深化微机原理的应用,以“电子琴”项目为载体,教学内容具体包括:1.电子琴键盘布局设计与实现,让学生了解如何通过微机接口读取键盘输入;2.音阶生成算法介绍,探讨如何通过编程产生不同音调;3.利用微机定时器/计数器产生稳定的时钟信号,保证音色的准确性与连贯性;4.简单的乐曲编程与演奏,指导学生如何将音符组合成乐曲并进行演奏;5.电子琴功能的扩展,如增加音量控制、音色选择等,提高电子琴的交互性和趣味性。

电子琴微机课程设计

电子琴微机课程设计

电子琴微机课程设计一、课程目标知识目标:1. 学生能理解电子琴的基本结构和演奏原理;2. 学生能掌握电子琴常用的微机操作技巧,如音色选择、节奏设定等;3. 学生能熟悉并运用电子琴演奏中的基本音乐理论知识,如音阶、和弦等。

技能目标:1. 学生能熟练操作电子琴,进行简单的独奏和伴奏;2. 学生能运用微机功能创作简单的音乐作品;3. 学生能在团队协作中,与他人共同完成一首电子琴演奏作品。

情感态度价值观目标:1. 培养学生对电子琴音乐的兴趣和爱好,激发他们的学习热情;2. 培养学生具有合作精神,尊重他人,共同进步的团队意识;3. 培养学生具有创新意识,敢于尝试,勇于表现的音乐素养。

课程性质:本课程以实践操作为主,注重培养学生的动手能力和创新能力,结合音乐理论知识,提高学生的音乐素养。

学生特点:本课程面向具有一定音乐基础的小学高年级学生,他们对新鲜事物充满好奇,善于模仿,具有较好的学习积极性。

教学要求:教师应注重个体差异,因材施教,鼓励学生积极参与实践,注重课程内容的实用性和趣味性,提高学生的学习兴趣。

通过课程学习,使学生在掌握电子琴演奏技巧的同时,培养良好的情感态度和价值观。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 电子琴基础知识:介绍电子琴的结构、演奏原理、音色种类和功能操作。

- 教材章节:第一章 电子琴概述- 内容:电子琴的起源、发展;电子琴各部分功能及操作方法。

2. 基本音乐理论知识:学习音阶、和弦、节奏等基本音乐概念。

- 教材章节:第二章 音乐理论基础- 内容:大、小调音阶;三和弦、七和弦;常见节奏型及拍号。

3. 电子琴演奏技巧:学习电子琴演奏中的基本指法和演奏技巧。

- 教材章节:第三章 电子琴演奏技巧- 内容:指法练习;音色、节奏选择与切换;简单独奏曲练习。

4. 实践与创作:运用所学知识进行实际操作,创作简单的音乐作品。

- 教材章节:第四章 实践与创作- 内容:编配简单的伴奏;创作短小的音乐作品;团队协作完成演奏作品。

微机原理课程设计电子琴 自动化

微机原理课程设计电子琴 自动化

一、设计题目:简易电子琴设计二、设计内容:利用微机原理试验箱,设计简易电子琴。

三、设计目的:通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

四、设计要求:1.可以弹出7个音阶。

2.弹奏简短音乐。

3.通过改变键盘输入来改变8254输出频率,实现扬声器发音五、设计原理:音符与频率的关系如表所示,而持续时间则取决于乐曲的速度和每个音符持续的长短。

在拍号为4/4的乐曲中,每小节包含4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍等等。

根据乐曲进行速度,假设一个全音符分配1S时间,则每拍持续时间为250MS。

如果持续时间的最小单位是10MS,则相应的拍长时间数据为25,该数据存放在BX寄存器中,从而可以确定每个音符的持续时间。

六、元器件功能简介:1.8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。

RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

微机原理课程设计电子琴 (1)

微机原理课程设计电子琴 (1)

简单的电子琴设计1. 2.设计思路本周课程设计中,我们组的设计题目是简单的电子琴.得知这个题目后我们组讨论后确定了设计的流程.首先对8255芯片控制字进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行输入。

然后将8254芯片设置为工作在方式3,即输出对称方波状态。

A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。

本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。

并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。

其中音符与频率的关系如表所示,而持续时间则取决于乐曲的速度和每个音符持续的长短。

在拍号为4/4的乐曲中,每小节包含4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍等等。

根据乐曲进行速度,假设一个全音符分配1S时间,则每拍持续时间为250MS。

如果持续时间的最小单位是10MS,则相应的拍长时间数据为25,该数据存放在BX寄存器中,从而可以确定每个音符的持续时间。

3.程序流程图:简单的电子琴设计4.程序接线图:5.设计源程序及注释MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_MODE EQU 0606HMY8254_MODE EQU 06C6HMY8254_A EQU 06C0H ;进行宏定义DATA SEGMENTFREQ_LIST DW 441D,495D,556D,589D,661D,742D,833D,882D,262D,294D,330D,373D,402D,450D,494D,-1DDATA ENDS ;建立数据段CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;实现段寄存器DS的初始化 MOV DX,MY8255_MODEMOV AL,81HOUT DX,AL ;写8255芯片的控制字,实现工作在方式0,A端口和B端口输出,C端口输入MOV DX,MY8254_MODEMOV AL,36HOUT DX,AL ;使8254工作在方式3,A口输入,运用计数器0,二进制方式BEGIN: CALL CCSCAN ;扫描JNZ INK1 ;有键按下时跳到INK1JMP BEGIN ;没见按下时循环执行BEGIN;确定按下键的位置INK1: MOV CH,0FEH ;确定按下键在第一列MOV CL,00H ;将CL清零COLUM: MOV AL,CH简单的电子琴设计OUT DX,AL ;将CPU中的AL值送到8255的A口中,即送到x1、x2、 x3、x4中MOV DX,MY8255_C ;将8255的C口地址赋给DX IN AL,DX ;将C口的值送到AL中L1: TEST AL,01H ;检验按下键是否在L1JNZ L2 ;不是L1则跳到L2MOV AL,00H ;为了后面用来与FREQ_LIST数据段中数对应JMP KCODE ;强制跳转到KCODEL2: TEST AL,02H ;检验按下键是否在L2JNZ L3 ;不是L2则跳到L3MOV AL,04H ;为了后面用来与FREQ_LIST数据段中数对应。

微机原理与汇编语言课设——电子琴

微机原理与汇编语言课设——电子琴

微机原理与汇编语言课设——电子琴一、引言电子琴是一种常见的电子乐器,其原理主要是利用微控制器和音频芯片来实现音乐的产生和演奏。

本文将介绍微机原理与汇编语言课设中关于电子琴的设计和实现。

二、设计目标本次课设的设计目标是实现一个简单的电子琴,具备以下功能:1. 发出不同音高的音符;2. 支持多种音效,如音量调节、音色切换等;3. 支持多音同时演奏。

三、硬件设计1. 微控制器选择本次设计选用了ATmega328P微控制器作为主控芯片。

它具有丰富的外设资源,适合用于音频处理和控制。

2. 音频芯片选择为了实现音乐的产生,我们选择了一个音频芯片,例如YM2612。

它能够根据输入的音符和音效参数产生相应的音频信号。

3. 键盘电路设计电子琴的键盘通常采用矩阵键盘的设计,通过扫描键盘的状态来检测按键的触发。

我们可以使用行列扫描法来实现键盘的检测。

4. 音频输出电路设计为了将产生的音频信号输出到扬声器上,我们需要设计一个音频输出电路。

一般来说,可以使用功放电路来放大音频信号,然后通过扬声器播放出来。

四、软件设计1. 系统初始化在系统初始化阶段,我们需要对微控制器进行初始化设置,包括时钟配置、引脚配置等。

2. 键盘扫描通过行列扫描法,我们可以检测到按下的键盘按键。

一旦检测到按键按下,我们需要进行相应的处理,例如发出对应的音符。

3. 音符发声根据键盘扫描的结果,我们可以确定需要发出的音符。

通过音频芯片,我们可以将相应的音符转换为音频信号,并输出到音频输出电路。

4. 音效处理除了发出不同音高的音符外,我们还可以通过调节音量、切换音色等方式实现多种音效。

这些音效参数可以通过按键或旋钮来控制。

5. 多音演奏电子琴通常支持多音同时演奏的功能。

为了实现这一功能,我们可以通过多线程或中断的方式来处理多个音符的发声。

五、实验结果经过设计和实现,我们成功地完成了一个简单的电子琴。

它能够发出不同音高的音符,并支持多种音效。

通过按键和旋钮的操作,我们可以控制音量、音色等参数。

电子琴的微机原理设计方案

电子琴的微机原理设计方案

电子琴的微机原理设计方案第一章方案论证1.1 设计规模和总体框架1.1.1系统的基本功能弹奏:用键盘输入对应的七个音阶,用户每按一个键盘琴键就弹奏相应的音符,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;扩展功能:演奏:电子琴设有8个按键,其中7个作为音符输入,另外一个作为模式转换按键,实现用户存放的自动播放歌曲。

按下键盘上某一个指定的建后自动弹奏预存琴谱功能;要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。

如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。

前面的发音停止,转到后按的键的发音程序。

发出后按的键的音调。

1.1.2系统的主要功能模块控制模块:选择AT89S52单片机来控制整个系统,其中P2口作为输入口,P1口为信号输出口,P1.0连接音响驱动电路。

用户编程模块:由键盘矩阵、LED显示管、扬声器这几个部分组成存储器模块:8088有1MB存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。

键盘输入模块:用来操作者对机器的控制操作,在P2口连接有8个按键开关加8个拉电阻,它们一端接5伏电源,一端接地。

只要有一个按键被按下,并被单片机扫描到,则会播放发出音符。

(LED显示管显示当前按键,扬声器发出对应音符。

)输出驱动模块:利用AT89S52单片机的P0端口的P0.0-P0.7连接到一个七段数码管的a-h的笔段上,数码管的公共端接电源;声音的播放模块,它接到P1.0口上,当有按键按下时,它通过AT89S52中心控制芯片的识别后发出相应的音符。

1.1.3系统的组成框图根据系统的功能要求,我们可以得到系统的组成框图:图1系统框图1.2操作流程 1.2.1如何使用系统安装及配置说明 系统运行环境WINDOWS XP PROTEUS 7.1 SP2 Keil uv3 2.12系统安装及配置安装Protues 和keil uVsision3。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、前言 (1)1.1汇编语言简介 (1)1.1.1概述 (1)1.1.2汇编语言的特点 (1)二、课程设计的目的和意义 (2)2.1设计目的 (2)2.2设计意义 (2)2.3设计所需设备 (2)三、课程设计的内容和要求 (3)3.1设计内容 (3)3.2设计要求 (3)四、课程设计的相关技术 (4)4.1.可编程定时器/计数器8253 (4)4.1.1 8253的主要特性 (4)4.1.2 8253的内部结构 (4)4.1.3.8253的控制字和初始化编程 (5)4.2.可编程并行输入/输出接口芯片8255A (6)4.2.1 8255的主要特性 (6)4.2.2.8255SA的内部结构 (7)4.2.3.8255A的引脚信号 (8)4.2.4. 8255A的控制字 (10)4.3.电路连接 (11)4.4.工作原理 (12)五、课程设计过程 (13)5.1 电子琴设计思路 (13)5.2程序流程图设计 (14)5.3软件各模块内容 (14)5.3.1.开启扬声器 (14)5.3.2.关闭扬声器 (15)5.3.3.演奏单音符 (15)5.3.4.控制演奏时间 (16)5.4程序清单及详细注释 (16)六、课程设计结果 (19)七、课程设计小结 (20)八、参考文献 (21)一、前言1.1汇编语言简介1.1.1概述汇编语言是面向机器的程序设计语言。

在汇编语合中,用助记符代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。

这样用符号代替机器语言的二进制码,就把机器语音变成了汇编语言。

于是汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器个能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。

汇编语言把汇编程序翻译成机器语言的过程称为汇编。

1.1.2汇编语言的特点1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

2.保持了机器语言的优点,具有直接和简捷的特点。

3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。

2.1设计目的微机原理及接口技术课程设计是对所学课程内容的全面、系统的总结、巩固和提高的一项课程实践活动。

根据汇编语言的特点,选择相应的课题,在老师的指导下,有学生独立完成。

课程设计要求同学们熟悉汇编语言的编程、连接、调试、‘运行等步骤,以及设计中所设计的相关软硬知识。

通过课程设计,一方面提高运用汇编语言变成解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

2.2设计意义通过课程设计要进一步锻炼同学们在微型计算机应用方面的实际工作能力。

计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际,掌握这方面的知识更要强调实际问题的能力。

通过设计着重学会面对一个实际问题,如何自己收集资料,如何自己去学习新的知识,如何去制定解决问题的方案并通过实践不断地区分析和解决前进道路上的一切问题,最终到达胜利的彼岸。

2.3设计所需设备16位的汇编语言程序设计有几种工作环境,本实验以及所有程序都是通过MASM5.0编译的,MASM5.0一个汇编语言的编译、连接、调试及运行的集成环境。

支持标号的快速定位,编译速度快。

可编程定时器计数器8253,扬声器3.1设计内容用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的系统的目的。

(1). 通过D/A转换器产生模拟信号,使PC机作为简易的电子琴.(2). 掌握利用pc机扬声器发出不同频率声音的方法.(3). 学习利用系统功能调用从键盘上读取字符的方法.3.2设计要求设计一电子发声控制,用键盘数字1、2、3、4、5、6、7、8代替音乐键中音部分1、2、3、、4、5、6、7、8,在输入1~7时可发出对应的音乐上的1,2,3,4,5,6,7音,可发出对应频率的声音,控制发音的输出,模拟电子琴的发音。

按下CTRL-C则退出“钢琴”状态.要求:从键盘上读入音符并在屏幕上显示。

8253定时器的3个计数器的时钟频率为1.1931MHz ,则计数器2输入的是时钟频率与音符频率相除的值,即 1.1931M/262 。

对8253定时器设置后就可以驱动扬声器。

其技术完成可利用8253计数器来控制其输出频率的值,及8255开启控制发声装备。

整体完成一个PC机模拟的的电子琴。

4.1.可编程定时器/计数器82534.1.1 8253的主要特性8253是为微型计算机配套而设计的一个可编程定时器/计数器芯片,24引脚双列直插式封装。

其主特性是:1.单一正5v电源,NMOS工艺制成。

2.片内具有3个独立的16位减法计数器,每个计数器又可分成两个8位的计数器。

3.计数频率为0~2Mhz。

4.两种计数方式:即二进制或BCD方式计数。

5.六种工作方式,即可对系统时钟脉冲计数实现定时,又可对外部事件进行计数。

6.可由软件或硬件控制开始计数或停止计数。

4.1.2 8253的内部结构8253的内部结构主要由以下的几个部分组成:(1)、数据总线缓冲器:数据缓冲器为8位、双向、三态的缓冲器,CPU通过它,一方面可以向控制寄存器写入控制字,向计数器写计数初值;另一方面可以从计数器读取当前计数值。

(2)、读/写逻辑电路:读/写控制逻辑从系统总线接收输入信号,经过译码,实现8253各部分的控制(3)、控制字寄存器:接收从CPU来的控制字,并由控制字的D7,D6位的编码决定控制字节写入哪个计数器的控制寄存器(4)、计数器1.一片8253内部有3 个独立的计数器,每个计数器对外有3只引肢,GATA:门控信号;计数脉冲输入端;OUT :计数器输出端。

2.通常在系统设计时,A1,A0接系统地址线A1A0,因此一片8253占用4个连续的口地址,即当CS=0时:A1A0=00选中0号计数器;A1A0=01选中1号计数器;A1A0=10选中2号计数器;A1A0=11选中控制器寄存器;3.计数器有两种启动方式:软件启动和硬件启动。

软件启动:在GATE为高电平时,装入计数初值后,每个CLK信号下降沿使计数器计数一次。

硬件启动:装入计数初值后不计数,等到GATE信号出现低电平到高电平的跃变之后,每个CLK信号下降沿使计数器计数一次。

4.每个计数器有6种工作方式可供选择方式0:软件启动的“事件计数器”,减1计数,计数值减到0时输出高电平;方式1:硬件启动时的“单脉冲发生器”,减1计数,计数值减到0时输出负脉冲;方式2:软件启动的“脉冲发生器”,减1计数,计数值减到1时输出负脉冲;方式3:软件启支的“方波发生器”,减2计数;方式4:软件启动的“单脉冲发生器”,减1计数,牙地数值减到0时输出负脉冲;、方式5:硬件启动的“单脉冲发生器”,减1计数,计数值减到0时输出负脉冲。

其中,方式2、方式3具有初值自动重装的功能,因此,工作在方式2、方式3的时候,计数器能够输出连续信号。

4.1.3.8253的控制字和初始化编程(1).初始化编程分两步进行,首先向控制寄存器写入控制字,预置相关计数器的工作方式,通报计数初值的写入顺序;承受后向使用的计数器写入计数初值。

计数初值的计算公式如下:计数初值=Fclk/Fout(2).8253的控制字控制字格式如下图所示,对于8253而言,D7D6=人1是无效控制字,对于8254而言,D7D6=11是读出命令的标志之一。

8253的控制字格式4.2.可编程并行输入/输出接口芯片8255A4.2.1 8255的主要特性(1) 8255A是一个具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息传送的一切形式的并行接口。

并且它的PC口还具有按位置位/复位功能,为PC口作为联络信号时的按位控制提供了强有力的支持。

(2) 8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。

如无条件传送,应答方式(查询)传送,中断方式传送,与此相应,8255A 设置了方式0、方式1以及方式2(双向传送)。

(3) 8255A可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境。

它不仅作为并行接口用于Intel公司的CPU 系列,还可用于其他几乎所有CPU以及单片机。

是一种名付其实的通用并行接口芯片。

8255A 执行命令过程中和执行命令完毕之后,所产生的状态,保留在状态字中,以供查询。

(4) 8255A PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的部分信号线被分配作专用联络信号;PC 口可以进行按位控制;在CPU取8255A状态时,PC口又作1,2方式的状态口用等等。

这是使用8255的难点所在,学习时要特别予以注意。

(5)8255A芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成,因此,以后的编程主要也是对这三类寄存器进行访问。

4.2.2.8255SA的内部结构可编程并行接口Intel8255A, 其内部结构如图4-1所示,由以下4个部分组成:图4-1①输入/输出端口A、B、C 。

这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。

A口和B口是一个独立的8位I/O口。

C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。

②A组和B组控制电路。

这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A 的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。

A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位③读/写控制逻辑。

(同上:它负责管理8255A的数据传输过程。

它接收CS*及RD*、WR*、RESET,还有来自系统地址总线的口地址选择信号A0和A1。

将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。

)④数据总缓冲器。

(同上:它是8位的双向的三态缓冲器。

作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。

相关文档
最新文档