8253与8255的应用举例
第八、九章_8253、8255及其应用总结
三、 8253的工作方式 5. 方式4:软件触发选通(P313)
CLK WR GATE OUT
4 3 2 1 0
CW N=4
8253的工作原理
特点: ¾ N值写入后,下一个CLK开始计数,相当于软件启动; ¾ 计数过程是一次性的,输入新的值后,重新计数; ¾ GATE=“1”,允许计数,GATE=“0”,禁止计数,因 此,若做到软件启动,必须使GATE=“1”; ¾ 计数过程中改变计数值,按新值重新计数;
3
2
1
3
三、 8253的工作方式 3. 方式2:比率发生器(分频器)P312
CLK WR GATE OUT
CW N=4
8253的工作原理
特点: ¾ 不需重新赋值,计数器能连续工作; ¾ 计数过程中,若GATE变低,计数器暂停工作,GATE变 ¾ 若计数过程中,门控信号再次触发,计数器在触 发信号的下一个CLK重新开始计数; ¾ 计数过程中,若改变计数器的值,对计数过程无影 响,但下一个计数过程,以新的计数值开始计数;
三、 8253的工作方式 6. 方式5:硬件触发选通(P314)
CLK WR GATE OUT
CW N=5
8253的工作原理
特点: 5 5 5 4 3 2 1 0 ¾ N值写入后,计数器并不计数,必须由GATE的上升沿 触发之后,在下一个CLK开始计数; ¾ 在计数过程中,再次使用门控信号GATE,使计数器 重新开始计数,但对输出OUT无影响; ¾ 计数过程中改变计数值,若没有GATE的触发,不影 响计数过程,当计数到“0”后,若有GATE触发,则按新 的计数值计数.
三、 8253的工作方式 2. 方式1:可编程单稳态输出方式
CLK WR GATE OUT
8255和8253
8255和82531.3.3 8253/8253-5可编程计时器8253是作为Intel公司的微型计算机外围器件⽽设计的⼀种可编程计数器/计时器器件。
它是⽤N沟道MOS⼯艺制成的,只需⼀组⼗5V电源。
该器件包含三个独⽴的16位计数器,每个计数器的计数速率都可达到2MHZ。
所有的⼯作⽅式都是软件可编程的。
主要技术特性·8253-5与MCS-85兼容;·有三个独⽴的⼗六位计数器;·计数频率范围是0~2MHZ;·可编程计数器⽅式;·⼆进制或⼆⼀⼗进制计数;·⼀组⼗5V电源;·24条引脚双列直插式封装。
引脚安排如图1-3-14所⽰。
图1-3-14 8253/8253-5的引脚图图1-3-15 8253/8253-5的内部结构框图内部结构如图1-3-l5所⽰。
功能说明8253的功能是由多个通⽤的定对元件实现的,这些定时元件可被系统软件看作⼀系列I/O⼝。
8253能在软件控制下产⽣⼀系列准确的时间延迟,系统软件⽤不着再建⽴定时循环。
程序员只需适当设置8253,将要求的数值预置⼊8253的⼀个计数器中。
8253将根据命令计算延时,并在完成延时任务时中断CPU。
显然,这样做使软件开销最省,且可通过适当分配优先级的办法很容易地实现多级延迟。
8253还具有计数器/计时器功能。
例如:·可编程频率发⽣器;·事件计数器;·⼆进制倍频器;·实时时钟;·数字单稳;·复杂的电机控制器。
1.数据母线缓冲器这个三态、双向和⼋位的缓冲器⽤于将8253与系统数据总线连接起来。
CPU执⾏输⼊/输出指令时缓冲器就发送或接收数据。
数据总线缓冲器有三个基本功能:·通过编程确定8253的⼯作⽅式;·向计数寄存器装⼊数据;·读出计数值。
2.读/写逻辑读/写逻辑接受来⾃系统总线的输⼊,然后产⽣控制整个器件⼯作的控制信号。
并行接口8255和定时器8253综合实验
实验五 并行接口8255和定时器8253综合实验一、实验目的1.掌握8253定时原理和初始化方法。
2.掌握8255并行输入输出原理和初始化方法。
3.掌握定时器8253和并行接口8255的综合应用设计技术。
二、实验电路三、实验内容利用8253定时1秒钟,8255端口A 的PA0检测定时时间是否到,实现每隔1秒钟循环点亮1个灯。
开关K7拨到0时,灯全部熄灭程序退出。
8255和8253的片选地址可以自己设定。
用Proteus 仿真软件搭建硬件电路,完成系统的调试运行,并讲解搭建调试全过程。
用屏幕录像软件进行全过程录像,以MP4格式保存提交,提交仿真程序文件,完成实验报告的书写。
四、实验程序和结果CODE SEGMENT ASSUME CS:CODESTART: MOV AL,90H ;8255初始化MOV DX,28BH ;间接I/O 寻址方式,8255的控制口地址 OUT DX,AL ;将8255控制字送控制端口地址 MOV AL,36H ;8253计数器0工作方式字MOV DX,283H ;间接I/O 寻址方式,8253的控制口地址 OUT DX,AL ;将8253计数器0控制字送到控制端口地址开关控制 寄存器CS计 数器计数 器CLK 0CLK 11MHZ GATE 0 GATE 1 +5v+5v OUT 0OUT 18253CSPC 0PC 7PA 0PA 7…K 78255288H280HMOV AX,1000 ;计数初值MOV DX,280H ;选中计数器0OUT DX,AL ;将计数初值低字节送8253计数器0端口地址MOV AL,AH ;先读写低字节,在读写高字节OUT DX,AL ;将计数初值高字节送8253控制端口地址MOV AL,74H ;8253计数器1工作方式字MOV DX,283H ;间接I/O寻址方式OUT DX,AL ;将8253计数器1控制字送到控制端口地址MOV AX,1000 ;计数初值MOV DX,281H ;选中计数器1OUT DX,AL ;将计数初值低字节送8253计数器1端口地址 MOV AL,AH ;先读写低字节,再读写高字节OUT DX,AL ;将计数初值高字节送8253控制口地址MOV BL,01HMOV DX,28AH ;间接I/O寻址,8255C口地址MOV AL,BLOUT DX,AL ;点亮1盏灯AGAIN: MOV DX,288H ;8255A口地址IN AL,DXTEST AL,80H ;测试PA7开关JZ STOP ;若为0则返回DOSMOV DX,288H ;8255A口地址L1: IN AL,DXTEST AL,01H ;测试PA0,若是1则继续测PA0(高电平表示1S时间没到)JNZ L1ROL BL,1 ;若是0则准备点亮下一盏灯MOV AL,BLMOV DX,28AH ;8255C口地址OUT DX,AL ;点亮下一盏灯MOV DX,288H ;8255A口地址L2: IN AL,DXTEST AL,01H ;测PA0,若是0则继续测PA0(定时到out输出低电平并维持一个CLK周期)JZ L2JMP AGAIN ;若为1,则跳转至AGAIN(下一个定时段开始,高电平表示定时中)STOP: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START。
8253应用举例
Y2#
A8 A9 A6 A074源自S138 G1 G2A# G2B#
3)
3
MOV AL,00110111B;T/C0 , ; OUT 96H,AL 96H, MOV AX, 8000H OUT 90H,AL 90H, MOV AL, AH OUT 90H,AL 90H, MOV AL,01110111B;T/C1 , ; MOV AX, 9H OUT 92H,AL 92H, MOV AL, AH OUT 92H,AL 92H,
7
六、 8253应用举例 应用举例
例1:现有一个高精密晶体振荡电路,输 现有一个高精密晶体振荡电路, 出信号是脉冲波,频率为1MHz 1MHz。 出信号是脉冲波,频率为1MHz。要求利用 8253做一个秒信号发生器 做一个秒信号发生器, 8253做一个秒信号发生器,其输出接一发 光二极管, 0.5秒点亮 0.5秒熄灭的方 秒点亮, 光二极管,以0.5秒点亮,0.5秒熄灭的方 式闪烁指示。 8253的通道地址为80H~ 的通道地址为80H 式闪烁指示。设8253的通道地址为80H~ 86H(偶地址) 86H(偶地址)
1.分频器设计 1.分频器设计
8253应用举例 8253应用举例
地址40H~43H)将5MHz的脉冲变为 的脉冲变为1Hz的脉冲。 的脉冲。 用8253(地址 地址 将 的脉冲变为 的脉冲 初值=f 初值 CLK/fOUT=5×106>65536,怎么办? × ,怎么办? 需要2个 级联, 采用方式3产生连续分频方波 产生连续分频方波, 需要 个T/C级联,T/C0采用方式 产生连续分频方波, 级联 采用方式2产生 产生1Hz脉冲。两个 脉冲。 做T/C1的CLK,T/C1 采用方式 产生 , 脉冲 , ; T/C的GATE统一控制。 MOV AL,00110111B;T/C0 统一控制。 的 统一控制
用8255和8253使发光二极管按一定规律轮流点亮
《微机原理与接口技术》课程设计课题用8255和8253使发光二极管轮流点亮学院计算机与信息学院班级物联网工程10-1班姓名吴超学号指导老师石磊高妍妍日期2013.1.5微机原理与接口技术课程设计班级:物联网工程姓名:吴超学号:课程设计名称用8255和8253使发光二极管按一定规律轮流点亮课程设计要求发光二极管点亮方式:将发光二极管分为n组,每组12/n个灯管,从左到右依次点亮这些灯管,每组灯管发光时间为t。
设有4种发光组合:(1)n=12,t=1s:每个灯管间隔1s循环点亮。
(2)n=12,t=2s:每个灯管间隔2s循环点亮。
(3)n=6,t=1s:每两个灯管间隔1s循环点亮。
(4)n=6,t=2s:每两个灯管间隔2s循环点亮。
这四种方式分别对应按键“A”、“B”、“C”、“D”。
按对应按键后进入对应方式。
退出:按“E”键后,所有灯管灭,七段数码管显示初始“P.”状态。
课程设计目的1掌握《微机原理与接口技术》的内容2掌握可编程并行接口8255A,可编程定时/计数器8253,及数码管的用法和原理3掌握汇编语言程序的设计硬件设计一.系统所选用的个芯片介绍1.Intel8253可编程定时/计数器2.可编程并行接口芯片82553.八段数码管显示二.系统选用各芯片的工作方式1.Intel8253可编程定时/计数器工作方式2.可编程并行接口芯片8255工作方式总体设计一.基本的工作原理二.硬件总体的设计1.系统总的方案2.键盘及其功能的定义3.系统所实现的功能三.软件总体设计1.程序代码(带注释)2程序分析系统连线说明PB0-L8PB1-L7PB2-L6PB3-L5PB4-L4PB5-L3PB6-L2 PB7-L1PC0-L12PC1-L11PC2-L10PC3-L9程序代码见第7页课程设计感想见第20页参考文献见第20页前言《微机原理与接口技术》是计算机,电子等专业的一门专业基础课程。
在课程体系中占有重要的地位课程设计的内容不仅很好的配合了所学习的内容及实验,而且通过课程设计将平时所学的内容运用到实际应用中。
微型计算机及接口技术8255举例
key _ num = 4i + j
d、 、 e、 、 f、 、 g、 、 h、 、 i、 、
延时10ms,消除抖动。 延时 ,消除抖动。 逐列检测,找出为0的列信号 的列信号j; 逐列检测,找出为 的列信号 ; 设定列为输出,行为输入; 设定列为输出,行为输入; 列输出为0,输入行信号; 列输出为 ,输入行信号; 逐行检测,找出为0的行信号 的行信号i; 逐行检测,找出为 的行信号 ; 计算键号key_num 计算键号
8253应用举例 应用举例
例1:现有一个高精密晶体振荡电路, 现有一个高精密晶体振荡电路, 输出信号是脉冲波,频率为1MHz 1MHz。 输出信号是脉冲波,频率为1MHz。要求 利用8253做一个秒信号发生器, 8253做一个秒信号发生器 利用8253做一个秒信号发生器,其输出 接一发光二极管, 0.5秒点亮 0.5秒 秒点亮, 接一发光二极管,以0.5秒点亮,0.5秒 熄灭的方式闪烁指示。 8253的通道地 熄灭的方式闪烁指示。设8253的通道地 址为80H 86H(偶地址) 80H~ 址为80H~86H(偶地址)
8255
PC0
8253 OUT0 CLK0 GATE0 1KHz +5V
2、时间常数计算 如果8253 CLK输入1KHz信号, 如果8253的CLK输入1KHz信号,延时 8253的 输入1KHz信号 时间为1S 1S, 时间为1S,则时间常数为 N=1/0.001=1000D=03E8H 3、工作方式选择 4、程序
;通道1控制字 通道1 ;通道1初始计数值,03E8H=1000BCD 通道1初始计数值,03E H=1000BCD
北理工微机原理与接口技术之8255,8253实验报告
北理工微机原理与接口技术之8255,8253实验报告微机原理与接口技术实验报告———8253可编程定时器8255并行接口实验实验一8255并行接口实验一,实验内容8255的A口作为输入口,与逻辑电平开关相连。
8255的B口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
二,实验目的(1)掌握8255的工作原理。
(2)掌握编写8255并行接口初始化及编程实现的方法。
三,实验仪器微机实验教学系统实验箱、8086CPU模块四,实验步骤(1)连线8255的PA0—PA7分别与逻辑电平开关的K1—K8相连?PB0—PB7分别与发光二极管电路的LED1—LED8相连?CS0与8255的片选CS8255相连其它线路均已连好具体如图所示:(2)编辑程序,编译链接后,单步运行,调试程序。
(3)调试通过后,全速运行,观察实验结果。
(4)撰写实验报告。
五,实验源程序如下CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04A6HMOV AX,90H ;写8255的控制字,A组工作在方式0,A口输入,C口高4位输出,B组工作在方式0,B口及C口的低4位均工作在输出OUT DX,AXSTART1:MOV DX,04A0HIN AX,DX ;读取A口数据MOV DX,04A2HOUT DX,AX ;将从A口读取的数据从B口输出,控制LED灯JMP START1CODE ENDSEND START六,实验现象LED灯低电平有效。
当某一开关拨到低电平时,对应的LED灯点亮。
当某一开关拨到高电平时,对应的LED灯熄灭七,思考题1.将片选线接到CS1—CS7;重新编写程序。
CS0对应地址是04A0---O4AF, CS1对应地址是04B0---O4BF.现将片选线接到CS1,重新编程:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,04B6H ;CS1对应的地址MOV AX,90HOUT DX,AXSTART1:MOV DX,04B0HIN AX,DXMOV DX,04B2HOUT DX,AXJMP START1CODE ENDSEND START实验现象:如同片选线接到CS02.交换A B接线,A口输出、B口输入;重新编写程序。
利用8253、8255芯片设计7位彩灯
第1章.需求分析1.1课程设计题目循环彩灯控制系统设计1.2设计任务及要求任务:设计一个循环彩灯控制系统,能输出四种花型,参考花型如下:1)00000001 左循环(1时亮,0时灭)2)10000000右循环3)按00011000,00100100,01000010,10000001规律变化,然后彩灯全亮后,再循环不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;3)彩灯亮与灭的时间由8253提供1.3 软硬件运行环境及开发工具1、软硬件运行环境利用TDN86/88实验平台进行硬件连接,利用TDN集成开发环境进行循环彩灯系统的程序设计(采用汇编语言),调试,直到满足设计要求。
2、开发工具实验所使用的实验开发设备是TDN86/88型多功能微机实验平台,它的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。
第2章.概要设计2.1总体方案与说明1. 8255A可编程并行接口芯片。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。
(1)数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的(2) 三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入锁存器和一个8位数据输入/输出,锁存/缓冲器;端口C(PC口):有一个8位数据输入锁存器和一个8位数据锁存/缓冲器。
8253、8255应用举例
8255应用举例
8255A在IBM PC/XT上的应用
1.打印机接口的信号与时序 主机把数据送给引脚DATA0~DATA7 同时送出数据选通信号STROBE* 打印机在BUSY信号线上发出忙信号 打印机处理好输入的数据时 撤消忙信号 同时又送出一个响应信号ACK*
2.用8255A方式0与打印机接口
;从PC7送出控制低脉冲 ;置STROBE*=0 ;产生一定宽度的低电平 ;置=1 ;最终,STROBE*产生低脉 冲信号
;打印子程序:返回 pop dx pop ax ret printc endp
3.用8255A方式1与打印机接口
8255A方式1与打印机接口时序配合
8255A的初始化 mov dx,0f003h mov al,0a0h out dx,al mov al,0ch out dx,al …… mov cx,counter mov bx,offset buffer call prints ;打印子程序:输出 prints proc push ax push dx print1: mov al,[bx] mov dx,0f000h out dx,al
;检测(PC7)为1否? ;为0,说明打印机没有响应,继续检测 ;为1,说明打印机已接受数据 ;准备取下一个数据输出 ;打印结束,恢复寄存器 ;返回
;使INTEA(PC6)为0,禁止中断
;打印字节数送CX ;取字符串首地址 ;调用打印子程序
;保护寄存器ov dx,0f002h print2: in al,dx test al,80h jz print2 ;打印子程序:返回 inc bx loop print1 pop dx pop ax ret prints endp
扬声器开 speakon
8253定时功能的应用例子
8.2.1 8253定时功能的应用例子 1、用8253产生各种定时波形 在某个以8086为CPU的系统中使用了一块8253芯片,通道
的基地址为310H,所用的时钟脉冲频率为1MHZ,要求三个计
数通道分别完成: (1)通道0工作于方式3,输出频率为2KHZ的方波; (2) 通道1产生宽度为480µ s的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。
图8.11 8253定时波形产生电路
各通道时间常数确定 通道0:=1MHZ/2KHZ=500 通道1:=480US/1US=480 通道2:=26
五、8253的应用
3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址 40H~43H) 分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔
65536/(2106)=32.769ms
所以需要两个计数器串联,一个计数器的输出作为另一个计数 器的输入
五、8253的应用
AL, 04H
;写低8位
0F2H, AL
;写高8位
8253应用讲解
五、8253的应用
3. 以2MHz输入8253,实现每5秒定时中断(设8253端口地址 40H~43H) 分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔
65536/(2106)=32.769ms
所以需要两个计数器串联,一个计数器的输出作为另一个计数 器的输入
MOV AL,80H OUT 83H,AL
(4).实验四 8253与8255编程与使用内容
实验四:8253与8255编程与使用【课时安排】4学时【实验要求】1.掌握定时/计数器芯片8253的接口与应用编程。
2.掌握可编程并行接口芯片8255的接口与应用编程。
【实验内容】1.实验①:用8255PA口控制PB口。
2.实验②:用8253的0和1通道工作在方式3,产生周期为2秒的方波,并输出到发光二极管L1处,观察检验结果的正确性。
【实验原理介绍】1.实验接线图图 1 实验①接线图图 2 实验②接线图(部分)(提示:此图不完整,定时器的一个输出应接LED灯L1端,请思考使用一个定时器能否实现2s的定时,如不能,应该如何连接)2.8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
8253的功能用途:延时中断;实时时钟;可编程频率发生器;数字单稳;事件计数器;复杂的电机控制器;二进制倍频器。
8253的六种工作方式:•方式0:计数结束中断•方式l:可编程频率发生•方式2:频率发生器•方式3:方波频率发生器•方式4:软件触发的选通信号•方式5:硬件触发的选通信号实验②实验程序框图3.38255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式实验①实验程序框图3.程序清单实验一:CODE SEGMENT ;H8255-1.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;定义8255控制口IOBPT EQU 0FF29H ;定义8255 PB口IOAPT EQU 0FF28H ;定义8255 PA口ORG 11B0HSTART: MOV AL,90H ;定义PA输入,PB输出MOV DX,IOCONPT ;控制口OUT DX,AL ;写命令字NOP ;延时NOPNOPIOLED1: MOV DX,IOAPT ;PA口IN AL,DX ;读PA口MOV DX,IOBPT ;PB口OUT DX,AL ;写PB口MOV CX,0FFFFH ;延时DELAY: LOOP DELAYJMP IOLED1 ;循环CODE ENDSEND START实验二:CODE SEGMENT ;H8253.ASMASSUME CS:CODEORG 1290HSTART: JMP TCONTTCONTRO EQU 0043H ;控制端口地址TCON0 EQU 0040H ;T0端口地址TCON1 EQU 0041H ;T1端口地址TCONT: MOV DX,TCONTRO ;SC1SC0(计数器选择),RL1RL2(读写字节数),M2M1M0(工作方式),码制; 补充代码,写命令字(设置T0的工作方式等)MOV DX,TCON0 ;T0口;写入T0的计数初值MOV DX,TCONTRO; 补充代码命令字(设置T0的工作方式等)MOV DX,TCON1 ;T1口;写入T1的计数初值JMP $CODE ENDSEND START【基本操作与仪器介绍】开发平台硬件资源:8088实验箱开发平台软件资源:ZY8086K微机原理调试软件【实验重要步骤】实验①⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。
第五章(8253,8255)
26
8253的6种工作方式的输出波形
方式0 OUT (n=4)
计数结束产生中断
4 3 2 1 1 0
方式 1 0
方式1 OUT 可编程单稳态方式 4 3 2 方式2 OUT 序列脉冲发生器 4 3 2 1 0(4) 3 2
方式5 OUT 0 方式3 OUT 1 0 4 2
编程
28
与系统的连接示意图
8253占用4个接口 地址: DB 计数器0 计数器1 IOW 计数器2 IOR 控制寄存器
A1 A0 高位地址 A15-A2
(决定8253的基地址)
29
8253
D0~D7 WR RD A1 A0 CS CLK GATE OUT 共三组
译码器
初始化程序流程
写入顺序:
24
工作方式
方式5 硬件启动,不自动重复计数。
OUT端波形与方式4相同
(硬件触发选通)
25
方式5(硬件触发选通)
– 写入初值时,GATE端应保持低电平。 – GATE每出现一次正脉冲,计数一个周期, 然后停止计数。 – 每个计数周期结束时(减到0时),OUT端 输出一个TCLK宽度的负脉冲。 – 计数过程中修改初值不影响本轮计数过程。
1 1 控制寄存器 A0,A1 RESET——复位信号,接系统总线的RESET
41
引线(续)
连接外设端的引脚:
PA0~PA7 PB0~PB7 PC0~PC7
分别对应A、B、C三 个8位输入/输出端口
三个端口可通过编程分别指定为输入或输出口。 其中,C口即可用作独立的输入/输出口,也可用作 A、B口的控制信号输出或状态信号输入。
D7-D0 A1 A0 WR RD CS
利用8253_、8255实现竞赛抢答器的功能(1)
利用8253、8255实现竞赛抢答器的功能摘要:8255内部有3个相互独立的8位数据端口,即端口A﹑端口B﹑端口C。
设计人员可以用程序使他们分别作为输入端口或输出端口。
而8253即可对系统时钟脉冲计数实现定时,又可对外部事件进行计数。
所以利用8253、8255的定时、中断控制的功能可实现抢答器的功能。
关键字:8253、8255、中断、抢答器0.引言:本文主要利用8253 、8255实现竞赛抢答器的以下功能,第一,可供4组选手同时抢答,由按钮控制。
第二,能显示出最先抢答的组号,而对其他组的抢答不予理睬。
第三,对主持人未曾按启动扭之前就按抢答按钮的犯规组,亮红灯警告。
第四,对抢答后的回答时间进行计时控制,如回答超时,则以音响报警。
1.芯片介绍:(1)8255芯片8255A内部有3个相互独立的8位数据端口,即端口A﹑端口B﹑端口C。
设计人员可以用程序是他们分别作为输入端口或输出端口。
不过,每个端口有着各自的特点。
端口A对应1个8位数据输入锁存器/缓冲器和1个8位数据输出锁存器/缓存器。
所以,用端口A作为输入或输出时,数据均可以受到锁存。
端口B对应1个8位数据输入锁存器/缓冲器和1个8位数据输出锁存器/缓存器。
端口C对应1个8位数据输入锁存器/缓冲器和1个8位数据输出锁存器/缓存器。
这样,当端口C作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存。
在使用中,端口A﹑端口B和端口C可以相互独立,分别作为输入或者输出端口,也可以由端口C配合端口A﹑端口B作输入端口或者输出端口,此时,端口A和端口B作为独立的输入端口或输出端口,而端口C则配合端口A和端口B工作。
具体得讲,端口C常常通过控制命令被分成两个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,他们分别用来位端口A和端口B提供控制信号和状态信号。
方式选择控制字8255A引脚图(2)8253芯片8253的主要性能:8253可编程定时/计数器芯片时Intel公司生产的微型计算机通用外围芯片之一。
8255与8253的综合应用实例_发声及音乐
实验一8255与8253的综合应用实例:发声及音乐一、实验要求利用定时/计数器8253和并行接口8255控制扬声器发声。
8253的输入时钟CLK的频率1.19318MHz。
二、实验设计(1)硬件设计(如下图)(2)软件设计:音乐程序如下:stack segment para stack 'stack'db 64 dup('stack...')stack endsdseg segment para 'data'mus_fre dw 330,392,330,294,330,392,330,294,330dw 330,392,330,294,262,294,330,392,294dw 262,262,220,196,196,220,262,294,330,262dw-1mus_tim dw 3 dup(100),50,50,100,50,50,200dw 2 dup(100,100,50,50),200dw 3 dup(100,50,50),200dseg endscseg segment para 'code'assume cs:cseg,ss:stack,ds:dsegmusic proc farmov ax,dsegmov ds,axfreq1: lea si,mus_frelea bp,ds:mus_timfreq: mov di,[si]cmp di,-1je end_musmov bx,ds:[bp]call soundfadd si,2add bp,2jmp freqend_mus:jmp freq1mov ah,4chint 21hsoundf proc nearpush axpush bxpush cxpush dxpush dimov al,0b6h ;10110110Bout 43h,al ;送控制字mov dx,12h ;12348C为1.1931Mmov ax,348chdiv di ;除以频率为延时out 42h,al ;送延时常数mov al,ahout 42h,alin al,61h ;保护并口状态,开并口mov ah,alor al,3out 61h,alwait1: mov cx,600 ;发声延时push axwaitf1: in al,61hand al,10h ;10hcmp al,ahje waitf1mov ah,alloop waitf1pop axdelay: loop delaydec bxjnz wait1mov al,ahout 61h,al ;还原并口pop dipop dxpop cxpop bxpop axretsoundf endpmusic endpcseg endsend三、实验步骤1、打开“Masm For Windows集成实验环境”,新建一个文件。
基于8253和8255的模拟交通灯控制系统
摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
井然秩序的实现,靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式有很多。
本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。
另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。
整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。
但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。
例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。
通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。
第一部分概论1.1设计任务:交通信号灯的控制(1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。
(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。
(3)通过8255并口控制,人工进行交通灯的转换。
1.2 任务要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。
(2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。
(4)南北路口的红灯闪烁、同时东西路口的黄灯亮闪烁若干次,扬声器鸣叫。
(5)转(1)重复。
紧急情况可以手动控制红绿灯的变换。
1.3设计原理本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯。
交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的C 口对灯的亮与灭进行控制,用8253对扬声器的发声进行控制。
装有定时计数器8253芯片和可编程接口 8255芯片,研究了扬声器发声的软件控制过程,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PA0 =1和PA1 =1 ,则可控制扬声器发声。
微机原理课程设计——8255_8253交通灯模拟实验
微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。
30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。
1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。
由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。
8255-8253接口技术
表5-2 并行接口标准Centronics的信号线电源和编号
引脚号 1 2~9 10 11 12 13 14 15 16 17 18 19~30 31 32 33 34 35 36
STB
信
号
方向(对打印机) 入 入 出 出 出 出 入
信 号 功 能 主机对打印机输入数据的选通脉冲 并行数据 0~7 位的信号 向主机发出的传送数据的请求脉冲 表示打印机是否可以接收数据的信号 纸尽 Paper Out or Low 选中信号 自动输纸信号 不用 逻辑地 机架地 不用 对应 1~12 引脚的接地线
态信息读至CPU。
WR:写。低电平有效,输入控制命令字,CPU执行OUT指 令时起作用,将AL中的数据送到PA、PB、或PC;将AL中存放 的控制命令字从CWR口写入。
RESET:复位。高电平有效,输入信号线。它能置PA、PB、 PC为输入方式;清除控制寄存器、输出寄存器和状态寄存器; 屏蔽中断申请;使连接外设的24条信号线呈高阻悬浮状态。在 使用工作方式控制字后可结束复位状态,进入用户设置的工作 方式。
D7 D7=1 特征位
D6
D5
D4
D3 PC7~4: 0=输出 1=输入
D2
D1
D0 PC3~0: 0=输出 1=输入
PA 口方式:00=方式 0 PA 口: 01=方式 1 0=输出 1×=方式 2 1=输入
PB 口方式: PB 口: 0=方式 0 1=方式 1 0=输出 1=输入
——————————A 组—————————
循时序要求。
(5) 有输入和输出两种不同格式的状态字,两种状态字可以 作为程序或中断申请使用,需要使用IN指令从PC口地址读出到 AL中。 (6) PA、PB在作输入和输出使用时的引脚分配和时序都不
8253应用举例
8.3.5 8253-5的应用举例 一、用8253-5监视一个生产流水线 1.硬件设计
1 OUT0 CLK0 GATE0 8253
INT +5V
2.5MHz
8255PA0 CLK1 GATE1 OUT1
驱 动 器
图8-28 8253的应用—计数和定时
设计要求及设计方案确定
• 使用8253-5监视一个生产流水线,每通过50个 工件,扬声器响5秒钟,频率2000Hz。
习题:8.24
8253A-5的计数通道0连接如图习8-4所示,试回 答: (1)计数通道0工作于何种方式,并写出工作方 式名称; (2)写出计数通道0的计数初值(列出计D0 GATE0 CLK0
RD WR A0 A1 CS
8253
OUT0
1ms
400ns
图习8-4
• 计数器1初始化程序段: 计数初值= 100ms / (1/200kHz)==20000D=4E20H MOV AL,0111 0100B;通道1,方式2,16计数,二进制计数 OUT 87H,AL MOV AL,20H OUT 85H,AL MOV AL,4EH OUT 85H,AL
解: (1)由于出现一个CLK周期宽度的负脉冲的方式有方式 2\5两种,但是GATE0是一直保持高电平,因此方式5是 无法触发的,因此可以判断计数通道0工作于方式2 (2)因为CLK周期宽度为400ns, CLK正脉冲宽度为 200ns,因此 计数通道0的计数初值= 1ms/ 400ns=2500 (3)初始化程序段(设8253的口地址为:80H-83H) MOV AL,0001 0101B MOV 83H,AL MOV AL,00H OUT 80H,AL MOV AL,25H OUT 80H,AL
8253、8255、8259综合实验
8253、8255、8259 综合实验医电61刘晶061210058253、8255、8259综合实验一、实验目的1.掌握8259、8253、8255芯片结构及工作方式;2.熟悉8259、8252、8259的初始化和操作编程;3.掌握各芯片之间或与CPU间的连接方法。
二、实验设备b6000p实验教学系统;2.IBM-PC机三、实验内容1.8255A口为输出口,接8个发光二极管,B口为输入口,接8个拨动开关,“0”或“1”,从而实现把开关的状态显示出来。
2.用8253计数器0对外部事件进行计数,每发生5次外部事件,用发光二极管亮做提示。
3.用8253计数器0输出一个1S为周期的方波,并用发光二极管显示其周期。
4.8个LED二级管循环点亮,每个亮1秒钟,用8253定时1秒,通过8259中断实现1S 循坏显示四、实验结果1.8255程序如下:DATA SEGMENTCOUNT DB 1DATA ENDSSTACK SEGMENTDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,DA TAMOV DS,AXMOV DX,8003H ;8255控制口MOV AL,10000010B ;控制字:A口方式0输出,B口方式0输入OUT DX,AL ;写入控制字TESTI:MOV DX,8001H ;指向B口IN AL,DX ;从B口读入开关状态MOV DX,8000H ;指向A 口OUT DX,AL ;A 口用LED 指示开关状态 JMP TESTI ;循环检测 CODE ENDSEND START 实验结果:程序运行后,波动开关,可以控制其对应二极管的亮、灭。
2.8253对外部事件计数 程序如下:DATA SEGMENT COUNT DB 1 DATA ENDSSTACK SEGMENT DB 100 DUP(?) STACK ENDSCODE SEGMENT MAIN PROC FARASSUME CS:CODE,DS:DA TA,SS:STACK START:MOV AX,DA TA MOV DS,AX JISHU:MOV AL,00010001BMOV DX,9003HOUT DX,ALMOV AL,3MOV DX,9000H OUT DX,ALDUHUI: MOV AL,00000000B MOV DX,9003H OUT DX,AL MOV DX,9000H IN AL,DX SUB AL,0 JZ JISHU JMP DUHUI MAIN ENDP CODE ENDS END START 实验结果:程序运行后,每发生5次外部事件(单脉冲电路产生),二极管亮1次作为MOV CX,0FFFFHDELAY: DEC CXCMP CX,00HJNZ DELAY3.8253输出周期为1s的方波程序如下:DATA SEGMENTCOUNT DB 1DATA ENDSSTACK SEGMENTDB 100 DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,DA TAMOV DS,AXMOV AL,00110110BMOV DX,9003HOUT DX,ALMOV BX,62500MOV AL,BLMOV DX,9000HOUT DX,ALMOV AL,BHOUT DX,ALMAIN ENDPCODE ENDSEND START实验结果:二极管以1s为周期闪烁,即得到了1s为周期的脉冲波,并用二极管显示出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;发长音 LOP: MOV BL,LONG1 CALL SSP
;查ESC键,停止发声 程序3/4 MOV AH,0BH INT 21H CMP AL,00H JE CONTINUE1;无键按下,发短音 MOV AH,08H;等待从键盘输入一个字符 INT 21H CMP AL,1BH;是ESC,停止发声 JE QUIT ;发短音 CONTINUE1:MOV BL,SHORT1 CALL SSP JMP LOP ;关闭扬声器,并退出 QUIT:IN AL,61H AND AL,0FCH OUT 61H,AL MOV AL,AH OUT 61H,AL
程序2/4
;关闭扬声器 IN AL,61H;读入8255 PB口原输出值 AND AL,0FCH;置PB0和PB1为0,关闭GATE2和与门 OUT 61H,AL
;查任意键,启动发声器 WAIT1:MOV AH,0BH;判断是否有任意键按下? INT 21H CMP AL,00H JE WAIT1;无键,则等待;否则发长音。
结果利用发光二极管显示,与 82538253 片选信号从译码器 的CLK2已接好 Y1 1.19MHZ 引入, 8253的 304 out 信号 ~ 信号连接 307H
工作方式? 用到几个通道?初始值? 硬件连线? 编程?
8253与8255的应用举例
1.要求 利用定时/计数器8253发600Hz的长/短音。按任意键,开启 发声;按ESC键,停止发声。8253的输入时钟CLK的频率为 1.9318MHz. 2. 分析 根据题意,有两个工作要做,一是声音的频率应满足 600Hz,二是发声持续的长短的控制。 (1)计数初值的确定: C=1.19318X106Hz/600= 1983 (2)长/短音的控制:设置延时常数寄存器BL,改变它,可以改 变延时时间; (3)扬声器的开/关控制:设置一个与门,利用8255A PB0,PB1引脚分别控制8253-GATE和与门的开关。 3.设计 (1)硬件设计
程序4/4
MOV AX,4C00H INT 21 ;发声子程序 SSP PROC NEAR IN AL,61H OR AL,03H OUT 61H,AL SUB CX,CX L: LOOP L DEC BL JNZ L RET SSP END CODE ENDS END START
8253与8255的应用举例
1.19MHz 8253 OUT2 & 滤波 功放
CLK2
gate2 8255A
pB0
PB1
发声器电路图
4.3 8253-5/8254-2的应用举例
• (2)软件设计
发声程序由主程序和子程序组成,主程序流程图如图所示 开始 8255/8253初始化 关闭扬声器 计算并装入初值 返回DOS 结束 发短音(BL=1) (CALLSSP) N
关闭扬声器 按下任意键? N Y 发长音(BL=6) (CALLSSP)
按下ESC键? Y
程序1/4பைடு நூலகம்
CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H START:JMP BEGIN LONG1:EQU 6 SHORT1:EQU 1 BEGIN:MOV AX,CODE ;初始化8253 MOV CS, AX MOV AL,10110110H MOV DS,AX OUT 43H,AL MOV AX,1983 ;初始化8255 OUT 42H,AL MOV AL,10000000H MOV AL,AH OUT 63H,AL OUT 42H,AL