欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1851|回復: 2
收起左側

這是個51單片機雙機串行通信匯編程序,為啥仿真沒反應?

[復制鏈接]
ID:844039 發表于 2020-11-15 20:08 | 顯示全部樓層 |閱讀模式
ORG 0000H
                 
         SJMP  STAR
         ORG 000BH
         LJMP KEYS
     ORG 0050H
STAR:MOV SCON,#50H    ;設置串行接口方式1,允許接收
   
         MOV   TMOD,#01H  ;設置T0方式一
      
         MOV   PCON,#0H          ;波特率不加倍
      
         MOV   TH1,#0ECH  ;5ms中斷檢查一次
      
         MOV   TL1,#78H
      
         SETB EA
      
         SETB ET0;開中斷
         SETB  TR0         
      
          CLR   ES              ;禁止串行口中斷
      
          MOV   SP,#5FH
          ACALL  DLY
          MOV  A,SBUF                   ;接收乙機數據
          JNB  RI,$                           ;等待接收完一幀數據
      CLR  RI
D0:  JNB ACC.0, D1
      MOV 10H,A
      
          SJMP K1
D1:  JNB  ACC.1,D2
    MOV 10H,A
      
          SJMP A1
D2:  JNB ACC.2 ,KEYS
     MOV 10H,A
      
          SJMP B1

K1 : MOV A, #0FEH ;  從右向左流水燈顯示
         MOV R0,#08H
                 
K2 : MOV P0,A
     RL A
     LCALL DELAY
         DJNZ R0,K2   
                 
     SJMP K1               
A1:  MOV A, #07FH ; 從左向右流水燈顯示
         MOV R0,#08H
A2 : MOV P0,A
     RR A
     LCALL DELAY
                 
         DJNZ R0,A2
     SJMP A1
B1 : MOV A, #03FH ; 兩個燈從下到上流水顯示
         MOV R0,#04H
B2 : MOV P0,A
                 
     RR  A
         RR  A
     LCALL DELAY
                 
                 DJNZ R0, B2
                 SJMP B1

KEYS:MOV   TH1,#0ECH  ;5ms中斷檢查一次
         
         MOV   TL1,#78H
     
         MOV   R0,#4
     
         MOV   R1,#11101111B           ;行顯示
         
         MOV   R2,#11111111B
SNEXT:MOV  A,R1                        ;送出行掃描碼
      
          MOV  P1,A
         
          MOV  A,P1                        ;讀鍵狀態
         
          ORL  A,#0F0H
         
          CJNE A,#0FFH,KEYIN  ;判斷是否按鍵
         
          MOV  A,R1
         
          RL   A
         
          MOV  R1,A                          ;保存行鍵掃描數
         
          DJNZ R0,SNEXT
         
          RETI           ;沒有按鍵按下則返回斷點
MUU1:LJMP D0
KEYIN:MOV R2,A
      ACALL   DLY       ; 除按鍵抖動并等待按鍵彈起
NOPEN:MOV   A,P1
      ORL   A,#0F0H
          CJNE  A,#0FFH,NOPEN  ;鍵未彈起,轉NOPEN等待彈起
      LCALL  DLY
          LCALL  KEYV         ;將掃描碼換成按鍵碼
          MOV   SBUF,A        ;發送數據
          JNB    TI,$              ;        等待一幀發送完畢
          CLR    TI
      
          CLR    RI
          RETI
                          

DLY:  MOV R7,#30
      MOV R6,#0
S1:          DJNZ  R6,$
      DJNZ  R7,S1
          RET
KEYV: MOV   B,#0         ;B=按鍵碼,賦初值為0
      MOV   A,R2                 ;判斷目前的列數
C1:   RRC   A
      JNC   C2
          INC   B                        ;按鍵不在本列,B+4,(ADD只能對A使用)
          INC   B
          INC   B
          INC   B
          LJMP  C1
C2:   MOV   A,R1                 ;行掃描碼
      RR    A                         ;右移4位,高四位到低四位,
          RR    A
          RR    A
          RR    A
C3 :  RRC  A             ;判斷哪一行被按下
      JNC  C4            ;在當前行,轉c4
      INC   B            ;非當前行,鍵值+1(每一行每個按鍵差1)
      LJMP   C3
C4:   MOV   A,B          ;(A) = (B)按鍵碼給A
                                    
      RET                ;鍵值判斷子程序返回
                       
DELAY:MOV R7,#100 ;  延時100ms
      
L0:MOV R6,#250
      
L1:NOP
                       
   NOP
                                               
   DJNZ    R6,L1
               
   DJNZ    R7,L0
    MOV  A,SBUF                       ;接收乙機數據
        JNB  RI,$                           ;等待接收完一幀數據
    CLR  RI
   CJNE A,10H,MUU1
RET
END

回復

使用道具 舉報

ID:844200 發表于 2020-11-16 09:12 | 顯示全部樓層
我看這個是匯編呀!
回復

使用道具 舉報

ID:584814 發表于 2020-11-16 10:35 | 顯示全部樓層
程序正確、仿真設置正確,少一個都不行的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表