微机原理与接**术。
起止日期: 2024年 5月21日至 2024年5月27日。
计算机与通信学院。
2024年 5 月 28日
目录。一、 8255a的基本原理 1
1.1 8255a并行接口逻辑框图 1
1.2 8255a三个8位数据端口 1
1.3 a组控制和和b组控制 2
1.4 8255a的端口地址 2
1.5 8255a的控制字 2
1.6 8255a的工作方式 3
二、 8253a的基本原理 4
2.1 8253a的内部结构 4
2.2 8253a端口的地址分配 4
2.3 8253a的控制字格式 4
2.4 8253a的工作方式 5
2.5 8253a用于分频时的原理图 7
三、 电子琴的电路设计 7
3.1 电子琴电路原理图 7
3.3 按键扫描原理 8
四、电子琴程序设计 8
4.1 程序流程图 8
4.2 8255a与8253a的初始化 10
4.3 按键扫描 10
4.4 通过按键确定音阶 11
4.5 8253a分频 12
五、程序调试 12
六、心得体会 12
参考文献 13
附件 14本设计用到了8255a芯片,它是intel系列中的并行接口芯片。由于它是可编程的,可以通过软件来设置芯片的工作方式,所以,用它连接外部设备时,通常不需要再附加外部电路。
图1-1 8255a并行接口逻辑框图。
1)端口a端口a对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓存器,所以,用端口a作为输入或输出时,数据均受到锁存。
2)端口b端口b对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。
3)端口c端口c对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口c作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存。
在方式0下工作时,它们都是基本的输入输出口,该方式下是单向传输的。
这两组控制电路一方面接收芯片内部总线上的控制字,一方面接收来自读写控制逻辑电路的读写命令,据此而决定两组端口的工作方式和读写操作。
a组控制电路控制端口a和端口c的高4位(pc7~pc4)的工作方式和读写操作。
b组控制电路控制端口b和端口c的低4位(pc3~pc0)的工作方式和读写操作。
1) 和外设一边相连的信号。
pa7--pa0 a组数据信号;
pb7--pb0 b组数据信号;
pc7--pc0 c组数据信号;
2)可编程并行接口8255的地址分配:
a口300h
b口301h
c口302h
控制寄存器端口303h
8255a可以通过指令在控制端口中设置控制字来决定他的工作。
8255a的控制字如图2所示
其中:d6、d5是a组方式选择,00为方式0,01为方式1,1×为方式2
d4表示端口a工作方式,0为输出,1为输入
d3表示端口c高八位pc7-pc4,1为输入,0为输出。
d2表示b组方式选择,0为方式0,1为方式1
d1表示端口b工作方式,1为输入,0为输出。
d0表示端口c低八位pc3-pc0,1为输入,0为输出
图1-2 8255a的工作模式选择控制字。
1)方式0 基本的输入输出方式。
方式0也叫基本的输入输出方式。在这种方式下,端口a和端口b可以通过方式选择字规定为输入口或输出口,端口c分为两个4位端口,高4位为一个端口,低4位为一个端口。这两个4位端口也可由方式选择字规定为输入口或输出口。
2)方式1 选通的输入输出方式。
方式1也叫选通的输入输出方式。和方式0相比,最重要的是a端口和b端口用方式1进行输入输出传输时,要利用端口c提供的选通下和应答信号,而这些信号与端口c中的数位之间有着固定的联系,这种关系不是程序能改变的,除非改变工作方式。
3)方式2 双向传输方式。
方式2也叫双向传输方式,这种方式只适合用于端口a。在方式2下,外设在8位数据线上,既能往cpu发送数据,又能从cpu接收数据。此外,和工作方式1情况类似,端口c在端口a工作于方式2时自动提供相应的控制信号和状态信号。
本课题中用到了8253a分频,下面我们将详细介绍8253a的工作原理:
图2-1 8253a的原理图。
可编程定时器/计数器8253的地址分配:
计数器0 304h
计数器1305h
计数器2 306h
控制寄存器 307h
在8253的初始化编程中,由cpu向8253的控制字寄存器写入一个控制字,它规定了8253的工作方式。其格式如图2-2所示。
1)计数器选择(d7d6)。控制字的最高两位决定这个控制字是哪一个计数器的控制字。
图2-2 8253a的控制字格式。
2)数据读/写格式(d5d4)。cpu向计数器写入初值和读取它们的当前状态时,有几种不同的格式。
3)工作方式(d3d2d1)。8253的每个计数器可以有6种不同的工作方式,由这三位决定。每一种方式的特点,随后介绍。
4)数制选择(d0)。8253的每个计数器有两种计数制:二进制计数和bcd码计数,由这位决定。
d0=0 按二进制计数,写入初值的范围为:0000h—ffffh,最大数为 0000h,表示65536
d0=1 按十进制计数,写入的初值范围:0000h—9999h,最大值为0000h,表示10000。
1) 方式0—计完最后一个数时中断。
在这种方式下,当控制字cw(control word)写入控制字寄存器,则使out输出端变低,此时计数器没有赋予初值,也没开始计数。要开始计数,gate信号必须为高电平,并在写入计数初值lsb后,通道开始计数,在计数过程中 out线一直维持为低,直到计数到“0”时。out输出变高。
2) 方式1—可编程序的单拍脉冲。
在这种方式下,当cpu写控制字之后(的上升沿),out输出将保持为高(若原为低,则由低变高)。当cpu写完计数值后,计数器并不开始计数,直到外部门控脉冲gate启动之后的下一个输入clk脉冲的下降沿开始计数,输出out变低。因整个计数过程中,out都维持为低,直到计数到0,输出变为高,因此,输出为一个单拍负脉冲,脉冲宽度为 n 个t。
若外部再次触发启动,则可以再产生一个单拍脉冲。
3) 方式2—速率发生器。
在这种方式下,当cpu输出控制字后,out输出将为高。在写入计数值后,计数器将立即自动对输入时钟clk计数。在计数过程中输出始终保持为高,直至计数器减到1时,输出将变低,经过一个clk周期,输出恢复为高,且计数器开始重新计数。
4) 方式3—方波速率发生器。
方式3和方式2的输出都是周期性的,它们的主要区别是,方式3在计数过程中out输出有一半时间为高,另一半时间为低。具体地说,当初值n为偶数时,out的高低输出各一半,当n为奇数时,高电平为(n+1)/2,低电平为(n-1)/2。
课程设计说明书
材料化学。涂装工艺。班级 材料化学081 姓名。学号。指导教师。时间 二 一一年七月八日 19 09 56 目录。表面工程课程设计任务书 1 1 概况 2 1.1 设计任务书及目标 2 1.2 设计任务书 2 1.3 设计单位概况 2 1.4 设计原则 4 1.5 设计范围 4 1.6 设计技术标准...
课程设计说明书
一 题目 离合器接合叉零件加工工艺规程 及车 25外圆及端面夹具设计 二 时间 自年月日至年月日止。三 要求 1 编制离合器接合叉加工工艺规程一套。2 绘制离合器接合叉零件图一张。3 绘制夹具结构装配图一张。4 绘制夹具体图一张。5.编写设计说明书一份。目录。序言1 第一章零件分析2 1.零件的作用...
课程设计说明书
河南科技学院。机电一体化课程设计。模块化生产系统设计 无杆缸传送站。学生姓名 王坤朋。所在院系 机电学院。所学专业 机电技术教育。导师姓名 胡楠李海波。完成时间 2018 年6月22日。摘要。模块化生产系统主要模拟工业生产过程中完成零件钻孔加工和装配的系列过程,该系统共有八个工作站,分别为上料检测站...