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

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

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

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

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

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

第6章定时与计数技术 6.1概述6.1.2定时方法6.1.3定时/计数器基本原理6.2Intel82546.2.28254-2结构与引脚2.计数器内部逻辑3.外部引脚4.CPU操作功能及命令6.2.38254-2命令及编程2.计数初值3.T/C初始化4.T/C数据读取(2)读取当前计数值方法2—使用读回命令例: MOV AL,11010100B ;T/C1,锁存计数值 OUT 43H,AL IN AL,41H; MOVAH,AL IN AL,41H XCHGAH,AL ;AX为当前计数值 MOVAL,11011010B ;T/C0、T/C2锁存计数值 OUT 43H,AL IN AL,40H; MOV AH,AL IN AL,40H XCHGAH,AL ;AX为T/C0当前计数值 IN AL,42H; MOV AH,AL IN AL,42H XCHGAH,AL ;AX为T/C2当前计数值(3)读取计数器当前状态—使用读回命令6.2.48254-2工作方式2.方式1—硬件可重触发单稳3.方式2—频率发生器4.方式3—方波发生器特点:一次计数; GATE上升重新、高允许、下降停止、低禁止计数; WR#写[重写]会立即重新计数(软件触发); OUT在写入控制字及计数当中为高电平,计数值为0时输出1个CLK的负脉冲。6.方式5—硬件触发选通6.2.58254-2应用举例2.占空比4:5的方波发生器2)MOVAL,00110111B;T/C0OUT96H,AL MOVAX,8000H OUT90H,AL MOVAL,AH OUT90H,AL MOVAL,01110111B;T/C1MOVAX,9H OUT92H,AL MOVAL,AH OUT92H,AL3.包装流水线控制思路:用8254的计数通道1作为计数器,用于24个罐的计数;计数通道2作为定时器,定时为4S。当计数通道1的OUT脚出现0到1的跳变的时候,将启动计数通道2开始定时,而计数通道2定时阶段将控制计数通道1停止计数,只有其定时结束并停止定时阶段才可再次启动计数通道1开始计数。;初始化程序 ;计数通道1初始化 MOV AL, 01010100B OUT 8FH, AL MOV AL, 24 OUT 8DH, AL ;初始化计数通道2 MOV AL, 10110010B OUT 8F, AL MOV AX, 8000 OUT 8EH, AL MOV AL, AH OUT 8EH, AL6.38254在微机中应用6.3.1计数器0—系统定时器6.3.2计数器1—动态存储器定时刷新控制6.3.3计数器2—扬声器音频发生器;功能:按照指定的时间间隔发896Hz声音 ;调用:CX=指定时间 ;返回:无 BEEPPROCFAR IN AL,61H MOV AH,AL PUSH AX MOV AL,10110110B OUT 43H,AL MOV AX,0533H;=1.1931816MHz/896Hz OUT 42H,AL MOV AL,AH OUT 42H,AL POP AX OR AL,03H ;置61H端口D0、D1均为1, ;打开扬声器 OUT 61H,AL NOP L1:LOOP L1 ;延迟 AND AL,FD ;置61H端口D1为0, ;封锁OUT2输出 OUT 61H,AL MOV AL,AH OUT 61H,AL RET BEEPENDP6.4实时钟电路及其应用MC146818在系统中连接框图实时钟工作原理示意图偏移地址6.4.2实时钟状态寄存器MOV AL,6H ;6H是存放"星期几"的单元偏移地址 OUT 70H,AL ;送地址端口 JMP $+2 ;芯片I/O延时要求 IN AL,71H ;读数据端口 MOV AH,AL ;AH中存放的是当前“星期几”的信息 ;0表示星期日6.4.4CMOS密码的破解6.5Win32编程中的时钟45UINT_PTRSetTimer(HWNDhWnd, //handletowindow UINT_PTRnIDEvent, //timeridentifier UINTuElapse, //time-outvalue TIMERPROClpTimerFunc//timerprocedure );LONGAPIENTRYMainWndProc(HWNDhwnd,//handletomain window UINTmessage,//typeofmessage WPARAMwParam,//additionalinformation LPARAMlParam)//