找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

51單片機(jī)雙機(jī)通信+LCD1602匯編語(yǔ)言程序

查看數(shù): 3203 | 評(píng)論數(shù): 3 | 收藏 1
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-6-7 13:09

正文摘要:

在主機(jī)顯示學(xué)號(hào)姓名,利用通信功能,在從機(jī)也顯示同樣的內(nèi)容。;發(fā)送端 ;/通用寄存器R5用于錄入lcd1602的8位指令和數(shù)據(jù) ORG 000H LCD_PORT EQU P1 COUNT EQU 30H RS EQU P2.5 RW EQU P2.6 EN  EQU P2.7 AJ ...

回復(fù)

ID:1067163 發(fā)表于 2023-5-22 14:26
李了里 發(fā)表于 2023-5-21 16:13
大佬,能直接給一下原理圖嗎?我自己畫(huà)的仿真不出來(lái)

CSU?
ID:1078514 發(fā)表于 2023-5-21 16:13
大佬,能直接給一下原理圖嗎?我自己畫(huà)的仿真不出來(lái)
ID:1026000 發(fā)表于 2022-6-7 13:16
  1. ;接收端
  2. //通用寄存器R5用于錄入lcd1602的8位指令和數(shù)據(jù)
  3. ORG 000H
  4. LCD_PORT EQU P1
  5. RS EQU P2.5
  6. RW EQU P2.6
  7. EN  EQU P2.7

  8. AJMP START

  9. ORG 023H
  10. LJMP REC

  11. ORG 100H
  12. START:
  13. //定時(shí)器1設(shè)置,即設(shè)置波特率

  14. MOV TMOD,#20H
  15. MOV PCON,#80H
  16. MOV TH1,#0FDH
  17. //

  18. //初始化串口//方式1發(fā)送接收均初始化
  19. MOV SCON,#01010000B
  20. SETB REN
  21. SETB TR1
  22. //

  23. //初始化中斷
  24. SETB EA;總開(kāi)關(guān)
  25. SETB ES;串口中斷
  26. ACALL WCGRAM
  27. ACALL LCD1602_init;初始化lcd1602
  28. MAIN:;循環(huán)
  29. AJMP MAIN

  30. //串口中斷服務(wù)函數(shù)(僅用于接受數(shù)據(jù))
  31. REC:
  32. PUSH ACC
  33. PUSH 05
  34. MOV A,SBUF
  35. CLR RI
  36. MOV R5,#00H
  37. ACALL WRITE_COM
  38. MOV R5,A
  39. ACALL WRITE_DATA
  40. POP 05
  41. POP ACC
  42. RETI

  43. //寫(xiě)指令,指令放入R5
  44. WRITE_COM:
  45. ACALL D5MS
  46. CLR  RS                                                                 ;(130)RS,RW,EN均置0,寫(xiě)指令
  47. CLR  RW
  48. CLR  EN
  49. MOV LCD_PORT ,R5                                                         ;(131)指令一律寫(xiě)入R5,在移入P2
  50. //ACALL D5MS
  51. SETB  EN        
  52. CLR  EN                                                                 ;(132)EN跳變,允許數(shù)據(jù)交換
  53. RET                                                                         ;(134)返回原處


  54. //寫(xiě)數(shù)據(jù),數(shù)據(jù)放入R5
  55. WRITE_DATA:
  56. ACALL D5MS
  57. SETB  RS                                                                 ;(130)RS置1,RW,EN均置0,寫(xiě)數(shù)據(jù)
  58. CLR  RW
  59. CLR  EN
  60. MOV LCD_PORT ,R5                                                         ;(131)數(shù)據(jù)一律寫(xiě)入R5,在移入P2
  61. SETB  EN        
  62. CLR  EN                                                                 ;(132)EN跳變,允許數(shù)據(jù)交換
  63. RET                                                                         ;(134)返回原處


  64. //初始化LCD1602
  65. LCD1602_init:
  66. MOV R5,#06H                                                        ;(144)8位數(shù)據(jù),5*7點(diǎn)陣,2行顯示
  67. ACALL WRITE_COM                        
  68. MOV R5,#0CH                                                        ;(148)寫(xiě)一個(gè)數(shù)據(jù)后,光標(biāo)右移,屏幕不移動(dòng)
  69. ACALL WRITE_COM
  70. MOV R5,#38H                                                        ;(146)顯示開(kāi),關(guān)光標(biāo),光標(biāo)不閃爍
  71. ACALL WRITE_COM
  72. MOV R5,#01H                                                        ;(150)清屏
  73. ACALL WRITE_COM
  74. RET

  75. WCGRAM:
  76. MOV P1,#40H
  77.         ACALL ENABLE
  78.         MOV DPTR,#SELF1
  79.         CALL WSELF
  80.         MOV P1,#48H
  81.         ACALL ENABLE
  82.         MOV DPTR,#SELF2
  83.         CALL WSELF
  84.         MOV P1,#50H
  85.         ACALL ENABLE
  86.         MOV DPTR,#SELF3
  87.         CALL WSELF
  88.         MOV P1,#58H
  89.         ACALL ENABLE
  90.         MOV DPTR,#SELF4
  91.         CALL WSELF
  92.         MOV P1,#60H
  93.         ACALL ENABLE
  94.         MOV DPTR,#SELF5
  95.         CALL WSELF
  96.         MOV P1,#68H
  97.         ACALL ENABLE
  98.         MOV DPTR,#SELF6
  99.         CALL WSELF
  100.         MOV P1,#70H
  101.         ACALL ENABLE
  102.         MOV DPTR,#SELF7
  103.         CALL WSELF
  104.         MOV P1,#78H
  105.         ACALL ENABLE
  106.         MOV DPTR,#SELF8
  107.         CALL WSELF
  108.         RET
  109. ENABLE:
  110.         CLR RS
  111.         CLR RW
  112.         CLR EN
  113.         ACALL D5MS
  114.         ACALL D5MS
  115.         SETB EN
  116.         RET
  117.         WSELF:
  118.         MOV R7,#00H
  119. W1:
  120.         MOV A,R7
  121.         MOVC A,@A+DPTR
  122.         CALL WRITE1
  123.         INC R7
  124.         CJNE R7,#08H,W1
  125.         RET
  126. WRITE1:
  127.         CLR EN
  128.         SETB RS
  129.         CLR RW
  130.         SETB EN
  131.         MOV P1,A
  132.         
  133.         CLR EN
  134.     ACALL D5MS
  135.         ACALL D5MS
  136.         RET


  137. //延時(shí)5ms左右,已進(jìn)行現(xiàn)場(chǎng)保護(hù)
  138. D5MS:
  139. PUSH 07
  140. PUSH 06
  141. MOV  R7,#200      
  142. DEL1:MOV R6,#125
  143. DEL2:DJNZ R6,DEL2      
  144. DJNZ R7,DEL1
  145. POP 06
  146. POP 07
  147. RET
  148. //
  149. SELF1:DB  04H,1FH,15H,1FH,15H,1FH,04H,07H
  150. SELF2:DB  02H,0CH,04H,1FH,0EH,15H,15H,04H
  151. SELF3:DB  02H,0AH,06H,02H,1FH,02H,02H,02H
  152. SELF4:DB  0EH,04H,04H,04H,0EH,04H,04H,0EH
  153. SELF5:DB  0FH,0AH,0AH,1AH,1FH,0AH,0AH,0FH
  154. SELF6:DB  09H,01H,1DH,07H,15H,09H,15H,03H
  155. SELF7:DB  04H,1FH,04H,0AH,1FH,00H,1BH,0BH
  156. SELF8:DB  02H,1CH,10H,14H,1FH,04H,15H,0CH



  157. END
復(fù)制代碼

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表