预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共64页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第12章实时时钟与计数器/定时器接口12.1定时器和计数器概述定时举例:①一天24小时的计时称为日时钟。②在监测系统中对被测点的定时取样。③在读键盘时为去抖一般延迟一段时间再读。④在微机控制系统中控制某工序定时启动。[计数电路]如果记录外设提供的具有一定随机性的脉冲信号时它主要反映脉冲的个数(进而获知外设的某种状态)常又称为计数器。计数举例:①对零件和产品的计数;②对大桥和高速公路上车流量的统计。定时功能的实现方法12.28253/8254定时计数器12.2.18253/8254的内部结构和引脚计数器结构示意图1计数器的3个引脚2与处理器接口由控制字格式中SC1SC0位决定属于哪个计数器12.2.28253/8254的工作方式每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束方式0计数结束中断(一次有效)①方式0n=5方式1可编程单稳脉冲①方式18253的1方式时序波形方式2频率发生器(分频器)WR方式3方波发生器方式3方式4软件触发选通信号GATE方式5硬件触发选通信号GATE计数开始的时刻实验1实验212.2.38253/8254的编程1写入方式控制字(A1A0=11)2写入计数值3读取计数值12.38253在PC机上的应用12.3.1定时中断和定时刷新8253初始化(定时中断)计数器0:定时中断计数器1:定时刷新8253初始化(定时刷新)12.3.2扬声器控制扬声器控制(频率设置)扬声器控制(扬声器开)扬声器控制(扬声器关)扬声器控制(主程序)12.3.3硬件延时硬件延时IBMPC让端口61H的PB4每隔15.085uS切换一次状态。;(CX)=15.085uS的个数WAITFPROCNEARPUSHAXWAITF1:INAL61HANDAL00010000BCMPALAHJEWAITF1MOVAHALLOOPWAITF1POPAXRETWAITFENDP0.5s的延时33144*15.085uS=0.5sMOVCX33144CALLWAITF1.5s的延时MOVBL03BACK:MOVCX33144CALLWAITFDECBLJNZBACK可编程硬件延时12.3.4扩充定时计数器的应用例12.3.4.1例12.3.4.1(初始化程序段)例12.3.4.2采用两级计数器用计数器0的输出OUT0作为计数器1的输入CLK1。计数器0的计数值为50000(C350H);计数器1的250(FAH)。则有:总的计数值=50000×250=1.25×107计数器0:方式3(方波发生器)控制宇36H计数器1:方式2(分频器)控制字54H设:控制口地址:CRPT;0号计数器:PRT0;1号计数器:PRT1实现上述过程的程序如下:MOVAL36HMOVDXCRPTOUTDXAL;0号计数器方式3MOVAL50HMOVDXPRT0OUTDXAL;计数值低8位MOVALC3HOUTDXAL;计数值高8位MOVAL54HMOVDXCRPTOUTDXAL;1号计数器方式2MOVALFAHMOVDXPRT1OUTDXAL;计数值低8位用8253监视一个生产流水线每通过50个工件扬声器响5秒钟频率为1000周。设:通道0的地址为40H通道1的地址为4lH控制口地址为43H。主程序为:MOVAL15H;通道0初始化OUT43H.ALMOVAL50H;计数初值OUT40HALSTI;开中断LOP:HLTJMPLOP;等待中断中断服务程序为:MOVAL77H;通道1初始化OUT43HALMOVAL00H计数初值OUT41HALMOVAL25HOUT41HALCALLDL5S;延时5秒MOVAL00H;通道1的GATE1置0停止计数OUT80HALIRET本例中通道0工作于计数状态通道工作于计时状态。8253的控制字编程8253的计数初值编程8253/8254的I/O地址