第三章 8253定时
- 格式:docx
- 大小:20.30 KB
- 文档页数:11
8253定时/计数器实验一、实验目的了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。
二、实验内容编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。
其主要有以下特点:①有3个独立的16位计数器,每个计数器均以减法计数。
②每个计数器都可按二进制计数或十进制(BCD码)计数。
③每个计数器都可由程序设置6种工作方式。
④每个计数器计数速度可以达2MHz。
⑤所有I/O都可与TTL兼容2.8253部分管脚的功能简介:D0-D7——数据总线缓冲器A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。
CLK——时钟脉冲输入端。
计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。
GATE——门控脉冲输入,用以控制计数或复位。
通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。
OUT——计数到零或定时时间到脉冲输出。
当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。
可以用作中断请求,也可用作周期性的负脉冲或方波输出。
三、实验内容及步骤本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。
1.用导线单片机最小应用系统P2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。
接口技术实验报告
实验三:可编程定时/计数器8253
一、实验目的
1、学会8253芯片和微机接口的原理和方法。
2、掌握8253定时器/计数器的工作方式和编程原理。
二、实验设备
微机原理实验箱、计算机一套。
三、实验内容
8253计数器0,1工作于方波方式,产生方波。
四、实验原理
本实验用到三部分电路:脉冲发生电路、分频电路以及8253定时器/计数器电路。
脉冲发生电路:实验台上提供8MHZ的脉冲源,见下图,实验台上标有8MHZ的插
孔,即为脉冲的输出端。
脉冲发生电路
分频电路:该电路由一片74LS393组成,见下图。
T0-T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
分频电路
8253定时器/计数器电路:该电路由1片8253组成,8253的片选、数据口、地址、读、写线均已接好,时钟输入分别为CLK0、CLK1。
定时器输出、GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1。
原理图如下:
注:GATE信号无输入时为高电平
8253定时器/计数器电路
四、实验连线
1、实验连线:
T接8.0MHZ;CLK0插孔接分频器74LS393(左下方)的T2插孔; OUT0接CLK 1;OUT1接发光二极管;
各通道门控信号GATE +5V
2、编程调试程序。
3、全速运行,观察实验结果。
8253定时器/计数器实验一、实验目的:1、进一步了解可编程定时/计数器8253的特点与功能;2、掌握8253定时/计数器的应用、编程方法。
二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块、示波器。
三、实验内容:用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。
使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。
两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。
四、实验电路:本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。
电路原理图如图1所示。
图1:8253定时/计数器实验电路五、实验步骤:(1)实验连线:CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。
如图2所示。
注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。
图2:线路连接示意图(2)输入以下程序,编译、链接后,全速运行,观察实验结果。
;8253初始化参考程序CODE SEGMENTASSUME CS:CODEORG 0100HSTART:MOV DX,04A6H ;控制寄存器地址MOV AL,00110110B ;计数器0控制字:方式3,二进制计数OUT DX,ALMOV DX,04A0H ;计数器0的口地址MOV AL,0EEH ;写计数初值低8位OUT DX,ALMOV AL,02H ;写计数初值高8位OUT DX,ALMOV DX,04A6H ;控制寄存器地址MOV AL,01110110B ;计数器1控制字:方式3,二进制计数OUT DX,ALMOV DX,04A2H ;计数器1的口地址MOV AL,0E8H ;计数初值低8位OUT DX,ALMOV AL,03H ;计数值高8位OUT DX,ALNEXT: NOPJMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。
精选文档实验报告实验名称可编程准时器/计数器(8253 )姓名学号班级教师日期一、实验内容与要求1.1 实验内容计数器方式 2 实验:将 8253 芯片的计数器0 的工作方式设置为方式2,读 /写格式设置为01,写入时只写入计数器初值低8 位,高 8 地点 0,采纳二进制格式计数。
计数器初值为N (N>=0FH ),用手动开关逐一输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的 LED 灯察看 OUT0 电平变化(当输入第N 倍数个脉冲后OUT0 变低电平, LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态)。
计数器方式 3 实验:将计数器 0、计数器 1 的工作方式分别设置为方式3,计数初值设为1000,并同时用 TPC-USB 平台上的 LED 灯察看 OUT1 电平变化(频次1Hz)。
1.2 实验要求(1)拥有必定的汇编编程的基础,能编写一些基本语句来实现实验。
实验前依据实验流程图,写出对应代码;(2)要认识8253准时/计数器芯片内部构造和外面引脚,认识芯片的硬件连结方法、时序关系、各样模式的编程及应用,能娴熟地对其进行编程;(3)熟习实验平台 TPC-USB 认识各个接口的名称与功能,进行实验时能迅速并正确地连结好实验电路;(4)计数器方式 2 实验:连结 PC 与 TPC-USB 平台,用微机实验软件运转程序,用手动开关逐一输入单脉冲,在屏幕上能一次显示计数值,当输入第N 倍数个脉冲后OUT0 变低电平, TPC-USB 平台上的 LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态;(5)计数器方式3实验:连结PC与TPC-USB平台,用微机实验软件运转程序,TPC-USB平台上的 LED 灯能周期性地亮灭,频次为 1Hz。
二、实验原理与硬件连线2.1 实验原理TPC-USB 平台上有一块8253 准时 /计数器芯片, PC 能够经过 8253 芯片进行计数和准时。
第三章8253定时/计数器对零件产品计数统计车辆流量等测量转速计数计数器:对电脉冲计数电脉冲定时的本质-计数: 对时间基准的计数任何一个周期运动的周期皆可作为时间标准将若干小片时间累积起来,就获得一定时间.以秒为单位计时,即60秒就是1分钟,计满60分钟就是1小时.秒的定义:是Ce-133原子基态两个超细能级间跃迁所对应辐射的9192631770个周期的时间.T=1.087827757*10-10s定时作A/D转换采集信号定时发送控制信号计算机,总线的主频定时作用举例微机定时的方法软件定时:CPU执行指令,预先知道所编程执行指令的周期,循环执行指令以延时硬件定时:单稳电路,可编程通用定时器/计时器.例intel82533个独立16位计数通道每个通道可任选6种工作方式之一种24脚双列直插芯片6.1 框图与引脚6.1.1 框图1. 数据总线缓冲器8位,三态,双向缓冲器,是CPU和8253交换数据的唯一通道.2.读写控制逻辑高电平时禁止三态和读写逻辑控制数据的传送方向.A0 A1 不同组合决定CPU访问的芯片内部不同端口.CS=0 A0 A1 不同组合决定CPU 读写不同端口框图3 .控制字寄存器A0A1=11时访问控制字寄存器,控制字D6D7决定写入那个通道寄存器,各个通道的控制寄存器的控制字,决定各通道工作方式等内容.4. 通道0,1,2计数器三个通道计数器相同16位通道寄存器CR:接受初始计数值,开始计数之前,由CPU用输出指令预置入CR中.16位计数单元CE:对CLK的输入脉冲信号,从预置的初始值减1计数,当初始值减为0时,由OUT 输出电平或脉冲,GATE引脚可控制输入脉冲是否能输入.输出锁存器OL,锁存CE的内容,CPU可随时读取OL中CE的当前值,不影响计数器脉冲输入和计数器的继续计数.定时计数单元6.1.2 8253的引脚1.与CPU的连接线D0-D7双向三态接至数据总线.A1,A0 :地址线,片内寻址片选8253.读出写入82532.三个通道CLK,GATE,OUT 功能相同CLK 引脚: 可输入周期或随机的脉冲信号GATE引脚启动或禁止计数OUT引脚减1计数到零信号输出端,输出信号可以是方波,脉冲,电平等.6.2 8253初始化6.2.1 8253寻址控制寄存器写入,三个通道寄存器仅一个地址,据D6D7不同写入.=0, =1写入CR=1, =0读出OL2,8 位总线如何写16 位计数初值数据1,对应三个计数单元有三个独立的控制寄存器.一个地址如何写入三个通道寄存器4,计数单元的工作方式有关控制字几个问题3,二进制计数,十进制计数6.2.2 8253初始化设定1.编程顺序先写控制字,再写计数初值,8253工作.2.8253控制字设定计数制标志位D0=0,按二进制计数,16位最大FFFF,216=65536.D0=1,按十进制计数,4位最大1001=9,16位9999工作方式D3D2D1计数值读写写CR,读OL通道控制字D6D7例1,写出控制字通道1,方式3,二进制计数,先写低八位,后写高八位.通道0,方式5,十进制计数,只写高八位.通道2,方式0,二进制计数, 写低八位.6.3 8253的读写操作6.3.1 8253的读操作1. 读之前停止计数GATE低电平,或CLK无信号因为先读低8位,后读高8位,有一定时间间隔.若不停止计数,两次读入计数值不是同一个. 使GATE低电平,或CLK无信号8253地址范围40H-43H,读当前通道0计数值2.读之前先锁存控制寄存器D6D7选择通道,D5D4=00时表示锁存,所以,向控制寄存器写入00H,40H,80H表示锁存通道0,1,2.(此时D3-D0无关全设为0)锁存通道2 计数值并读取MOV AL,80HOUT 43H,ALMov al,10110000BOut 43h,alIN AL,42HMOV BL,ALIN AL,42HMOV BH,AL6.3.2 8253的写操作向通道1 写入数据2000( 十进制), 工作方式0, 二进制计数MOV AL,70H;(01110000B)MOV DX,303HOUT DX,ALMOV AX,2000MOV DX ,301HOUT DX,ALMOV AL,AHOUT DX,AL向通道1 写入数据2000( 十进制), 工作方式0, 十进制计数MOV AL, 01100001BMOV DX,303HOUT DX,ALMOV AX,2000HMOV DX ,301HMOV AL,AHOUT DX,ALA9A8A7A6A5A4A3A2A1A0+例如图电路8253的地址范围以方式3,二进制计数向通道2写入初值0432H6.4 8253工作方式6.4.1 方式0 :减1到0发中断请求计数中重写CR,CR重新装入CE再减1至0GATE=0期间,停止计数,GATE=1,从原计数值继续计数减1至0.CR-CE后经N个脉冲宽度例:计数值5,通道0,以方式0二进制计数.CS=40H-43HMOV AL,10HOUT 43H,ALMOV AL,5OUT 40H,AL6.4.5 方式4 软件触发选通(一次性)类似方式0,计数结束后,OUT输出CLK同宽负脉冲.CR赋新数值,立即有效.GATE=1计数,GATE=0禁止.脉宽为T的零脉冲写入初值后延迟N个脉宽CLK=1M,CS=40H-43H,方式4,二进制计数,通道1,软件触发后50us,OUT输出0脉冲T=1us,50/T=50=NMOV AL,58HOUT 43H,ALMOV AL,50OUT 41H,AL6.4.2 方式1 可编程单脉冲输出可编程单稳态工作方式计数过程中,GATE上升沿重新开始计数每个GATE的上升沿→CR的内容装入CE→OUT低电平CE减1计数到0→OUT出高电平CPU可以重新写CR,但写入后GATE上升沿方有效.OUT脉冲宽度为N个时钟脉宽例CLK频率1MHz,通道1,工作方式1,二进制计数,设计电路时GATE脉冲触发OUT产生100US 的单脉冲.T=1/1M=1US,N=100/1=100MOV AL,52HOUT 43H,ALMOV AL,100OUT 41H,AL6.4.6 方式5 硬件触发选通写入CR后,GATE正跳变后开始计数,计数结束输出与CLK等宽的OUT零脉冲.CR赋新值后不立即生效,GATE正跳变后生效.CLK=1KHZ,GATE=↑后1S输出零脉冲的上升沿.通道2,方式5,二进制计数,CS=40HT=1ms,N=1s/1ms=1000mov al,0bahout 43h,almov ax,1000out 42h,almov al,ahout 42h,alGATE 脉冲触发6.4.3 方式2周期性时间间隔计数器(频率发生器)GATE=0,停止计数.GATE上升沿重新启动计数.改变CR,下一次减计数有效.计数初值5,低电平维持1个周期,高电平维持4个周期OUT频率f'=1/5T=f/5CLK=1M,方式2,通道0,二进制计数,CS=300H-303H,编程得到200kHz信号f'=f/N,N=5 (产生信号的周期是原信号的N倍)mov dx,303hmov al,14hout dx,almov al,5mov dx,300hout dx,al6.4.4 方式3 方波发生器类似方式2,但计数时间间隔内,OUT引脚一半保持高电平,一半低电平.CR的数为偶:OUT输出:N/2脉冲为正,N/2脉冲为负.CR的数为奇:OUT输出:(N+1)/2脉冲为正,(N-1)/2脉冲为负.例CLK=1MHZ,8253方式3,通道0,CS=300H-304H,编程产生100KHZ信号1MHZ/100K=N=10MOV DX,303HMOV AL,16HOUT DX,ALMOV DX,300HMOV AL,10OUT DX,AL8253有几种工作方式有何特点用途如何总结GATE管脚作用简述8253方式1的时序.某应用系统扩展一块8253,芯片地址304H-307H,系统中已经制作好1MHz标准信号.学号的末两位为XX,则产生XXHz的方波.请画出硬件设计草图,编制各通道初始化程序.作业第五章8255可编程并行输入输出接口5.1 8255A的框图结构与引脚5.1.1 8255A的框图结构(CPU 总线)D0-D7 数据总线缓冲器(接口) 8255端口数据总线缓冲器:特点: 8位,双向,三态的缓冲器作用:写控制字,读状态信息,读数据,皆通过此口传送1. CPU接口电路DBCBAB8255A的框图2. 内部控制逻辑控制寄存器:例如D6-D3 A组控制,控制A端口和C端口高四位D2-D0 B组控制,控制B端口和C端口低四位读写控制逻辑特点:接收CPU信号,实现对8255的控制. RESET:复位线,使8255复位.3.输入输出接口电路端口A,B亦称PA口PB口8位数据输入锁存器/缓冲器8位数据输出锁存器/缓冲器端口C,亦称PC口8位数据输入缓冲器8位数据输出锁存器/缓冲器六根控制线(DB数据总线)CS WR RD A1 A0 端口DB1 x x x x 高阻0 1 1 x x 高阻0 1 0 0 0 A →0 1 0 0 1 B →0 1 0 1 0 C →0 0 1 0 0 A ←0 0 1 0 1 B ←0 0 1 1 0 C ←0 0 1 1 1 控制寄存器←二,内部端口和地址303H控制字按位置位11302HC1301HB1300HA地址300H-303H端口A0A1方式0:PA,PB,PC高四位,PC低四位A通道端口A端口C高五位B通道端口B端口C低三位方式1,2此时,PC端口作为各通道的数据联络线.3,控制字5.2 8255A编程控制字5.2 8255A编程控制字1,方式控制字同一地址端口D7=1 写入方式控制字.D7=0对端口C按位置位控制字举例16种传输方式例:当地址为11000000xx时选中8255,低位地址接A1,A0求:8255地址范围求:各端口地址将地址为300H-303H的8255的PA口设成方式0输出1000 0000mov dx,303hmov al,80hout dx,al可否将端口A设成方式1输入,端口c高四位设成方式0输出不可2. 8255A按位置位复位控制字向控制端口写将PC6置1(300-303H)mov dx,303hmov al,0dhout dx,alPC口作联络线时,有些联络线状态由8255或外设决定,CPU不知道,不可整体读写.5.1.2 8255A引脚说明1.连接外设PA0-PA7 A口PB0-PB7 B口PC0-PC7 C 口.连接CPU总线D0-D7双向三态接至数据总线.5.3 8255A工作方式5.3.1 方式01.基本输入输出方式:特点:两个8位端口,端口A,端口B.两个四位端口,C高四位,C低四位.共四个I/O端口.由编程设定输入或是输出端口,但不能同时既是输入,又是输出.输出锁存,输入不锁存.无条件输入输出方式端口C仅能整体读写.CS=300H-303H的8255,PA口接7只LED,驱动已接好,输出1时灯亮.设计电路使四个LED依次显示4328定义数据段变量LED开始数据段段码送DSLED偏移地址送SI内存取数至AL送PA口延时有键按下吗ENDYESNOSI+1,BH-1BH为零吗YESNO硬件草图(略)循环输出四个数据(类似阶梯波)PC口置位DATA SEGMANT ;定义数据段LED DB 66h, 0f2H,0d2H,ffHCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA;代码段,数据段寄存器说明START: MOV AX,DATA ;数据段寄存器段码送DSMOV DS,AXMOV DX,303HMOV AL,80HOUT DX,AL ;PA口设成方式0.LP: MOV SI,OFFSET LED ;LED数据偏移地址送SIMOV BH,4 一组输出4个数据.LLP: MOV AL,[SI] ;数据送累加器.MOV DX,300H ;数据送PA口OUT DX,ALMOV CX,100 ;延时DELAY: LOOP DELAYMOV AH,1 ;有键按下则EXITINT 16HJNE EXITINC SI ;取下一个数据DEC BHJNZ LLP ;未取完4个则转LLPJMP LPEXIT:MOV AH,4CH ;软中断返回DOSINT 21HCODE ENDS ;结束END STARTCS=300H-303H的8255,PC口低四位接开关输入,设计电路读取状态. MOV DX,303HMOV AL,81HOUT DX,AL;PC口低四位设成输入.MOV DX,302HIN AL,DXAND AL,0FHAL低四位为开关量的值,高八位为0.0809定时子程序8253(300H-303H)8255(304H-307H)8253方式0,定时200usdelay proc nearpush dxmov al,10h;通道0,方式0mov dx ,303hout dx,almov dx ,300hout dx ,almov dx,307h;8255设置mov al,90hout dx,alstay:in al,dxand al,1jz stay;与结果为零pop dxretdelay endp作业:1,8255PA口地址280H,其余口地址.2,8255编程控制字命令格式,每位含义,读写方式.3,地址为(300H-303H)的8255,其PB0-PB7接7段数码管,设计硬件草图,编写程序使数码管显示28255方式15.3.2 8255方式1特点:中断方式驱动A通道端口A B通道端口BPC3-PC7 PC0-PC2输入输出皆锁存方式1输入5.3.2.1 方式1输入1.通道A控制字D7---D0=10111/0xxxPC4= (strobe)端口A选通控制信号.外部输入低电平(上升沿)有效PC5=IBFa (input buffer full)端口A输入缓冲器满指示信号,高电平有效.数据输入A口未被CPU 取走前,IBFa输出高,指示外设不要在新入信号.PC3=INTRa (interrupt request) 中断请求信号,通道A发出,高电平有效.通常接8259A的Iri端,或CPU的INTR 引脚,申请中断.2. 通道B 控制字1xxxx11xPC2= (strobe)端口B选通控制信号.PC1=IBFb (input buffer full)端口B输入缓冲器满指示信号PC0=INTRb (interrupt request)通道B中断请求信号3.中断的允许与禁止:INTE: ( Interrupt enable) 8255中断允许寄存器通道A INTEa=1 , A口可发中断申请通道B INTEb=1, B口可发中断申请8255A工作于方式1输入时,对PC4,PC2置位,复位操作,分别用来控制INTEa和INTEb的置1与置0.4.方式1输入时序外数据=0锁存8255数据口下降沿0.3us IBF=1有效,禁止输入新信号=0上升沿后0.3us,(若INTE=1,IBF=1)INTR=1,有效CPU中断,读数=0上升沿后0.4us,IBF=0下降沿后0.3us,INTR=05.2.2.3 方式1输出1.通道APC7= (output buffer full)端口A输出缓冲器满,低电平有效.输出给外设,表明CPU已经将外设写入端口A输出缓冲器.PC6= (acknowledge)端口A的响应输入信号,外设收到信号后,发低电平回答8255.PC3=INTRa 向CPU发送中断请求信号,要求CPU中断,把数据写入输出锁存器.2.通道BPC2= PC1= PC0= INTRb.中断允许与禁止INTEa(INTEb) 由CPU向PC6(PC2)送置位,复位控制字,INTE=1,允许中断.INTE=0,不允许中断.3.时序CPU中断后总线数据上升沿锁存8255输出口下降沿0.85us,INTR申请撤销上升沿后0.5us 有效通知外设,外设回应=0下降沿0.35us 无效上升沿0.35us,INTR有效5.2.2.4 方式1输入输出的组合两通道可任意工作在输入或输出方式,由控制寄存器决定.方式1下,端口C仅能读,写入可采用置位/复位方法.。