文档库 最新最全的文档下载
当前位置:文档库 › 8253选择题

8253选择题

8253选择题
8253选择题

1、8253/8254为可编程定时/计数器,包含有(B)计数通道

A、3个8位

B、3个16位

C、4个8位

D、4个16位

2、8253/8254为可编程定时/计数器,每个计数器通道具有(D)种工作方式

A、3

B、4

C、5

D、6

3、8253/8254为可编程定时/计数器,具有(B)种触发启动计数方式

A、1

B、2

C、3

D、4

4、8253只采用软件触发启动计数的工作方式为(B)

A、方式0和方式1

B、方式0和方式4

C、方式0和方式5

D、方式0和方式2

5、8253只采用硬件触发启动计数的工作方式为(C)

A、方式1和方式2

B、方式2和方式4

C、方式1和方式5

D、方式3和方式5

6、8253可采用软件或硬件触发启动计数器的工作方式为(B)

A、方式0和方式1

B、方式2和方式3

C、方式4和方式5

D、方式0和方式5

7、8253能够自动循环计数的工作方式为(B)

A、方式0和方式1

B、方式2和方式3

C、方式4和方式5

D、方式0和方式5

8、8253/8254为可编程定时/计数器,其占有(D)个口地址

A、1

B、2

C、3

D、4

9、当8253的控制线引脚,WR=L,A0=H,A1=H,CS=L时,完成的工作为(D)

A、写计数器0

B、写计数器1

C、写计数器2

D、写控制字

10、当8253的控制线引脚,RD=L,A0=H,A1=L,CS=L时,完成的工作为(B)

A、读计数器0中的计数值

B、读计数器1中的计数值

C、读计数器2中的计数值

D、读控制字的状态

11、若对8253写入控制字的值为96H,说明设定8253的(C)

A、计数器1工作在方式2且将只写低8位计数初值

B、计数器1工作在方式2且将一次写入16位计数初值

C、计数器2工作在方式3且将只写低8位计数初值

D、计数器2工作在方式3且将一次写入16位计数初值

12、当8253控制字设置为3AH时,CPU将向8253(C)初值

A、一次写入8位

B、一次写入16位

C、先写入低8位后写入高8位

D、上述三种情况均不对

13、8253能通过门控信号GA TE=H产生连续波形的方式有(B)

A、方式1和方式2

B、方式2和方式3

C、方式4和方式5

D、方式0和方式5

14、8253可以实现定时功能,若计数器脉冲为1kHz则定时1s的计数初值应为(B)

A、100

B、1000

C、10000

D、100000

15、若使8253计数器1发出1kHz的方波(设输入时钟周期为T i=2MHz),其控制字为(B)

A、36H

B、76H

C、B6H

D、56H

16、8253工作在方式1下,输出负脉冲的宽度等于(A)

A、计数初值N个CLK脉冲宽度

B、计数初值N+1个CLK脉冲宽度

C、计数初值N-1个CLK脉冲宽度

D、计数初值(2N-1)/2个CLK脉冲宽度值

17、8253工作于方式1时,欲使输出负脉冲加宽,则可在输出计数期间(C)

A、改变计数值

B、改变控制字

C、重新加入带上升沿的GATE信号

D、复位

18、在下列8253工作方式中,即使GA TE保持为高电平,处于(B)的8253在写入初值以后也不开始定时或计数

A、方式0

B、方式1

C、方式2

D、方式3

微机接口 8253定时器实验报告剖析

浙江工业大学计算机学院实验报告 实验名称 8253定时器实验 姓名 学号 班级 教师 日期

一、实验内容与要求 1.1 实验内容 计数器方式2实验:将8253芯片的计数器0的工作方式设置为方式2,计数器初值为N,用手动开关逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用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 实验原理 1、8253定时/计数器芯片的内部结构:

8253问答题

1、8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GA TE端必须为()电平,如果是硬件启动呢? 答:8253可编程计数器有两种启动方式,在软件启动时,要使计数正常进行,GA TE端必须为(高)电平;如果是硬件启动,则要在写入计数初值后使GA TE端出现一个由低到高的正跳变,以启动计数。 2、某个计算机应用系统采用8253的计数器0作频率发生器,输出频率为500Hz;用计数器1产生1000Hz的连续方波信号,输入8253的时钟频率为1.19MHz。试问:初始化时送到计数器0和计数器1计数初值分别为多少?计数器工作在什么方式下? 解:计数器0工作在方式2,其计数初值为=1.19MHz/500Hz=2380 计数器1工作在方式3,其计数初值为=1.19MHz/1000Hz=1190 3、若要求8253用软件产生一次性中断,最好采用哪种工作方式?现在用计数器0对外部脉冲计数,每计满10 000个产生一次中断,请写出工作方式控制字及计数值。 解:若8253用软件产生一次性中断,最好采用方式0,即计数结束后产生中断的工作方式。但若要求每计满10 000个产生一次中断,则表示具有重复中断的功能,因此,此时应使用计数器0工作于方式3,即连续方波输出方式。其工作方式控制字为0011X111B,计数初值=10 000 4、试编写一段程序,按下列要求设置如下图中8254的三个计数器 计数器0:二进制计数,在操作方式0下操作,计数初值为1234H 计数器1:BCD计数,在操作方式2下操作,计数初值为100H 计数器2:二进制计数,在操作方式4下操作,计数初值为1FFFH 解:计数器0的方式字=00110000B 计数器1的方式字=01010101B 计数器2的方式字=10111000B MOV AL , 30H OUT 4CH , AL MOV AL , 55H OUT 4CH , AL MOV AL , 0B8H OUT 4CH , AL MOV AL , 34H OUT 40H , AL MOV AL , 12H OUT 40H , AL

8253定时器(微机原理)1

接口实验三 8253定时器 / 计数器 一、实验目的 ⒈学会8253芯片和微机接口的原理和方法。 ⒉. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1. 用8253的0通道产生周期为30毫秒的方波,去控制发光二极管的亮和灭。 2.用8253的0通道和1通道级联的工作方式,产生周期为20秒的方波,去控制发光二极管的亮和灭。 3. 用8253的0通道产生1、2、3、4、5、6、7、8(1的高音)这八个音阶频率的方波信号,送到小喇叭去控制其发声。 三、实验接线图 图1

图2 图3 图6-5 四、实验原理 对8253编程,使OUT1输出周期为2MHZ(周期为0.5μS)的时钟直接加到CLK1,则OUT1输出的脉冲周期最大只有0.5μS*65536=32768μS=32.768MS,达不到20秒的延时要求,为此,需用几个通道级连的方案来解决这个问题。 设N0=5000,工作于方式2,则从OUT0端可得到序列负脉冲,频率为2MHZ/5000=400HZ,周期为2.5MS。再把该信号连到CLK1,并使通道1工作于方式3,使OUT1输出周期为20秒(频率为1/20=0.05HZ)的方波即可,应取时间常数N1=400HZ/0.05HZ=8000。

分频电路由一片74LS393组成, T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 五、编程指南 ⒈8253芯片介绍 8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。 8253的功能用途: ⑴延时中断⑸实时时钟 ⑵可编程频率发生器⑹数字单稳 ⑶事件计数器⑺复杂的电机控制器 ⑷二进制倍频器 2,8253的六种工作方式: ⑴方式0:计数结束中断⑷方式3:方波频率发生器 ⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号 ⑶方式2:频率发生器⑹方式5:硬件触发的选通信号 六、实验程序框图 七、实验步骤 ⒈按图1连好实验线路 ⑴8253的GATE0接+5V。

8253的基本工作原理和编程方法

微机原理与接口技术实验报告 实验名称:8253的基本工作原理和编程方法 姓名: 学号: 专业班级: 指导老师: 实验日期:

一:实验目的 掌握8253的基本工作原理和编程方法。 二:实验内容 按下图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。 三:硬件电路 四:源程序 汇编程序 ioport equ 0d400h-0280h io8253a equ ioport+283h io8253b equ ioport+280h code segment assume cs:code start: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253a out dx,al mov dx,io8253b ;送计数初值为0FH mov al,0fh out dx,al lll: in al,dx ;读计数初值 call disp ;调显示子程序 push dx mov ah,06h

mov dl,0ffh int 21h pop dx jz lll mov ah,4ch ;退出 int 21h disp proc near ;显示子程序 push dx and al,0fh ;首先取低四位 mov dl,al cmp dl,9 ;判断是否<=9 jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30h mov ah,02h ;显示 int 21h mov dl,0dh ;加回车符 int 21h mov dl,0ah ;加换行符 int 21h pop dx ret ;子程序返回 disp endp code ends end start 五:实验难点与重点 8253的工作方式有六种,如何理解和运用这六种工作方式是个难点。8253具有3个独立的计数器,每个计数器必须单独编程进行初始化后才能使用,使用时有时会忘记初始化。 程序流程图:

8253计数器定时器接口实验

微机原理实验报告 实验五 8253计数器/定时器接口实验 1.实验目的 1)学会通过PC总线、驱动器、译码器等在PC机外部扩充为新的芯片; 2)了解8253计数器/定时器的工作原理; 3)掌握8253初始化的程序设计; 4)掌握8253方式0的计数方式的使用方法和方式3方波产生的方法。 2.实验内容 将实验装置上的1片8253定时器/计数器接入系统,具体做两个内容的实验。 1)实验一:将8253的计数器0设置为工作于方式0,设定一个计数初值,用手 动逐个输入单脉冲,观察OUT0的电平变化。 硬件连接:断开电源,按图2-1将8253接入系统。具体包括: (1)将8253的CS接I/O地址输出端280H-287H; (2)将8253的计数器0的CLK0与单脉冲信号相连,以用来对单脉冲进行计数; (3)将8253的GATE0用专用导线接向+5V,以允许计数器0工作; (4)将8253的OUT0接到LED发光二极管,以显示8253计数器0的输出OUT0的 状态。 图2-1 8253实验一的连线图 2)实验二:将8253的计数器0、1均设置为工作于方式3(方波),按图2-2重 新接线。要求是当CLK0接1MHz时,OUT1输出1Hz的方波,OUT的输出由LED 显示出来。将计数器0与计数器1串联使用,计数器0的输出脉冲OUT0作为计数器1的时钟输入CLK1。

图2-2 8253实验二的连线图3.程序及框图 1)程序框图 图4-1给出了8253实验一的流程图。 图4-1 程序流程图 图4-2给出了8253实验二的流程图。 2)程序代码 实验一程序代码: CTRL EQU 283H TIME0 EQU 280H TIME1 EQU 281H DATA SEGMENT MESS DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDS CODE SEGMENT

8253的内部结构与工作方式

8253的内部结构和工作方式 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 一、8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。 1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU 之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。 2.读/写控制 读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1A0来选择。如表9.3.1所示。

3.通道选择 (1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。 (2) RD#、WR#——读/写控制命令,由CPU输入,低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作如表9.3.2所示。 4.计数通道0~2 每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。最大计数值是9999。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。

可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(8253)学生姓名 学生学号 专业班级 指导老师 2015-1-7

实验六可编程定时器/计数器(8253) 一、实验目的 掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1.设计8253定时器/技术器仿真电路图; 2.根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。 三、实验要求 1.要求计数器2工作于模式1(暂稳态触发器),计数初值为1250; 2.计数器0工作于方式3(方波模式),输出一个1KHz的方波,8253的 输入时钟为1MHz,计数初始值格式为BCD。 3.8253与系统的连接如图1所示。 图1计数器8253与8086连接原理图

注:实验过程中,发现图1有误。应将8253定时器/计数器右边部分的电阻R2与按钮交换位置。 四、实验原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 8253的工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。 8253定时器/计数器控制字决定这定时器0,1,2的工作模式。一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。控制字的格式如图2所示。

实验三 8253定时器

实验三8253定时器/计数器实验 姓名:张朗学号:11121535 一、实验目的 1. 学会8255芯片与微机接口的原理和方法。 2. 掌握8255定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。 1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。 2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。 3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。 三、实验区域电路连接图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1; GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元) 四、程序框图 五、编程

1.T=1.48s CODE SEGMENT ASSUME CS:CODE ORG 1200H START: CLI MOV DX, 0043H MOV AL, 34H OUT DX, AL MOV DX, 0040H MOV AL, 0EEH OUT DX, AL MOV AL, 02H OUT DX, AL MOV DX, 0043H MOV AL, 76H ;01110110设置计数器1,方式3,16位二进制计数OUT DX, AL MOV DX, 0041H MOV AL, 0E8H OUT DX, AL MOV AL, 03H OUT DX, AL JMP $ ;8253自行控制led灯 CODE ENDS END START

8253定时

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.用导线单片机最小应用系统P 2.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 。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH20_8253.ASM”,进行编译,直到编译无误。 4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。 5.从计数器/频率计可以看到OUT0输出的频率是CLKO的256分频(大约=970Hz)。 四、源程序(见光盘中的程序文件夹) 五、思考题 1.比较8253的六种工作方式的异同,并列表分析。 2.分析如何根据实验电路确定8253的端口地址? 六、实验电路

单片机实验 中断、定时器

大连理工大学实验报告(模板) 实验时间:年月日星期时间::~ : 实验室(房间号):实验台号码:班级:姓名: 指导教师签字:成绩: 实验三外部中断/INT0实验 一、实验目的和要求 学习、掌握单片机的中断原理。正确理解中断矢量入口、中断调用和中断返回的概念及物理过程。学习编写“软件防抖”程序,了解“软件防抖”原理。 对/int0、/int1两个外部中断进行编程,其中: ●主程序的功能:LDE灯“全亮”、“全灭”交替进行 --------(状态2); ●Int0中断服务程序功能:2个相邻的LED灯被点亮且循环左移(状态0); ●Int1中断服务程序功能:1个LED灯被点亮且循环右移 ---(状态1);【注意】:实验仪上的LED灯物理位置最左侧为d0;最右侧为d7。 二、实验算法 1 在主程序中利用CPL P3.3的指令驱动其电平不断地转换(由逻辑笔电路做程序状态监视)。 2 在中断服务程序中将P3.3置位(P3.3=1),实现对计数器“加1”并(通过P1口)显示的功能。 3 中断结束后回到主程序,程序继续对P3.3的电平不断取反。 三、实验电路图

四、实验流程图 主程序入口INT0入口 设置中断允许P3.2置1 设置中断优先级调用延时子程序 设TCON 计数器加一并显示 CLR A开中断 (P0)—(A) P3.2=0? 调用延时子程序调用延时子程序 (A)—(A) RETI INT1同理 五、程序清单 ORG 0000H LJMP START ORG 0003H LJMP INT_0 ORG 0013H LJMP INT_1 ORG 0100H ;主程序 START: MOV SP,#60H MOV IE,#85H

8253工作方式以及应用举例

第27课 8253工作方式以及应用举例 8253的六种工作方式,8253的实际应用举例。本课主题: 教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。 教学重点:8253的硬件连接和软件初始化方法。 教学难点:8253的在系统中的应用。 授课内容: 8253的每个通道都有6种不同的工作方式,下面分别进行介绍。 1.方式0--计数结束中断方式(Interrupt on Terminal Count) 2.方式1--可编程单稳态输出方式(Programmable One-short) 3.方式2--比率发生器(Rate Generator) 4.方式3--方波发生器(Square Wave Generator)

5.方式4--软件触发选通(Software Triggered Strobe) 6.方式5--硬件触发选通(Hardware Triggered Strobe) 由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。现将各种方式的主要特点概括如下: 对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。

方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。 这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道再次按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。 8.2 8253的应用举例 一、8253定时功能的应用例子 1(用8253产生各种定时波形 在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能: (1)通道0工作于方式3,输出频率为2kHz的方波; (2)通道l产生宽度为480us的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。 2.控制LED的点亮或熄灭 用8253来控制一个LED发光二极管的点亮和熄灭的例子,要求点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。假设这是一个8086系统,8253的各端口地址为81H、83H、85H和87H。

详细介绍定时器和定时器中断

详细介绍定时器和定时器中断 后来学着学着就了解到中断的意义了,不过对于第一次接触单片机的人来说,还是很难解说的清楚的。 所以这里我做个比喻吧。假设你客厅的电话来电时,有铃声和闪光提示,而你在房间看书,那么有电话来的时候,你听到铃声,然后放下手上的书,并用书签记录你的页数,再出去听电话。听完后,回到房间,从书签标记的位置继续看你的书。 OK,分析上面的几个动作,电话响并被你听到,那是中断来了;你用书签标记位置,那是现场保护;听电话,就是执行中断咯;听完电话,你要从你刚才标记的地方继续看书,那就是中断执行完毕后回到原中断处继续执行程序。这个就是中断的过程了。 假设没有了中断的话,你会如何?你会用扫描法:电话不会响铃了,只有闪光,但你必须在房间看书,那你只能每看几段,就跑出去看看是否有电话到,如果没有,就跑回去看书,如果有了,那你就听电话吧。很明显,扫描法效率非常低,因为你每看一会书就得花时间看看电话的闪光以判断是否有电话的到来,这样你看书的效率就大大减低了。而且扫描法还有个最大的缺点,就是中断丢失,试想如果你扫描的间隔过大(就是看很久书才去看一下电话),那你极有可能丢了几个重要的来电。 其实上面的比喻,正能很好地表现中断的作用——其实中断就是为了处理突发事件。 对于单片机来说,突发的事情实在太多了,例如用户对单片机输入数据,按键,那都是单片机本身无法估计的事情。外来数据的突然进入,也属于突发事件。这些外部来的突发信号,一般就由单片机的外部中断来处理。外部中断其实就是一个管脚的状态改变引起的中断,在之后会说。 这里先介绍定时器和定时器中断: 在测量控制系统中,常常需要实时时钟,以实现定时控制、定时测量或定时中断等。也常需要计数器以实现对外部事件的计数。MCS-51单片机中有两个(增强型有三个)十六位的定时计数器T0,T1,简称定时器0和定时器1,两者均为可编程定时计数器。 ——以上P话抄自《单片微型计算机与接口技术》94页第一段-_-#!!!!!

单片机实验三_中断与定时器实验

a b c d e f g 实验三 中断、定时器实验 信息学院 10通信A 柳东旭 1015231030 一、实验目的 1. 学习外部中断和定时器的工作原理及使用方法。 2. 学习外部中断和定时器的初始化程序、应用程序的编写和调试。 二、实验仪器和设备 PC 机、W A VE 软件、仿真器+仿真头、实验板、电源等。 三、实验说明 本实验1通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED 数码管指示出计数值,从而观察中断的请求、响应的过程。实验2通过单片机的定时器产生延时,模拟交通灯控制的方法。通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试。 四、实验内容 1、开关S0—S1连接P3口做输入,P0输出接LED 数码管,通过S2产生外部中断请求(/INT0)信号,在中断服务程序中完成十进制递增计数,并将计数值显示在LED 数码管上,要求分别采用电平触发和边沿触发。按上述要求完成S3产生外部中断请求。编写初始化程序和中断服务程序。(注意开关抖动处理) 2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,要求发光二极管(LED )按亮0.5秒、暗0.5秒闪烁,LED 亮的同时,从P2.0送出1kHz 的音频信号到音频驱动电路发声(持续0.5秒),将开关编号(0—7)显示在LED 数码管上。要求延时采用内部定时器T0,音频的产生采用内部定时器T1。编写初始化程序和中断服务程序。 五、实验电路连线 P0.0 ---- LED0 P3.2(/INT0)----- S2 P0.1 ---- LED1 P3.3(/INT1)----- S3 P0.2 ---- LED2 P0.3 ---- LED3 P0.4 ---- LED4 P0.5 ---- LED5 P0.6 ---- LED6 P0.7 ---- LED7 LED 连接 外部中断请求输入 a b c d e f g h(dp) P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

8253定时器计数器实验

洛阳理工学院实验报告

(1)、连接实验电路 连线: 8253 CS ------ 端口地址 300CS PACK IMS ----- 393 1A 393 1QD ------ 8253 CLK1 8253 OUT1 ---- 8253 CLK2 8253 OUT2 ---- 发光二极管 L15 8253 GATE1 -- (A10)+5V 8253 GATE2 -- (A10)+5V 结果如下图所示: (2)、实验程序如下所示: CS8253 EQU 0303H COUNT0 EQU 0300H COUNT1 EQU 0301H COUNT2 EQU 0302H CODE SEGMENT ASSUME CS:CODE START PROC NEAR MOV DX,CS8253 MOV AL,01110110B OUT DX,AL

MOV DX,COUNT1 MOV AX,307 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,CS8253 MOV AL,10110110B OUT DX,AL MOV DX,COUNT2 MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL JMP $ START ENDP CODE ENDS (3)、经编译、链接无语法错误后装载到实验系统,全速运行程序,观察发光二极管L15,应有周期为1s的点亮、熄灭。结果如下图所示: 一秒后又熄灭,如此往复。 (4)、做完实验后,应按暂停命令中止程序的运行。 二、8253计数器实验 验证8253的工作方式3,CLK1每输入5个单脉冲信号,改变一次OUT1状态。 实验电路: DATA BUS D7~D0 D0 8 OUT0 10 D1 7 GATE0 11 D2 6 CLK0 9 D3 5 D4 4 D5 3 D6 2 OUT1 13 D7 1 GATE1 14 CLK1 15 CS 21 RD 22 WR 23 OUT2 17 A0 19 GATE2 16 A1 20 CLK2 18 8253 /CS 300CS IOR IOW A0 A1 VCC 1.8432MHz OUT0 GATE1 CLK1 OUT1 OUT2 CLK2 GATE2 +5V SP单次正脉冲 L15发光二极管显示

8253A不同工作方式的实验

实验一、8253A不同工作方式的实验姓名:李尔楠学号:11281008 班级:计科1101 第五组 实验目的 通过了理论的学习的同时还需要对所学知识有个直观而生动的了解,通过此次实验可以加深刻的理解8253A定时/计数器的各种工作方式的特点;通过观察实验波形,可直观地了解这几种工作方式的异同。 实验内容 编写程序分别显示0,2,3几种工作方式下的波形。要求2方式的输出频率为1000Hz,3方式的输出频率为2000Hz,0方式的定时长度为。 本实验使用8253A的定时/计数器2,GATE2通过K1接到+5V或地,CLK2接1MHZ 的时钟脉冲,OUT2接示波器观测输出波形,并在数码管上显示“8253---A”。 实验线路连接

代码分析 2方式 。。。由于灯闪烁速度过快将初值设为00H更有助于观察.Model small .386 CODES SEGMENT DA TA SEGMENT DA TA ENDS ASSUME CS: CODES, DS: DA TA START: MOV AX, DATA MOV DS, AX MOV DX, 203H MOV AL, 10110100B OUT DX, AL MOV DX, 202H MOV AL, 0E8H OUT DX, AL MOV AL, 3H OUT DX, AL CODES ENDS

END START 初值=1MHz/1000Hz=1000=3E8H,因此需要高低位,读写顺序命令字选11。计数器2选用10, 方式2选用010,2进制计数。因此命令字为10110100B。203H为命令字入口,202H 为计数器2入口。分两次分别打入高低位。 3方式 由输出频率为2000Hz, 初值T= 1MHz/2000Hz=500=1F4H.。。。由于灯闪烁速度过快将初值设为00H更有助于观察代码如下: .Model small .386 DA TA SEGMENT DA TA ENDS CODES SEGMENT ASSUME CS: CODES, DS: DA TA START: MOV AX, DATA MOV DS, AX MOV DX, 203H MOV AL, 10010110B OUT DX, AL MOV DX, 202H MOV AL, 0F4H OUT DX, AL MOV AL, 1H OUT DX, AL MOV AH, 4CH INT 21H CODES ENDS END START 初值=1MHz/2000Hz=500=1F4H,因此需要高低位,读写顺序命令字选11。计数器2选用10, 方式3选用011,2进制计数。因此命令字为10110110B。203H为命令字入口,202H 为计数器2入口。分两次分别打入高低位。 0方式 由定时长=1ms得 初值T C= 1ms * 1MHz = 1000 = 3E8H .Model small .386 DA TA SEGMENT DA TA ENDS CODES SEGMENT

8253定时器计数器接口与数字电子琴

实验目的 1.通过程序改变定时器的数值来改变声音频率 2.通过编程来获得声调和节奏,使计算机演奏出乐曲来。 硬件设计 利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。 8255的A 口设置为输出,8255的A 口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PA0的通断时间,就能发出不同的音长。8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时器,分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器工作在方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。当8255的PA0和PA1都为1时,8253发出指定频率的声音信号的前提下,声音信号通过与门到达驱动器驱动扬声器发声。 硬件原理图如图1所示: 图1 硬件原理图 8253 计数器 与门 扬声器驱动 扬声 器 8255 PA0 8255 PA1 门控 控制喇叭 Q0

扬声器驱动电路如图2所示。 图2 扬声器驱动电路 软件设计 系统要求实现2个功能,电子琴和音乐盒的功能。两者发声的方法一样,只是一个数据是从键盘读取的,另一个是已经保存好的数据。首先我们可以用一个子程序实现单个音调的产生,对8253输入不同的计数初值生成不同频率的波形,然后延时一段时间。电子琴程序主要是读取键盘按键,根据键值产生不同的音调即可。而乐曲的播放先将乐曲的音符编码表和节拍编码表建立好的,然后在播放时读取数据。 1. 单音调子程序SOUND 单音调子程序的调用前需要进行以下几个方面工作: 1)确定相应的音调所对应的频率,查表可以得到,再由频率得到对应的8253计数初值。 2)确定音长,即一个音符所持续的时间。 在单音调子程序中实现发出一个音符的声音,持续所需的时间,流程图如图3所示:

8253的工作方式解析

8253的工作方式 1.方式0 计数结束产生中断 8253用作计数器时一般工作在方式0。所谓计数结束产生中断,是指在计数值减到0时,输出端(OUT)产生的输出信号可作为中断申请信号,要求CPU进行相应的处理。方式0有如下特点: ① 当控制字写进控制字寄存器确定了方式0时,计数器的输出(OUT端口)保持低电平,一直保持到计数值减到0。 ② 计数初值装入计数器之后,在门控GATE信号为高电平时计数器开始减1计数。当计数器减到0时输出端OUT才由低变高,此高电平输出一直保持到该计数器装入新的计数值或再次写入方式0控制字为止。若要使用中断,可以计数到0的输出信号向CPU发出中断请求,申请中断。 ③ GATE为计数控制门,方式0的计数过程可由GATE控制暂停,即GATE=1时,允许计数;GATE=0时,停止计数。GATE 信号的变化不影响输出OUT端口的状态。 ④ 计数过程中,可重新装入计数初值。如果在计数过程中,重新写入某一计数初值,则在写完新计数值后,计数器将从该值重新开始作减1计数。

2.方式1 可编程的单拍负脉冲 可编程的单拍负脉冲又称为单稳态输出方式,简称单稳定时。方式1的特点是: ① CPU写入控制字后,计数器输出OUT端为高电平作为起始电平,在写入计数值后计数器并不开始计数(不管此时GATE 是高电平还是低电平),而要由外部门控GATE脉冲上升沿启动,并在上升沿之后的下一个CLK输入脉冲的下降沿开始计数。 ② GATE上升沿启动计数的同时,使输出OUT变低,每来一个计数脉冲,计数器作减一计数,直到计数减为 0时,OUT 输出端再变为高电平。OUT端输出的单拍负脉冲的宽度为计数初值乘以CLK端脉冲周期。设计数初值为N,则单拍脉冲宽度为N个CLK时钟脉冲周期。 ③ 如果在计数器未减到0时,GATE又来一触发脉冲,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。当减至0时,输出端又变为高电平。这样,使输出脉冲宽度延长。 3. 方式2 分频脉冲发生器 方式2是一种具有自动予置计数初值N的脉冲发生器。从OUT

外部中断和定时器

#include void main() { EA=1;//开总断(所有中断)寄成器头文件都定义好,直接拿来用就可以 EA=0;//关总断 ET1=1;//开定时器中断1; ET1=0;//关定时器中断1; PT1=1;//定时器中断1为高优先级 PT1=0;//定时器中断1为低优先级外部中断分两个等级,MCU优先响应高优先级的中断,同级中断的顺序:外部中断0,定时器T0,外部中断1,定时器T1,串行口 //TMOD寄存器控制两个定时(计数中断)中断,定时器或计数器的工作方式,寄存器有八位但不能进行位操作。 // 八位分别是GATE C/\T M1 M0 GATE C/\T M1 M0 高四位控制定时器T1,低四位控制定时器T0. //每位作用分别是M1,M0控制计数器或定时器的工作方式。 // M1 M0 工作方式功能说明 // 0 0 方式0 13位计数器K位13 最大定时时间为8912uS 最大计数为8912次,和方式一有点重合,一般用方式一会多点。 // 0 1 方式1 16位计数器K位16 最大定时时间为65536uS 最大计数为65536次 // 1 0 方式2 自动再装入8位计数器只用装一次初值,低八位的初值会自动重装高八位中,计数和定时精度比较高,串口通信等。 // 1 1 方式0 定时器0,分成两个8位计数器,定时器1停止工作。使用见书,用的不多。 // C/\T :功能选择位,C/\T=0时,为定时器,C/\T=1,为计数器。 // GATE :门控制位。当GATE=0时,软件可以控制位TR0或TR1来启动或关闭T0或T1. 当GATE=1时,TR0和TR1为1并且\INT0和\INT1为高电平才能启动T0和T1。允许外部中断0或外部中断1来启动T0和T1。 // 定时器时间=(2的K次方-初值X)*振荡周期*12 内部12分频的 TMOD=0X10;//定时器t1以方式一定时

51单片机 串口中断与定时器中断共存同时使用

#include #include #define uchar unsigned char #define uint unsigned int sbit led1=P2^0; uchar SerialV alue; //串口接收到的值; uchar i; void main() { smglk=0; smgbitlk=0; ledlk=1; //----- Serial Port Setting ----- TMOD=0x21; //设定定时器为方式2 可自动再装入的定时器 SM0=0; //设定串口工作方式1 10位异步收发器8位数据 SM1=1; //设定串口工作方式1 10位异步收发器8位数据 TH1=0xfd;//装入初值 TL1=0xfd; //装入初值 PCON=0x00; //设定串行口波特率 REN=1; //允许串行接收位。REN=1,启动接收数据;REN=0,禁止接收。 IP=0x10; TH0=(65535-50000)/256; TL0=(65535-50000)%256; TR0=1; //启用T0定时器/计数器 ET0=1; //T0定时器中断开关;(开) TR1=1; //启用T1定时器/计数器 ET1=1; //T1定时器中断开关;(开) ES=1; //串行中断开关;(开) EA=1; //总中断开关;(开) SerialV alue=0x02; while(1) { } } //串口中断 void serial() interrupt 4 { SerialV alue=SBUF; RI=0; } void timer0() interrupt 1 { TH0=(65535-50000)/256; TL0=(65535-50000)%256; i++; if(i>SerialV alue) { i=0; led1=!led1; } }

实验三_8253定时器计数器实器

实验三 8253定时器/计数器实验 一、实验目的 1. 学会8253 芯片与微机接口的原理和方法。 2. 掌握8253 定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将8253的计数器0设置为方式2 (频率发生器),计数器1设置为方式3 (方 波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。 1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。 2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。 3.上面计数方式选用的是 16 进制,现若改用 BCD 码,试修改程序中的二个计数初值,使 LED 的闪亮频率仍为1Hz。 三、电路图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1; GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz; 四、流程图及编程指南 8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz用+5V 单电源供电。8253 的六种工作方式: ⑴方式0:计数结束中断⑷方式3:方波频率发生器 ⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号 ⑶方式2:频率发生器⑹方式5:硬件触发的选通信号8253 初始化编程 1. 8253 初始化编程 8253 的控制寄存器和 3 个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。因此8255 在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则: ①在对某个计数器设置初值之前,必须先写入控制字; ②在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是高、低位字节都写(分两次写,先低字节后高字节)。

相关文档