标题:
8253仿真电路与源程序
[打印本页]
作者:
zhuisuiagan
时间:
2016-11-11 15:48
标题:
8253仿真电路与源程序
8253仿真电路与程序;包括方式0与方式3的仿真与程序.
0.png
(31.42 KB, 下载次数: 98)
下载附件
2016-11-13 14:42 上传
0.png
(67.78 KB, 下载次数: 112)
下载附件
2016-11-13 14:41 上传
仿真工程文件与完整源码打包下载:
8253仿真.zip
(54.18 KB, 下载次数: 46)
2016-11-11 15:47 上传
点击文件名下载附件
下载积分: 黑币 -5
code segment
assume cs:code
start:
;CPU与第一个8253连接时,其四个地址为10h 12h 14h 16h
mov al, 00010000b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 16h, al ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 25 ;将计数器0的计数初始字(只写低8位)给al
out 10h, al; ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h
mov al, 01010000b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 16h, al ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 50 ;将计数器1的计数初始字(只写低8位)给al
out 12h, al ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h
mov al, 10010000b ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 16h, al ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 100 ;将计数器2的计数初始字(只写低8位)给al
out 14h, al ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h
;CPU与第二个8253连接时,其四个地址为20h 22h 24h 26h
mov al, 00010110b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 26h, al ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 50 ;将计数器0的计数初始字(只写低8位)给al
out 20h, al; ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h
mov al, 01010110b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 26h, al ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 100 ;将计数器1的计数初始字(只写低8位)给al
out 22h, al ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h
mov al, 10010110b ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out 26h, al ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 200 ;将计数器2的计数初始字(只写低8位)给al
out 24h, al ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h
code ends
end start
复制代码
code segment
assume cs:code
Timer0 equ 20h
Timer1 equ 22h
Timer2 equ 24h
Control equ 26h
start:
;CPU与8253连接时,其四个地址为20h 22h 24h 26h
mov al, 00010110b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out Control, al ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 2 ;将计数器0的计数初始字(只写低8位)给al
out Timer0, al; ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h
mov al, 01010110b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out Control, al ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 4 ;将计数器1的计数初始字(只写低8位)给al
out Timer1, al ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h
mov al, 10010110b ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
out Control, al ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
mov al, 10 ;将计数器2的计数初始字(只写低8位)给al
out Timer2, al ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h
code ends
end start
复制代码
作者:
kevine1207
时间:
2017-10-21 18:33
谢谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1