实验6_8254定时器计数器应用实验

实验6_8254定时器计数器应用实验
实验6_8254定时器计数器应用实验

实验六8253/4定时器/计数器应用实验

6.1实验目的

(1) 掌握8254的工作方式及应用编程(参考教材)

(2) 掌握8254的典型应用电路的接法

(3) 学习8254在PC系统中的典型应用方法

6.2实验设备PC机一台,TD-PIT-B实验装置一套。

6.3实验内容及说明

1 )计数应用实验。2)定时应用实验。3)电子发声实验

注意:在断电情况,连接好实验线路,检查无误后,通电进行实验。实验完毕,先断电,再拆线,并将导线整理好。

1. 计数应用实验:

编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1 -作为CLK0时钟,OUT0连接IRQ,每当KK1-按动5次后产生中断请求,在屏幕上显示字符“ M ”。8254计数应用参考连接线图如图6-1。

;;----PCI卡分配的第3个I/O空间

MY8254_COUNT0 MY8254_COUNT1 MY8254_COUNT2 MY8254_MODE ;;--PCI卡分配的第1个I/O空间

INTCSR_BYTE0 INTCSR_BYTE1 DATA SEGMENT

CSBAK DW ?

IPBAK DW ?

MKBAK DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

;;计数应用实验

;;filename : 8254-1.asm INTCSR_BYTE2

INTCSR_BYTE3

EQU 0DC3AH

EQU 0DC3BH IMB4_BYTE3 EQU 0DC1FH

EQU 0E440H EQU 0E441H EQU 0E442H EQU 0E443H

EQU 0DC38H EQU 0DC39H +5V KK1--IR Q

图6-1 8254计数应用实验参考接线图

START: CLI

MOV AX,DA TA

MOV DS,AX

MOV DX,INTCSR_BYTEO

;;设置pci卡

MOV AL,00H

OUT DX,AL

MOV DX,INTCSR_BYTE1

MOV AL,1FH

OUT DX,AL

MOV DX,INTCSR_BYTE2

MOV AL,3FH

OUT DX,AL

MOV DX,INTCSR_BYTE3

MOV AL,00H

OUT DX,AL

MOV AX,0000H

MOV ES,AX

MOV DI, 01C4H

;irq 9 , INT 71h, 01c4= 71h*4

MOV AX,ES:[DI]

MOV IPBAK,AX ;IP

MOV AX,OFFSET MYINT

CLD

STOSW

MOV AX,ES:[DI] ;CS

MOV CSBAK,AX

MOV AX,SEG MYINT

STOSW

IN AL,0A1H

MOV MKBAK,AL

AND AL,0fdh ; irq9

OUT 0A1H,AL

STI

MOV DX,MY8254_MODE ;CLK=KK1- //

实际接线kk1-

MOV AL,17H ;00 01,011 1b :计数器0,读/写低8位;方式3, 十进制数

OUT DX,AL

MOV DX,MY8254_COUNT0

MOV AL,5

;;写入计数初值3个高电平,2个低电平

OUT DX,AL

A1: NOP

CALL BREAK

JMP A1

MYINT: PUSH DS

PUSH AX

PUSH DX

MOV DX,IMB4_BYTE3

;清PCI卡中断标志

IN AL,DX

MOV DX,INTCSR_BYTE2

MOV AL,3FH

OUT DX,AL

MOV AL,61H

;irq9从片D1,主片D2

OUT 0A0H,AL

MOV AL,62H

OUT 20H,AL

MOV AX,0E4DH

;显示字母M加一空格

INT 10H

MOV AX,0E20H

INT 10H

POP DX

POP AX

POP DS

IRET

BREAK PROC NEAR

PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DS CLI

MOV AL,MKBAK OUT 0A1H,AL MOV AX,0000H MOV ES,AX CLD STOSW

MOV AX,CSBAK STOSW

MOV DX,INTCSR_BYTE1 ;pci 卡设置 MOV AL,00H OUT DX,AL

STI

MOV AX,4C00H INT 21H

RETURN:POP DS

RET

BREAK ENDP CODE ENDS

END START

MOV AX,IPBAK

2. 定时应用实验

编写程序,将8254的计数器0设置为方式2,用信号源10kHz 作为CLK0时钟,计数值为 十进制0(即最大计数值10000),OUT0连接IRQ ,这样每计时1s 后产生中断请求,制作一个秒 表显示,每计时 60秒自动归零。8254定时应用实验参考连线图:

XA 1 XA 0 XIOW XIOR 10 丫2

图6-2 8254定时应用实验参考接线图

MOV DI,01C4H

;irq 9 INT 71H,01C4H=71H*4 XD7 XD6 总 线 接 口

XD5

XD4 XD3 XD2 XD 1 XD0 D7 D6 D5

D4

D3 D2 D 1 D0

GAT E0

CLK0

8254 OU T0

UN IT

一 ------ +5V

10K HZ (接信号源) IRQ

/W R /RD /CS

;8254定时应用实验

;filename : 8254-2.asm

;;PCI 卡分配的第 MY8254_COUNT0 3个I/O 空间

EQU 0E440H

MY8254_COUNT1 EQU

0E441

H

MY8254_COUNT2 EQU

0E442

H

MY8254_MODE EQU 0E443

H ;;PCI 卡分配的第 1个I/O 空间 INTCSR_BYTE0 EQU 0DC38H INTCSR_BYTE1 EQU

0DC39H

INTCSR_BYTE2 EQU 0DC3AH INTCSR_BYTE3 EQU 0DC3BH IMB4 BYTE3 EQU

0DC1FH

DATA SEGMENT CSBAK DW ?

IPBAK DW ?

MKBAK

DB ?

SEC1 DB 30H ;显示秒的个位 SEC0 DB 31H ;显示秒的十位 MOV DI, 01C4H

;irq 9 , INT 71h, 01c4= 71h*4 MOV AX,ES:[DI] MOV IPBAK,AX

;IP

MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:[DI] ;CS MOV CSBAK,AX MOV AX,SEG MYINT STOSW IN AL,0A1H

MOV MKBAK,AL AND AL,0fdh

; irq9

OUT 0A1H,AL

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START: CLI

MOV AX,DA TA MOV DS,AX

MOV DX,INTCSR_BYTEO MOV AL,00H OUT DX,AL

MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL

MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL

MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL

MOV AX,0E30H

显示00回车,注意没有换行,同在一行显示

INT 10H MOV AX,0E30H INT 10H MOV AX,0E0DH INT 10H

MOV DX,MY8254_MODE ;CLK=10K

MOV AL, 35H

;0011,0101B 计数器0,读写低/高位 方式2

;十进制计数方式

OUT DX, AL

MOV DX,MY8254_COUNT0 ;写入计数值10000 MOV AL,0 OUT DX,AL OUT DX,AL STI

MOV AX,0000H

MOV ES,AX

A1: NOP

CALL BREAK

JMP A1

MYINT: PUSH DS

PUSH AX

PUSH DX

MOV AX,DA TA

MOV DS,AX

MOV DX,IMB4_BYTE3

;;清PCI卡中断标志

IN AL,DX

MOV DX,INTCSR_BYTE2

MOV AL,3FH

OUT DX,AL

MOV AL,61H

;;irq9从片D1,主片D2

OUT 0A0H,AL

MOV AL,62H

OUT 20H,AL

MOV AH,0EH

MOV AL,SEC1

INT 10H

MOV AH,0EH

MOV AL,SEC0

INT 10H

MOV AX,0E0DH

;只回车,不换行,还在原处

INT 10H

INC SEC0

;秒的个位+1

CMP SEC0,3AH

;个位计数到10

JZ B3

JMP B1

B3: INC SEC1

MOV SEC0,30H

CMP SEC1,36H ;十位计数到6

JZ B4

JMP B1

B4: MOV SEC1,30H ;计到60,重新到零

B1: POP DX

POP AX

POP DS

IRET

BREAK PROC NEAR

PUSH DS

MOV AH,06H

MOV DL,0FFH

INT 21H

JE RETURN

POP DS

CLI

MOV AL,MKBAK

OUT 0A1H,AL

MOV AX,0000H

MOV ES,AX

MOV DI,01C4H

;irq 9 INT 71H,01C4H=71H*4

MOV AX,IPBAK

CLD

STOSW

MOV AX,CSBAK

STOSW

MOV DX,INTCSR_BYTE1

MOV AL,00H

OUT DX,AL

STI

MOV AX,4C00H

INT 21H

RETURN:POP DS

RET

BREAK ENDP

CODE ENDS

END START

3. 电子发声实验:

1 )用实验系统扬声器做发声实验

用信号源1MHz作为扬声器发声基准时钟,计数器0设置为工作方式3,由表格查出每个音符

对应的时间常数送给计数器0,以确定音调,驱动扬声器产生音乐。8254电子发声实验参考图如图6-3所示。(发声频率已设定,但发声时间是通过软件延时控制的,因此发声时间随不同档次PC 机而变化,可以通过调节延时子程序参数来调节发声时间)

MY8254_COUNT0

MY8254_COUNT1

MY8254_COUNT2

MY8254_MODE

EQU 0E443H

DATA SEGMENT

DTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H

DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H

DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H

DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DH DB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H

DB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H

DB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH

DB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39H

DB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H

DATA ENDS

ASSUME CS:CODE +5V

1M HZ SPK

用实验系统扬声器做发声实验

EQU 0E440H

EQU 0E441H

EQU 0E442H CODE SEGMENT

START: MOV AX,DA TA

MOV DS,AX

MOV BX,OFFSET DTABLE

MOV AL,[BX]

MOV AH,00H

A1: MOV DL,0AH ;CLK=1MHz MUL DL

PUSH AX

MOV DX,MY8254_MODE

MOV AL,36H

;;0011,0110B计数器0,读写低高字节,;;方式3,二进制

OUT DX,AL

POP AX

MOV DX,MY8254_COUNTO

OUT DX,AL

MOV AL,AH

OUT DX,AL

INC BX

MOV AH,00H

MOV AL,[BX]

TEST AL,0FFH

JZ A2

PUSH AX

CALL DALLY

CALL BREAK

POP AX

JMP A1

A2: MOV BX,OFFSET DTABLE MOV AL,[BX]

MOV AH,00H

JMP A1

DALLY: MOV CX,0F7FFH ;根据不同机器配置修改此值

D1: MOV AX,0D00H

D2: DEC AX

JNZ D2

LOOP D1

BREAK PROC NEAR ;检测是否有键按下

MOV AH,06H

MOV DL,0FFH

INT 21H

JE RETURN

MOV AX,4C00H

INT 21H

RETURN:RET

BREAK ENDP

CODE ENDS

END START

2)用PC机扬声器做发声实验

有三个计数器在PC机中集成,它们的功能、操作完全与8254兼容。三个计数器的端口地

址分别是40H, 41H,42H。控制寄存器地址为43H。 PC扬声器发声需要计数器2输出OUT2 和端口6伯(8255PB 口)的D1、D0的控制,只有都为“ 1”时扬声器才可以发声。我们可以将61H的D1、D0两位置1,然后改变计数器2的初值,使OUT2输出不同的频率,从而改变扬声器发声的音调。PC机中定时器结构框图如图6-X所示。

具体实验步骤如下:

(1) 编写程序,通过设置PC机内计数/定时器2,实现PC机内扬声器的发声

(2) 注意退出时要恢复端口61H原来的值

(3) 运行程序,观察发声是否正常

(4) 若音乐节拍发声时间较长或较短,可以修改延时子程序中的计数值,调整发声时间到最佳。

;file name: 8254-3.asm

;用pc扬声器作发声实验

PC8254_COUNTO EQU 40H

PC8254_COUNT1 EQU 41H

PC8254_COUNT2 EQU 42H

PC8254 MODE EQU 43H

DATA SEGMENT

BAK

DTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H

DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H

DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H

DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DH DB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H

DB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H

DB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH

DB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39H

DB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START: IN AL,61H

MOV BAK,AL

MOV DS,AX

MOV BX,OFFSET DTABLE MOV AL,[BX]

MOV AH,00H

A1: MOV DL,20H

DB

MOV AX,DA TA

图6-4 PC机中定时器结构框图

MUL DL ;将值*20h=32 al*dl->ax MOV AH, 00H

JMP A1 ;重新开始

MOV DX,PC8254_MODE

MOV AL,0B6H ; 1011,0110B 定

;;时器2,读写高低字节,方式3,二进制OUT DX,AL

POP AX

MOV DX,PC8254_COUNT2

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV AL,BAK

OR AL,03H ; 端口61H 的D1,D0 置1

OUT 61H,AL

INC BX

MOV AH, 00H

MOV AL, [BX]

TEST AL,0FFH ;是否结束,到00h

JZ A2

PUSH AX

CALL DALLY

CALL BREAK

POP AX

JMP A1

A2: MOV BX,OFFSET DTABLE

MOV AL,[BX] DALLY: MOV CX,0F7FFH

;延时,改变延时时间看效果

D1: MOV AX,0D00H

D2: DEC AX

JNZ D2

LOOP D1

BREAK PROC NEAR

MOV AH,06H ;是否有键按下?

MOV DL,0FFH

INT 21H

JE RETURN

AND AL,0FDH

;61H D1位置0,使扬声器不发声

OUT 61H,AL

;d0 gate2, d1在与门位置

MOV AL,AH

;这是一个无效语句,被下句冲掉?

MOV AL,BAK ;恢复原值。

OUT 61H,AL

MOV AX,4C00H

INT 21H

RETURN:RET

BREAK ENDP

CODE ENDS

END START

PUSH AX

实验六计数器及其应用

实验六计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 3、运用集成计数计构成1/N分频器 二、实验原理 1、用D触发器构成异步二进制加/减计数器 图1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T'触发器,再由低位触发器的Q端和高一位的CP端相连接。 图1 四位二进制异步加法计数器 2、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图2所示。 图2 CC40192引脚排列及逻辑符号 图中LD—置数端 CP U —加计数端 CP D —减计数端

CO—非同步进位输出端BO—非同步借位输出端 D 0、D 1 、D 2 、D 3 —计数器输入端 Q 0、Q 1 、Q 2 、Q 3 —数据输出端 CR—清除端 CC40192(同74LS192,二者可互换使用)的功能如表9-1,说明如下: 表9-1 3、计数器的级联使用 图3是由CC40192利用进位输出CO控制高一位的CP U 端构成的加数级联图。 图3 CC40192级联电路 4、实现任意进制计数 (1) 用复位法获得任意进制计数器 假定已有N进制计数器,而需要得到一个M进制计数器时,只要M<N,用复位法使计数器计数到M时置“0”,即获得M进制计数器。如图4所示为一个由CC40192 十进制计数器接成的6进制计数器。 (2) 利用预置功能获M进制计数器 图4 六进制计数器

三、实验设备与器件 1、+5V直流电源 2、双踪示波器 3、连续脉冲源 4、单次脉冲源 5、逻辑电平开关 6、逻辑电平显示器 7、译码显示器 8、 CC4013×2(74LS74)、CC40192×3(74LS192)、CC4011(74LS00) CC4012(74LS20) 四、实验内容 1、用CC4013或74LS74 D触发器构成4位二进制异步加法计数器。 (1) 按图9-1接线,R D 接至逻辑开关输出插口,将低位CP 端接单次脉冲源, 输出端Q 3、Q 2 、Q 3 、Q 接逻辑电平显示输入插口,各S D接高电平“1”。 (2) 清零后,逐个送入单次脉冲,观察并列表记录 Q 3~Q 状态。 (3) 将单次脉冲改为1HZ的连续脉冲,观察Q 3~Q 的状态。 (4) 将1Hz的连续脉冲改为1KHz,用双踪示波器观察CP、Q 3、Q 2 、Q 1 、Q 端波 形,描绘之。 5) 将图9-1电路中的低位触发器的Q端与高一位的CP端相连接,构成减法计 数器,按实验内容2),3),4)进行实验,观察并列表记录Q 3~Q 的状态。 2、测试CC40192或74LS192同步十进制可逆计数器的逻辑功能 (1) 清除:CR=1 (2) 置数:CR=0,数据输入端输入任意一组二进制数,令LD= 0,观察计数译码显示输出。 (3) 加计数:CR=0,LD=CP D =1,CP U 接单次脉冲源。 (4) 减计数:CR=0,LD=CP U =1,CP D 接单次脉冲源。 3、图9-3所示,用两片CC40192组成两位十进制加法计数器,输入1Hz连续计数脉冲,进行由00—99累加计数,记录之。 4、按图4电路进行实验,记录之。

定时器、计数器操作与应用实验报告

实验三 定时器、计数器操作与应用实验报告 、实验目的 1、 了解和熟悉FX 系列可编程序控制器的结构和外 部接线方法; 2、 了解 和熟 悉 GX Developer Version 7.0 软件的 使用 方法 ; 3、 掌握 可编 程序 控制器 梯形 图程 序的 编制 与调 试。 二、实验要求 仔 细阅 读实 验指 导书 中关 于编 程软 件的 说明 ,复习 教材 中有 关内 容 , 分 析程 序运 行结 果。 三、实验设备 2 、 开关 量输 入 / 输出 实验 箱 3、 计算 机 4、 编程 电缆 注 意: 1) 开关量输入/输出实验 箱内的钮子开关用来产生模拟的 开关量输入 信 号; 2) 开关量输入/输出实验箱内的LED 用来指示开关 量输出信号; 3) 编程电缆在连接PLC 与计算机时请注意方向。 四、实验内容 1 、梯形图 1 、 FX 系列可 编程 序控 制器 一只 一套 5、 GX Developer Version 7.0 软件 一套

2、梯形图程序 0LD xooo 1OUT YOOO X001 2LD 3OR¥001 4AN I X002 5OUT Y001 6OUT TO K50 9MPS 10AHI TO 11OUT Y002 12MPP 13ASD TO 14OUT¥003 15LD X003 16RST CO 18LD X004 19OUT CO K5 22LD CO 23OUT Y004 24END 3、时序图

r 时序10 □ ?Si 正在进荷囲1SL 金冃勖厂手祜r XI广X3厂X5厂K1Q拧应C 40 J2fl MIB -380 .360 '340 -33 MW 脚 M 创Q,220,200,13Q -1?-14D ,1如■!? 如也 40 如厂「 五、实验步骤 1、程序的编辑、检查和修改; 2、程序的变换; 3、程序的离线虚拟设备仿真测试; 4、程序写入PLC; 5、用PLC运行程序; 6、比较程序的分析结果与实际运行结果。 六、实验报告 1、实验梯形图程序的编写; 2、梯形图程序的理论分析与结果; 3、梯形图程序的实际运行结果; 4、结论。 七、实验心得 通过这样一次实验,我对GX Developer Version 7.0 软件的使用方 法更加的熟悉了,也了解到在实验中需要我们集中精力,仔细认真地完成■XDU "Tlr-.Ll-t-1!- D LJ D-IT--1 z?E I4J 一 — Ti ll IL — 」 ill-t-ll-r — 1

PLC实验定时器计数器实验

实验二定时器、计数器实验 一、目的要求 1、了解和熟悉编程软件的使用方法。 2、了解写入和编辑用户程序的方法。 3、掌握定时器、计数器的使用。 二、实验设备 台达可编程序控制器一台;PLC实验箱一台;装有WPL编程软件和开发软件的计算机一台;编程连接电缆一根。 三、实验内容 1、实验原理 定时器相当于继电器电路中的时间继电器,可在程序中作延时控制。 可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms、10ms、100ms等不同规格。(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个设定值寄存器(字),一个当前值寄存器(字)。设定值寄存器(字)存储编程时赋值的计时时间设定值。当前值寄存器记录计时当前值。这些寄存器为16位二进制存储器。其最大值乘以定时器的计时单位值即是定时器的最大计时范围值。定时器满足计时条件开始计时,当前值寄存器则开始计数,当当前值与设定值相等时定时器动作,常开触点接通,常闭触点断开,并通过程序作用于控制对象,达到时间控制的目的。 TMR为十六位定时器,当该指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定时值(计时值≥设定值),其接点动作如下:CNT为十六位计数器,当该指令由Off→On执行,表示所指定的计数器线圈由失电→受电,则该计数器计数值加1,当计数到达所指定的定数值(计数值 = 设定值),其接点动作如下:?? 当计数到达之后,若再有计数脉冲输入,其接点及计数值均保持不变,若要重新计数或作清除的动作,请利用RST指令。 编程使PLC输出Y0输出3秒的脉冲,PLC输入1对脉冲计数,计数值为10时,PLC输出Y1输出为1,第11个脉冲清零。 OUTPUT00

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

8254定时计数器应用实验报告

XX 大学实验报告 课程名称: 实验项目名称:8254定时/计数器应用实验学院:信息工程学院 专业:通信工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间:

教务处制

单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图(1)是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。 图(1)8254的内部借口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表

1所示。 表1 8254的方式控制字 表2 8254 读出控制字格式 表3 8254 状态字格式 8254 实验单元电路图如下图所示:

五、实验步骤及相应操作结果 1. 计数应用实验 编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+ 作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。 实验步骤: (1)实验接线如图2所示。 (2)编写实验程序,经编译、链接无误后装入系统。 (3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证8254 的计数功能。

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。 汇编程序: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } } 开始 TMOD初始化 计数初值初始化 中断初始化 启动定时器 计数溢出 清计数溢出标志 Y N P1.0口线取反

实验三-定时器、计数器应用实验二

实验三-定时器、计数器应用实验二

定时器/计数器应用实验二 设计性试验 2012年11月21日星期三第三四节课 一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图

开始 系统初始化装计数初值并 启动定时器 定时? 时间到 输出取反 结束 清除溢出标志N Y 四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(1)单片机的定时器/计数器以查询方式工作,设定计数功能, 对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0 口线状态,在P1.0口线上接示波器观察波形 编写:吕小洋 时间:2012年11月16日18:09:40 ***************/ ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #01100000B ;设置计数器1为工作方式2 MOV TH1, #9CH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动计数器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 CPL P1.0 ;输出取反 CLR TF1 ;清除计数溢出标志 LJMP LOOP ;重复取反 END

实验四 计数器及其应用

实验四计数器及其应用 一、实验目的 l、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 3、运用集成计数计构成l位分频器 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 l、用D触发器构成异步二进制加/减计数器 图4-1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D 触发器接成T’触发器,再由低位触发器的Q端和高—位的CP端相连接。 图4-1 四位二进制异步加法计数器 若将图4-l稍加改动,即将低位触发器的Q端与高一位的CP端相连接,即构成了一个4位二进制减法计数器。 2、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,具引脚排列及逻辑符号如图4-2所示。

图4-2 CC40192引脚排列及逻辑符号 图中LD一置数端CP L一加计数端CP D一减计数端 CO一非同步进位输出端BO一非同步借位输出端 D0、D1、D2、D3一计数器输入端 Q0、Q1、Q2、Q3一数据输出端CR一清除端 CC40192(同74LS192,二者可互换使用)的功能如表4-1,说明如下:表4-1 当清除端CR为高电平“1”时,计数器直接清零;CR置低电平则执行其它功能。 当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CP D接高 电平,计数脉冲由CP U输入;在计数脉冲上升沿进行842l码十进制加法计数。执行减计数时,加计数端CPu接高电平,计数脉冲由减计数端CP D输入,表4-2为8421码十进制加、减计数器的状态转换表。 表4-2 3、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图4-3是由CC40192利用进位输出CO控制高一位的CP U端构成的加数级联图。

单片机实验-定时器计数器应用实验二教学文稿

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200

个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对 P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1

西工大数电实验报告——计数器及其应用

计数器及其应用 班级:03051001班 学号: 姓名: 同组成员: 一、 实验目的 1. 熟悉常用中规模计数器的逻辑功能。 2. 掌握二进制计数器和十进制计数器的工作原理和使用方法。 3. 运用集成计数器构成1/N 分频器。 二、 实验设备 数字电路试验箱、函数信号发生器、数字双踪示波器、74LS90 三、 实验原理 计数是一种最简单基本运算,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器按计数进制有:二进制计数器,十进制计数器和任意进制计数器;按计数单元中触发器所接收计数脉冲和翻转顺序分有:异步计数器,同步计数器;按计数功能分有:加法计数器,减法计数器,可逆(双向)计数器等。 目前,TTL 和CMOS 电路中计数器的种类很多,大多数都具有清零和预置功能,使用者根据器件手册就能正确地运用这些器件。实验中用到异步清零二-五-十进制异步计数器74LS90。 74LS90是一块二-五-十进制异步计数器,外形为双列直插,引脚排列如图(1)所示,逻辑符号如图(2)所示,图中的NC 表示此脚为空脚,不接线,它由四个主从JK 触发器和一些附加门电路组成,其中一个触发器构成一位二进制计数器;另三个触发器构成异步五进制计数器。在74LS90计数器电路中,设有专用置“0”端 ) 1(0R 、 ) 2(0R 和置“9”端 ) 1(9S 、 ) 2(9S 。其中 ) 1(0R 、 ) 2(0R 为两个异步清零端, ) 1(9S 、 ) 2(9S 为两个异步置9端,CP1、CP2为两个 时钟输入端,Q0~Q3为计数输出端,74LS90的功能表见表(1),由此可知:当R1=R2=S1=S2=0时,时钟从CP1引入,Q0输出为二进制;时钟从CP2引入,Q3输出为五进制;时钟从CP1引入,而Q0接CP2 ,即二进制的输出

实验四 8253定时计数器应用

实验四8253定时/计数器应用 1.实验目的 掌握8253命令字的设置及初始化和8253的工作方式及应用编程 2.实验内容 8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数 频率范围为0-2MHZ。它所有的计数方式和操作方式都可通过编程控制。其功能是延时 终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控 制器。 3.实训步骤 实现方式0的电路图。设8253端口地址为:40H-43H 要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出 中断请求信号,8088响应中断在监视设备上显示M。本实训利用KK1作为CLK输 入,故初值设为5时,需按动KK1键6次,可显示一个 M. 实验七 8253定时/计数器应用实验 一.实验目的 1.熟悉8253在系统中的典型接法。 2.掌握8253的工作方式及应用编程。 二.实验设备

TDN86/88教学实验系统 一台 三.实验内容 (一)系统中的8253芯片 图7-1 8253的内部结构及引脚 1. 8253可编程定时/计数器介绍 8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。它有3个独立的十六位计数器,计数频率范围为0-2MHz。它所有的计数方式和操作方式都通过编程的控制。 8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器 (4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器

8253的工作方式:(1)方式0: 计数结束中断(2)方式1: 可编程频率发生器 (3)方式2: 频率发生器(4)方式3: 方波频率发生器 (5)方式4: 软件触发的选通信号 (6)方式5:硬件触发的选通信号 8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。 图7-2 8253的控制字

实验6_8254定时器计数器应用实验

实验六8253/4定时器/计数器应用实验 实验目的 (1) 掌握8254的工作方式及应用编程(参考教材) (2) 掌握8254的典型应用电路的接法 (3) 学习8254在PC系统中的典型应用方法 实验设备 PC机一台,TD-PIT-B实验装置一套。 实验内容及说明 1)计数应用实验。2)定时应用实验。3)电子发声实验 注意:在断电情况,连接好实验线路,检查无误后,通电进行实验。实验完毕,先断电,再拆线,并将导线整理好。 1. 计数应用实验: 编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1-作为CLK0时钟,OUT0连接IRQ,每当KK1-按动5次后产生中断请求,在屏幕上显示字符“M”。8254计数应用参考连接线图如图6-1。 总线接口 +5V KK1-- IRQ 图6-1 8254计数应用实验参考接线图 ;; 计数应用实验 ;;filename : ;; ----PCI卡分配的第3个I/O空间MY8254_COUNT0 EQU 0E440H MY8254_COUNT1 EQU 0E441H MY8254_COUNT2 EQU 0E442H MY8254_MODE EQU 0E443H ;;--PCI卡分配的第1个I/O空间INTCSR_BYTE0 EQU 0DC38H INTCSR_BYTE1 EQU 0DC39H

INTCSR_BYTE2 EQU 0DC3AH INTCSR_BYTE3 EQU 0DC3BH IMB4_BYTE3 EQU 0DC1FH DATA SEGMENT CSBAK DW IPBAK DW MKBAK DB DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: CLI MOV AX,DATA MOV DS,AX MOV DX,INTCSR_BYTE0 ;; 设置pci卡 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL MOV AX,0000H MOV ES,AX ;---------------------------------------------------MOV DI, 01C4H ; irq 9 , INT 71h, 01c4= 71h*4 ;--------------------------------------------------- MOV AX,ES:[DI] MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:[DI] ;CS MOV CSBAK,AX MOV AX,SEG MYINT

实验三 单片机定时计数器应用实验(一)(学生用)

实验三单片机定时/计数器应用实验(一) 一、实验目的 (1)掌握定时/计数器的基本结构、工作原理和工作方式。 (2)掌握定时/计数器的使用和编程方法。 (3)进一步掌握中断处理程序的编写方法。 二、实验器材 (1)HJ-C52开发板一块 (2)计算机一台 (3)Keil C51编程软件 (4)数据下载线 三、实验电路 图2 电路图 四、实验说明 1、51单片机有。两个16位内部定时器/计数器(T/C,Timer/ Counter)。若是计数内部晶振驱动时钟,则是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数。由于脉冲周期固定由计数值可以计算出时间,有定时功能。 定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要

功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 2、TMOD (1)M1M0工作方式控制位 (2)C/T 定时器方式或计数器方式选择位 若C/T=1时, 为计数器方式;C/T = 0时, 为定时器方式。 (3)GATE 定时器/计数器运行门控标志位 当GATE=1时, T/C的启动受双重控制,即要求INT0 (或INT1)引脚为高电平且TR0(或TR1 )置 1 时, 相应的T/C才被选通工作。若GATE=0, T/C的启动仅受TR0 (或 TR1)控制,即置 1, T/C就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。 3、TCON TF0、TF1分别是定时器/计数器T0、 T1 的溢出中断标志位, 加法计数器计满溢出时置1, 申请中断, 在中断响应后自动复0。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。TR1、TR0 分别是定时器/计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器/计数器才开始工作, 在系统复位时被清0。 4、初始化 (1)初始化步骤 在使用51系列单片机的T/C前,应对它进行编程初始化,主要是对TCON 和TMOD编程,还需要计算和装载T/C的计数初值。一般完成以下几个步骤: 1)确定T/C的工作方式——编程TMOD寄存 2)计算T/C中的计数初值,并装载到TH和TL; 3)T/C在中断方式工作时,必须开CPU中断和源中断——编程IE寄存器; 4)启动定时器/计数器——编程TCON中TR1或TR0位。 (2)计数初值的计算 1)定时器的计数初值:

接口 定时器与计数器实验(8253)-- 8253定时器实验

同组同学学号: 同组同学姓名: 实验日期:2012 年 3月 26日交报告日期:2012 年 5月 30日实验(No. 1_1 )题目:定时器与计数器实验(8253)-- 8253定时器实验 实验目的及要求: 实验目的: 1、学习8253可编程定时器/计数器定时方法。 2、学习8253多级串联实现大时间常数的定时方法。 3、学习8088/86控制8253可编程定时器的方法。 实验要求: 用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。 实验电路及连线: 连线连接孔1 连接孔2 1 8253_CS CS4 2 8253_OUT0L0 3 8253_GATE0VCC 4 8253_CLK08253_OUT1 5 8253_GATE1VCC 6 8253_CLK1F/4(1M) 7 4MHz Fin 实验说明: 1、本实验工作方式0,计数值减完后输出一个脉冲宽度的高电平。而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。直到下一次计数值减完。这样输出的波形为方波。 2、由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和10000。将计数器的输出接到计数器0输入。计数器0 的输出接到LED0。

实验框图: 主程序框图 源程序及分析: CONTROL equ 0c003h ;设置命令寄存器 COUNT0 equ 0c000h ;设置计数器0 COUNT1 equ 0c001h ;设置计数器1 COUNT2 equ 0c002h ;设置计数器2 code segment assume cs:code start proc near ;第一次定时器设定: mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT0

实验七计数器及其应用

实验七计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 3、运用集成计数计构成1/N分频器 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能. 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器.使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图7—1所示。 图7-1 CC40192引脚排列及逻辑符号 图中LD-置数端CP U—加计数端 CPD—减计数端 CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3-计数器输入端 Q0、Q1、Q2、Q3—数据输出端 CR-清除端 CC40192(同74LS192,二者可互换使用)的功能如表7—1,说明如下:

表7-1 当清除端CR 为高电平“1”时,计数器直接清零;CR 置低电平则执行其它功能。 当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器.当CR 为低电平,LD 为高电平时,执行计数功能。执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CPD 输入,表9-2为8421码十进制加、减计数器的状态转换表。 表7-2 加法计数 减计数 2、用D 触发器构成异步二进制加/减计数器 图7-2是用四只D 触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D 触发器接成T ’触发器,再由低位触发器的Q 端和高一位的CP 端相连接.

相关文档
最新文档