找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2946|回复: 1
打印 上一主题 下一主题
收起左侧

8253仿真电路与源程序

[复制链接]
跳转到指定楼层
楼主
8253仿真电路与程序;包括方式0与方式3的仿真与程序.


仿真工程文件与完整源码打包下载:
8253仿真.zip (54.18 KB, 下载次数: 45)
  1. code segment
  2. assume  cs:code
  3. start:
  4. ;CPU与第一个8253连接时,其四个地址为10h 12h 14h 16h
  5. mov al,  00010000b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  6. out 16h, al        ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  7. mov al,  25      ;将计数器0的计数初始字(只写低8位)给al
  8. out 10h, al;      ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h


  9. mov al,  01010000b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  10. out 16h, al        ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  11. mov al,  50      ;将计数器1的计数初始字(只写低8位)给al
  12. out 12h, al        ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h



  13. mov al,  10010000b  ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  14. out 16h, al        ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  15. mov al,  100      ;将计数器2的计数初始字(只写低8位)给al
  16. out 14h, al        ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h




  17. ;CPU与第二个8253连接时,其四个地址为20h 22h 24h 26h
  18. mov al,  00010110b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  19. out 26h, al        ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  20. mov al,  50      ;将计数器0的计数初始字(只写低8位)给al
  21. out 20h, al;      ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h


  22. mov al,  01010110b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  23. out 26h, al        ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  24. mov al,  100      ;将计数器1的计数初始字(只写低8位)给al
  25. out 22h, al        ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h



  26. mov al,  10010110b  ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  27. out 26h, al        ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  28. mov al,  200      ;将计数器2的计数初始字(只写低8位)给al
  29. out 24h, al        ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h




  30. code ends
  31. end start
复制代码

  1. code segment
  2. assume  cs:code
  3. Timer0  equ 20h
  4. Timer1  equ 22h
  5. Timer2  equ 24h
  6. Control equ 26h


  7. start:
  8. ;CPU与8253连接时,其四个地址为20h 22h 24h 26h
  9. mov      al,  00010110b ;设置计数器0的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  10. out Control,  al        ; 将计数器0的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  11. mov      al,  2         ;将计数器0的计数初始字(只写低8位)给al
  12. out  Timer0,  al;      ;将al内容写入计数器0的计数初始寄存器CR,其地址为10h


  13. mov      al,  01010110b ;设置计数器1的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  14. out Control,  al        ; 将计数器1的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  15. mov      al,  4         ;将计数器1的计数初始字(只写低8位)给al
  16. out  Timer1,  al        ;将al内容写入计数器1的计数初始寄存器CR,其地址为10h



  17. mov      al,  10010110b ;设置计数器2的控制字,计数初始字写入时只写低8位(高8位自动清0),选择方式0,控制字为二进制格式
  18. out Control, al         ; 将计数器2的控制字写入其寄存器,端口地址为三个计时器公用地址26H。
  19. mov      al,  10        ;将计数器2的计数初始字(只写低8位)给al
  20. out  Timer2, al         ;将al内容写入计数器2的计数初始寄存器CR,其地址为10h




  21. code ends
  22. end start
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:241627 发表于 2017-10-21 18:33 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表