找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2884|回复: 0
收起左侧

单片机+8255定时器与交通灯程序Proteus仿真设计

[复制链接]
ID:762552 发表于 2020-6-17 21:15 | 显示全部楼层 |阅读模式
② 8255A 具有三个八位的并行 I/O 口,分别为 PA 口、PB 口和 PC 口。其中
PC 口可以分为高四位(PC7

PC4)和低四位(PC3

PC0)。它们都可以通过软件
编程来改变 I/O 的工作方式。另外,8255A 可与 MCS51 单片机直接相连。
③ 8255A 有三种基本工作方式。其中方式 0 是

种基本的输入/输出方式。
在这种方式下,每

个端口都可以设置为输入/输出,这种方式适合无条件传送。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png

单片机源程序如下:
  1. ORG 0000H
  2. SJMP MAIN
  3. ORG 001BH//定时/中断计数器 1,中断地址
  4. JMP TIM1
  5. ORG 0030H
  6. MAIN:
  7. MOV P0,#0FFH
  8. MOV P1,#0FFH
  9. MOV P2,#0FFH
  10. MOV P3,#0FFH

  11. MOV 60H,#00H
  12. MOV SP,#30H//设置堆栈指针
  13. MOV TMOD,#10H//设置定时器工作方式,TR0启动,定时方式,工作方式1
  14. MOV IE,#88H//开总中断EA,开启ET0
  15. //定时器T0装初值
  16. MOV TH1,#38H
  17. MOV TL1,#00H
  18. //自定义计数R7,R6清0
  19. MOV R7,#00H         
  20. MOV R6,#00H
  21. CLR 20H.0        //标志位清零

  22. MOV DPTR,#0FBFFH;
  23. MOV A,#80H
  24. MOVX @DPTR,A
  25. NOP

  26. START:
  27. MOV DPTR,#0F8FFH;
  28. MOV A,#0FAH
  29. MOVX @DPTR,A
  30. SETB TR1

  31. LOOP:
  32. JBC 20H.0,JIANCE //标志位为1,清零,跳转到JIANCE
  33. SJMP LOOP
  34. JIANCE:
  35. CJNE R6,#8,APP
  36. MOV R6,#00H
  37. APP:
  38. MOV DPTR,#TAB
  39. MOV A,R6
  40. //DEC A
  41. MOVC A,@A+DPTR
  42. MOV 60H,A

  43. MOV DPTR,#0F8FFH;
  44. MOV A,60H
  45. MOVX @DPTR,A

  46. SJMP LOOP

  47. /**************
  48. 中断子程序
  49. ***************/
  50. TIM1:
  51. PUSH ACC
  52. MOV TH1,#38H
  53. MOV TL1,#00H
  54. INC R7//查看是否有20次
  55. CJNE R7,#20,CHUQU//查看是否有20次了
  56. MOV R7,#00H
  57. MOV A,R6
  58. ADD A,#01H
  59. MOV R6,A
  60. SETB 20H.0//标志位置一
  61. CHUQU:
  62. POP ACC
  63. RETI
  64. TAB:
  65. DB 0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFH
  66. END
复制代码

所有资料51hei提供下载:
实验4-8255A.zip (158.08 KB, 下载次数: 26)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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