第7章 串并行接口技术8253/8254的编程7.1.31.写入方式控制字DzDsD4DoD6D3D2D1数制计数器读写格式工作方式方式000000计数器锁存命令方式100100计数器001只读写低字节方式20 二进制01计数器101010只读写高字节方式31 十进制01110计数器211. 先读写低字节100方式411 非法后读写高字节101方式516
16 7.1.3 8253/8254的编程 1. 写入方式控制字 计数器 读写格式 工作方式 数制 D7 D6 D5 D4 D3 D2 D1 D0 00 计数器0 01 计数器1 10 计数器2 11 非法 00 计数器锁存命令 01 只读写低字节 10 只读写高字节 11 先读写低字节 后读写高字节 000 方式0 001 方式1 010 方式2 011 方式3 100 方式4 101 方式5 0 二进制 1 十进制 第7章 串并行接口技术
第7章 串并行接口技术CONTROLWORDFORMATA1.A0=11CS=0:RD=1:WR=0D7D6D5D4D3D2D1DOSC1SCORW1RWOM2M1MOBCDSC-SELECTCOUNTERSC1SCO00SelectCounterO01SelectCounter110SelectCounter211Read-BackCommand(SeeReadOperations)RW-READWRITERW1RWO00CounterLatchCommand(SeeReadOperations)01ReadWriteleastsignificantbyteonly01Read/ritemostsignificant byteonly11ReadWriteleastsignificantbytefirst,thenmostsignificantbyte17
17 第7章 串并行接口技术
第7章 串并行接口技术2.写入计数初值■只读/写低8位■只读/写高8位■读/写低16位(先低后高)3.计数值和状态的读回(8254)A0.A1=11:CS=0.RD=1:WR=0D7D6D5D4D3D2D1DO11COUNT0STATUSCNT2CNTOCNT 1D5:0=LatchcountofselectedCounter(s)D4:0=LatchstatusofselectedCounter(s)D3:1=SelectCounter2D2:1=SelectCounter1D1:1=SelectCounter0Do:ReservedforfutureexpansionMustbeOREAD-BACKCOMMANDFORMAT18图7.58254的读回命令
18 2. 写入计数初值 ◼ 只读/写低8位 ◼ 只读/写高8位 ◼ 读/写低16位(先低后高) 3. 计数值和状态的读回(8254) 图 7.5 8254的读回命令 第7章 串并行接口技术
第7章 串并行接口技术D4D3D2D1DOD7D6D5M2M1MOBCDNULLRW1RWOOUTPUTCOUNTD7:1=Out pin is 1O=Outpin is0D6:1=Null countO=CountavailableforreadingD5-D0=Counterprogrammedmode(SeeControl WordFormats)STATUS BYTE图7.68254的状态字19
19 图 7.6 8254的状态字 第7章 串并行接口技术
第7章串并行接口技术例7.18253的计数器0工作在方式1下,按十进制计数,初值为3040。若8253的端口地址为388H~38BH,请写出初始化程序段。解:MOVDX,38BHMOVAL,33HOUTDX,ALMOVAL, 40HMOVDX,388HOUTDX,ALMOVAL, 30HOUTDX,AL20
20 例 7.1 8253的计数器0工作在方式1下,按十进制计数,初值为3040。 若8253的端口地址为388H~38BH,请写出初始化程序段。 解: MOV DX, 38BH MOV AL, 33H OUT DX, AL MOV AL, 40H MOV DX, 388H OUT DX, AL MOV AL, 30H OUT DX, AL 第7章 串并行接口技术