久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 程序編譯出錯了,麻煩版主看看 [打印本頁]

作者: a123    時間: 2010-7-27 00:05
標題: 程序編譯出錯了,麻煩版主看看

我想在51hei-5單片機開發板上實現如下的功能:
    上電后讓8個數碼管顯示右下角的點。按INTO按鍵時八個數碼管全顯示1,按TO按鍵時,第二位顯示二,按S4按鍵時第三位顯示三,按S5按鍵時第四位顯示五。問題如下圖

我搞了好久百思不得其解啊.現在連編譯都通不過

 

       ORG 000H
       LJMP MAIN
       ORG 030H
main:  setb   p2.6   ;上電全顯示點
       mov p0,#080H 
    clr p2.6 
      SETB P2.7 
       mov p0,#00H
    clr p2.7
    lcall ys 
       JNB P3.2,F1  ;等于O轉到F1   (八位數碼管全顯示1)
    JNB P3.4,F2  ;等于O轉到F2   (第二位顯示2)
    JNB P3.6,F3  ;等于0轉到F3    (第三位顯示3)
    JNB P3.7,F4  ;等于O轉到F4    (第四位顯示4)
       LJMP MAIN
F1:    SETB P2.6   ;1
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0FEH
       CLR P2.7
       LCALL YS1S
    SETB P2.6   ;1
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0FDH
       CLR P2.7
       LCALL YS1S
    SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0FBH
       CLR P2.7
       LCALL YS1S

    SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0F7H
       CLR P2.7
       LCALL YS1S

    SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0F7H
       CLR P2.7
       LCALL YS1S

  SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0F7H
       CLR P2.7
       LCALL YS1S

    SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0F7H
       CLR P2.7
       LCALL YS1S

  SETB P2.6   ;1 
       MOV P0,#06H
       CLR P2.6
       SETB P2.7
       MOV P0,#0F7H
       CLR P2.7
       LCALL YS1S


       LJMP MAIN

F2:   SETB P2.6    ;顯示2
      MOV P0,#05BH
      CLR P2.6
     SETB P2.7
     MOV P0,#0FDH
     CLR P2.7
     LCALL YS1S

     LJMP MAIN
F3:  SETB P2.6    ;顯示3
     MOV P0,#04FH
     CLR P2.6
     SETB P2.7
     MOV P0,#0FBH
     CLR P2.7
     LCALL YS1S

     LJMP MAIN
F4:  SETB P2.6     ;顯示4
     MOV P0,#066H
  CLR P2.6
  SETB P2.7
  MOV P0,#0F7H
  CLR P2.7
  LCALL YS1S
  LJMP MAIN
YS:  MOV R7,#0AH    ;延時
YS1: MOV R6,#0FFH
YS2: DJNZ R6,YS2
  DJNZ R7,YS1
  RET
YS1S:MOV R5,#0FFH
YS1S1:LCALL YS
      DJNZ  R5, YS1S1
  RET
  END

[此貼子已經被作者于2010-7-27 0:05:58編輯過]

作者: admin    時間: 2010-7-27 00:26

JNB是短轉移指令,你那F3離他太遠了,夠不著哦

你上面的 JNB P3.6,F3 指令,轉移的范圍在-128~+127字節之內,程序編寫大了,超出范圍是常有的事。

可以在其范圍之內,加個“接力點”,再用LJMP這個長轉移指令(64KB范圍內)轉移一次即可。
 
你只需要修改為:
       JNB P3.2,F11  ;等于O轉到F11   (八位數碼管全顯示1)
    JNB P3.4,F22  ;等于O轉到F22   (第二位顯示2)
    JNB P3.6,F33  ;等于0轉到F33    (第三位顯示3)
    JNB P3.7,F44  ;等于O轉到F44    (第四位顯示4)
F11:Ljmp F1
F22:Ljmp F2
F33:Ljmp F3
F44:Ljmp F4

下面我給你加了四行 這個就是接力點,
還有我燒錄這個代碼到51hei-5板子上以后,發現你這個還有其他的問題,你并沒有循環檢測按鍵,只是在開機的時候檢測了一次,所以你必須要在開機前就按住按鍵不動才能實現你上面說的效果,你還要慢慢改


關于轉移指令你可以看看這個帖子:
http://zhidao.baidu.com/question/85590549.html  






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产免费又黄又爽又刺激蜜月al | 日日艹夜夜艹 | h在线| 黄色一级免费观看 | 人人看人人搞 | 国产精品久久久久久久久免费 | 国产一区二区三区四区五区加勒比 | 久久丝袜视频 | 亚洲高清在线观看 | 亚洲精品一二区 | 欧美高清视频一区 | 在线观看中文字幕视频 | 欧美4p| 国产精品国产精品国产专区不片 | 欧美一区二区免费 | 亚洲国产精品久久久 | 91精品国产91久久久久久 | av看片网| 久久久久黑人 | 欧美一二区 | 中文字幕一区二区在线观看 | 亚洲成av人片在线观看无码 | 人人干免费 | 欧美日韩综合一区 | 午夜免费视频 | 成人欧美| 中文字幕av第一页 | 一级一级一级毛片 | 精品国产一区二区在线 | 国产成人免费在线观看 | 午夜资源| 日韩一区二区三区在线 | 日韩欧美一区在线 | 激情网站在线 | 成人性生交大免费 | 免费在线观看成人 | 国产精品影视在线观看 | 精品天堂| 亚洲成人精品 | 99精品网| 日本三级电影在线观看视频 |