以下内容源自微型计算机原理(第四版)王忠民主编
仅供学习交流使用
请您阅读文章声明,默认同意该声明
第八章 可编程接口芯片及应用【微机原理】
4.设8253的计数器0、计数器1、计数器2以及控制寄存器的端口地址为40H ~ 43H。如果将计数器0设置成方式3,计数器1设置为方式2,计数器0的输出作为计数器1的时钟输入;CLK连接总线时钟,频率为4.77 MHz,计数器1输出OUT1约为40Hz。编写实现上述要求的初始化程序。
1、确认端口地址
地址范围40H~43H
0#计数器端口地址:40H
1#计数器端口地址:41H
2#计数器端口地址:42H
控制寄存器端口地址:43H
2、确定工作方式与计数初值
计数器0工作于方式3,方波发生器
计数初值=输入频率/输出频率
12000=4.77M /400
计数器1设置为方式2,分频工作方式
计数初值=输入频率/输出频率
10 =400 /400
3、确定控制字
00 11 011 0
01 11 010 0
4、初始化程序
MOV AL,00110110B
OUT 43H,AL ;送控制字
MOV AL,0e0H ;12000 =2ee0
OUT 40H,AL ;送低8位
MOV AL,2e ;12000 =2ee0
OUT 40H,AL ;送高8位
MOV AL,01110110B
OUT 43H,AL ;送控制字
MOV AL,0aH ;10=000a
OUT 40H,AL ;送低8位
MOV AL,0 ;10=000a
OUT 40H,AL ;送高8位
5.设8253的计数器0、计数器1、计数器2和控制口的地址为460H~463H。设已有信号源频率为1MHz,现要求用该芯片定时1秒,设计出硬件连线图,并编写初始化程序。
将8253的计数器0和计数器1都设置为方式3,用信号源1MHZ作为CLK0,OUT0为波形输出1ms的方波,再通过CLK1输入,OUT1输出1s方波。
1、确认端口地址
地址范围460H~463H
0#计数器端口地址:460H
1#计数器端口地址:461H
2#计数器端口地址:462H
控制寄存器端口地址:463H
2、确定工作方式与计数初值
计数器0工作于方式3,方波发生器
计数初值=输入频率/输出频率
1000=1M /1000
计数器1设置为方式3,方波发生器
计数初值=输入频率/输出频率
1 =1000 /1000
3、确定控制字
00 11 011 0
01 11 011 0
4、初始化程序
MOV AL,00110110B
MOV DX,463H
OUT DX,AL ;送控制字
MOV DX,460H
MOV AL,0e8H ;1000 =03e8
OUT DX,AL ;送低8位
MOV AL,3H ;1000 =03e8
OUT DX,AL ;送高8位
MOV AL,01110110B
MOV DX,463H
OUT DX,AL ;送控制字
MOV DX,461H
MOV AL,0E8H ;1000 =03e8
OUT DX,AL ;送低8位
MOV AL,3H ;1000 =03e8
OUT DX,AL ;送高8位
10.试设计用8255A实现用8个LED显示8个开关当前状态(开关闭合LED亮,开关打开时LED灭)的接口电路,并编写IBM PC汇编语言实现该功能。
1、确认端口地址
地址范围40H~43H
端口A地址:40H
端口B地址:41H
端口C地址:42H
控制寄存器端口地址:43H
2、确定工作方式
端口A工作于方式0,基本输入
端口B工作于方式0,输出方式
3、确定控制字
1 00 1 0 0 0 0
4、初始化程序
MOV AL,10010000B
OUT 43H,AL ;送控制字
请您阅读文章声明,默认同意该声明
打赏通道