找回密码
 立即注册

QQ登录

只需一步,快速开始

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

包括流水灯,时钟,计时器,简易的用4x4键盘控制的单片机汇编语言计算器

[复制链接]
跳转到指定楼层
楼主
1.包括流水灯,时钟,计时器,简易的用4x4键盘控制的计算器

2.四个按键选择功能,直接对应那种一般开发板配套的红外遥控器的1234键(试过是可以的)当然仿真中不包括红外,红外选项是多余的
仿真中不包括红外

3.计时器,上键运行,下键清零,右键暂停,右键长按切换时钟

4.时钟的右键切换调整,长按到计时器,调整位会闪烁
5计算器用4x4按键控制

6.代码用的汇编

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


单片机源程序如下:
  1. LCD_RS EQU P2.0    ;1602控制
  2. LCD_RW EQU P2.1    ;......
  3. LCD_E  EQU P2.2    ;脉冲
  4. LCD_D7 EQU P0.7    ;
  5. LCD_DATA EQU P0    ;1602数据口
  6. LCD_JISHU EQU 20H    ;1602写数据计数
  7. LCD_CAIDAN EQU 21H    ;1602菜单编号
  8. LCD_CAIDAN_YE EQU 22H    ;1602页编号
  9. KEY_UP EQU P2.3    ;上键
  10. KEY_DOWN EQU P2.4    ;下键
  11. KEY_OK EQU P2.5    ;确认键
  12. KEY_EXIT EQU P2.6    ;退出键
  13. LCD_BEI EQU P2.7  ;1602背光
  14. EXIT_BIAOZHI EQU 23H.0    ;计时器,中按退出会置一标志位
  15. OK_BIAOZHI EQU 23H.1
  16. UP_BIAOZHI EQU 23H.2
  17. DOWN_BIAOZHI EQU 23H.3
  18. DINGSHI_JISHU EQU 24H    ;用定时器延时计数
  19. LED EQU P1            ;
  20. ;数码管595    ;
  21. MINGXIANG EQU P3.3
  22. HC595_DATA EQU P3.4    ;数码管数据,移位输出,,,复用hc164数据口
  23. HC595_SLCP EQU P3.5    ;读入数据端
  24. HC595_SHCP EQU P3.6    ;刷新显示端,、、复用hc164的clk
  25. HC595_SHI EQU 25H    ;时钟的时分秒
  26. HC595_FEN EQU 26H    ;
  27. HC595_MIAO EQU 27H    ;
  28. ;矩阵键盘.......
  29. JIANPAN1 EQU P3.0
  30. JIANPAN2 EQU P3.1
  31. HC164_DATA EQU P3.4
  32. HC164_CLK EQU P3.7
  33. JIANSHUXU EQU 28H   ;矩阵键盘按下的顺序,
  34. JISUANQI_DATA1 EQU 29H     ;
  35. JISUANQI_YUNSUAN EQU 2AH     ;
  36. JISUANQI_DATA2 EQU 2BH     ;
  37. JISUANQI_JIEGUO1 EQU  2CH     ;
  38. JISUANQI_JIEGUO2 EQU 2DH       ;
  39. ANJIAN_CHANGAN EQU 2FH
  40. OKCHANGAN_BIAOZHI EQU 23H.4   ;
  41. HONGWAIZ_ EQU P3.2
  42. HONGWAIZ_MA EQU 30H
  43. LEDYANSHI_JISHU EQU 31H
  44. ORG 0000H
  45.         AJMP MAIN
  46.                 ORG 03H
  47.                 LJMP WAIBU0
  48.                 ORG 0BH
  49.                 LJMP T0DINGSHI
  50.                 ORG 001BH
  51.                 LJMP T1DINGSHI;定时器中断
  52.         ORG 0030H
  53.                         MAIN:
  54.                         LCALL SHUMA_JIANCE
  55.                         LCALL SHUMA_QINGLING
  56.                         MOV HONGWAIZ_MA,#00H
  57.                         CLR LCD_BEI
  58.                         LCALL LCD_XIANSHI   ;1602初始化,欢迎界面
  59.                         SETB PT0 ;把定时器t1设置为高优先级
  60.                         MOV TMOD,#11H ;T1为工作方式一
  61.                         MOV IE,#8BH ;允许T1中断,T0,外部中断0
  62.                         MOV TH1,#0D8H ;放入数据
  63.                         MOV TL1,#0F0H
  64.                         MOV TH0,#0DBH
  65.             MOV TL0,#0F0H
  66.                         SETB TR1    ;启动T1定时器
  67.                         LOOP0:
  68.             LCALL ANJIAN_RENYI    ;按键判断
  69.                         SJMP LOOP0
  70.                     SJMP $     
  71. WAIBU0:
  72. CLR  EA
  73. PUSH 01H
  74. PUSH 02H
  75. PUSH 03H
  76. PUSH 04H
  77. PUSH  ACC
  78. MOV A,HONGWAIZ_MA
  79. CJNE A,#0,WAIBU0_JIESHU
  80. ;MOV ANJIAN_CHANGAN,#10
  81. WAIBU0_LOOP8:
  82. MOV R3,#10
  83. WAIBU0_LOOP7:
  84. LCALL DELAY840US
  85. JB HONGWAIZ_,WAIBU0_JIESHU
  86. DJNZ R3,WAIBU0_LOOP7
  87. WAIBU0_LOOP13:
  88. ;MOV R1,ANJIAN_CHANGAN
  89. ;CJNE R1,#00H,WAIBU0_LOOP9
  90. ;WAIBU0_JIESHU_1:
  91. ;LJMP WAIBU0_JIESHU
  92. WAIBU0_LOOP9:
  93. JNB HONGWAIZ_,WAIBU0_LOOP13
  94. LCALL DELAY4MS750US
  95. MOV R4,#8H
  96. MOV R3,#4H
  97. WAIBU0_LOOP1:
  98. ;MOV R1,ANJIAN_CHANGAN
  99. ;CJNE R1,#00H,WAIBU0_LOOP10
  100. ;LJMP WAIBU0_JIESHU
  101. WAIBU0_LOOP10:
  102. JNB HONGWAIZ_,WAIBU0_LOOP1
  103. LCALL DELAY840US
  104. JB HONGWAIZ_,WAIBU0_LOOP0
  105. CLR ACC.0
  106. RLC A
  107. DJNZ R4,WAIBU0_LOOP1
  108. LJMP WAIBU0_LOOP2
  109. WAIBU0_LOOP0:
  110. SETB ACC.0
  111. RLC A
  112. WAIBU0_LOOP11:
  113. ;MOV R1,ANJIAN_CHANGAN
  114. ;CJNE R1,#00H,WAIBU0_LOOP12
  115. ;LJMP WAIBU0_JIESHU
  116. WAIBU0_LOOP12:
  117. JB HONGWAIZ_,WAIBU0_LOOP11
  118. DJNZ R4,WAIBU0_LOOP1
  119. WAIBU0_LOOP2:
  120. RRC A
  121. CJNE R3,#04H,WAIBU0_LOOP3
  122. CJNE A,#00H,WAIBU0_JIESHU
  123. LJMP WAIBU0_LOOP6
  124. WAIBU0_LOOP3:
  125. CJNE R3,#03H,WAIBU0_LOOP4
  126. CJNE A,#0FFH,WAIBU0_JIESHU
  127. LJMP WAIBU0_LOOP6
  128. WAIBU0_LOOP4:
  129. CJNE R3,#02H,WAIBU0_LOOP5
  130. MOV R2,A
  131. LJMP WAIBU0_LOOP6
  132. WAIBU0_LOOP5:
  133. CJNE R3,#01H,WAIBU0_LOOP6
  134. ADD A,R2
  135. CJNE A,#0FFH,WAIBU0_JIESHU
  136. CJNE R2,#30H,WAIBU0_HONGWAI_J2
  137. MOV HONGWAIZ_MA,#01H
  138. WAIBU0_HONGWAI_J2:
  139. CJNE R2,#18H,WAIBU0_HONGWAI_J3
  140. MOV HONGWAIZ_MA,#02H
  141. WAIBU0_HONGWAI_J3:
  142. CJNE R2,#7AH,WAIBU0_HONGWAI_J4
  143. MOV HONGWAIZ_MA,#03H
  144. WAIBU0_HONGWAI_J4:
  145. CJNE R2,#10H,WAIBU0_JIESHU
  146. MOV HONGWAIZ_MA,#04H
  147. LJMP WAIBU0_JIESHU
  148. WAIBU0_LOOP6:
  149. MOV R4,#08H  
  150. DJNZ R3,WAIBU0_LOOP1
  151. LJMP WAIBU0_JIESHU
  152. WAIBU0_JIESHU:
  153. POP ACC
  154. POP 04H
  155. POP 03H
  156. ……………………

  157. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
显示键盘.zip (173.42 KB, 下载次数: 28)

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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