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

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

QQ登錄

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

搜索
查看: 3675|回復(fù): 0
收起左側(cè)

03年電賽智能電動(dòng)車(chē)制作資料及單片機(jī)匯編語(yǔ)言源程序

[復(fù)制鏈接]
ID:441300 發(fā)表于 2019-1-17 21:49 | 顯示全部樓層 |閱讀模式
這是一個(gè)智能電動(dòng)車(chē)制作資料及源程序,
03年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽試題。很大參考價(jià)值

一只置于軌道中間,兩只置于軌道外側(cè),當(dāng)小車(chē)脫離軌道時(shí),即當(dāng)置于中間的一只光電開(kāi)關(guān)脫離軌道時(shí),等待外面任一只檢測(cè)到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開(kāi)關(guān)重新檢測(cè)到黑線(即回到軌道)再恢復(fù)正向行駛。現(xiàn)場(chǎng)實(shí)測(cè)表明,雖然小車(chē)在尋跡過(guò)程中有一定的左右搖擺(因?yàn)樗?gòu)小車(chē)的內(nèi)部結(jié)構(gòu)決定了光電開(kāi)光之間的距離到達(dá)不了精確計(jì)算值1厘米),但只要控制好行駛速度就可保證車(chē)身基本上接近于沿靠軌道行駛。

方案三、采用一只紅外傳感器置于小車(chē)右側(cè)并與小車(chē)前進(jìn)方向呈一固定角度。
基于對(duì)C點(diǎn)后行車(chē)地圖中光源及障礙物尺寸、位置的分析,我們采用了從C點(diǎn)出發(fā)即獲得光源對(duì)行車(chē)方向的控制,在向光源行駛的過(guò)程之中檢查障礙物并做出相應(yīng)的反應(yīng),這樣不僅只使用一只紅外傳感器就實(shí)現(xiàn)了避障,而且避免因小車(chē)自然轉(zhuǎn)彎而導(dǎo)致的盲目方向控制,同時(shí)為后面以最簡(jiǎn)單直接的路線和在最短時(shí)間內(nèi)駛?cè)胲?chē)庫(kù)創(chuàng)造了機(jī)會(huì)。

智能小車(chē)應(yīng)以準(zhǔn)確、智能見(jiàn)優(yōu),采用方案三。

4.尋找光源方案分析與比較
方案三、利用多只光源定位器。
在方案二所得數(shù)據(jù)的基礎(chǔ)上,結(jié)合光敏電阻的敏感性,只用三到五只光敏電阻就可以達(dá)到目的,只是因其對(duì)光非常敏感,所以必需為每只光敏電阻加上黑色隔離板。雖然制作有一定難度,但其能見(jiàn)長(zhǎng)度和相對(duì)簡(jiǎn)明的控制措施顯示了很大的優(yōu)越性。

綜合考慮以上方案,方案三更具準(zhǔn)確性和獨(dú)創(chuàng)性,故我們采用方案三。
0.png

0.png

0.png 0.png

   由于本次實(shí)驗(yàn)需要捍接的器件較多,各器件對(duì)于電源電流的需要極大,我們先以雙電源開(kāi)始調(diào)試,發(fā)現(xiàn)所有的開(kāi)關(guān)器件很難穩(wěn)定地給單片機(jī)送正確值,只有當(dāng)更換新電池或小車(chē)剛剛啟動(dòng)時(shí)才會(huì)很準(zhǔn)確,經(jīng)過(guò)思考,這都是開(kāi)關(guān)元件消耗電量很大的原因,一旦電池電量不足其工作將會(huì)萎靡不振,于是我們將所有開(kāi)關(guān)器件劃成一個(gè)部分,由一塊電池專(zhuān)門(mén)供電。
    在前輪PWM驅(qū)動(dòng)轉(zhuǎn)向電路運(yùn)行中,我們發(fā)現(xiàn),電機(jī)只給一個(gè)轉(zhuǎn)向力,但保持長(zhǎng)期轉(zhuǎn)向時(shí),電機(jī)的轉(zhuǎn)動(dòng)由于受到強(qiáng)行制動(dòng)而處于一種相對(duì)靜止的狀態(tài),導(dǎo)致PWM驅(qū)動(dòng)電路產(chǎn)生大量的熱量,我們既利用軟件使其盡量減少長(zhǎng)期單向轉(zhuǎn)動(dòng)狀態(tài),又在硬件上,在PWM驅(qū)動(dòng)板上涂上了一層散熱膠,即使發(fā)熱,也不會(huì)燒壞PWM驅(qū)動(dòng)電路。
    在安裝上避障用光電開(kāi)關(guān)之后,其與其它所有開(kāi)關(guān)元件共用同一電源,在運(yùn)行時(shí)發(fā)現(xiàn)三個(gè)用于尋跡用的開(kāi)關(guān)元件不能全部正常工作了,據(jù)分析,避障用光電開(kāi)關(guān)由于探測(cè)距離遠(yuǎn),功率大,很可能影響其他元件改用單一電源供電后,小車(chē)正常工作。
    在所有電源開(kāi)啟后,系統(tǒng)即進(jìn)入6秒鐘倒計(jì)時(shí)狀態(tài),6秒鐘倒計(jì)時(shí)完畢之后,有時(shí)后輪電機(jī)不能正常啟動(dòng)。經(jīng)分析,這是屬于正常情況,因?yàn)槠鋯?dòng)需要克服很大的慣性,而其電源又不能在瞬間提供很大的電流,所以就沒(méi)有動(dòng)靜。此時(shí),關(guān)掉單片機(jī)電源,再重新打開(kāi)后即可進(jìn)入正常狀態(tài)去正常運(yùn)行。

單片機(jī)源程序如下:
  1. ORG     0000H
  2. LJMP    MAIN

  3. ORG     0003H
  4. LJMP    MINE_BOMB

  5. ORG     000BH
  6. LJMP    TIMER

  7. ORG     0013H
  8. LJMP    HUOER

  9. ORG     001BH
  10. LJMP    SPEED

  11. ;**************************************************
  12. ORG     0030H
  13. ;**************************************************
  14. MINE_BOMB:
  15.         PUSH    A
  16.         PUSH    PSW

  17.         INC     3AH

  18.         MOV     A,40H
  19.         MOV     3BH,A

  20.         MOV     A,41H
  21.         MOV     3CH,A

  22.         CLR    20H.3
  23.         SETB   P3.4
  24.         SETB   P3.5

  25.         POP     PSW
  26.         POP     A
  27. RETI

  28. ;**************************************************
  29. TIMER:
  30.         PUSH    A
  31.         PUSH    PSW

  32.         MOV       TL0,#0F0H
  33.         MOV       TH0,#0D8H

  34.         INC       37H
  35.         MOV       A,37H

  36.         CJNE      A,#100,TIMEREND
  37. ;is 1second

  38. IS_HUN:
  39.         MOV       37H,#0
  40.         ;            IS C_MINE,STOP AND THAN  XUAN
  41.         JB       20H.0,QI_LAI        ;THIS TIME,THE CAR IS WAITTING IN THE END,
  42.         DEC      39H
  43.         MOV      A,39H
  44.         CJNE     A,#0H,TIMEREND
  45.         SETB     20H.0
  46.         LJMP     TIMEREND

  47. QI_LAI:
  48.         JB       20H.1,WAKE_UP
  49.         DEC      38H
  50.         CPL      P3.4
  51.         MOV      A,38H
  52.         CJNE     A,#0H,WAKE_UP
  53.         SETB     20H.1
  54.         CLR      P3.4
  55.         SETB     TR1
  56.         MOV      5AH,#23

  57. WAKE_UP:
  58.         INC       43H
  59.         MOV       A,43H
  60.         CJNE      A,#30,GOGOGO_DOWN
  61.         MOV       A,42H
  62.         JZ        GOGOGO_DOWN
  63.         LJMP      HOME
  64. GOGOGO_DOWN:
  65.         MOV       A,43H
  66.         CJNE      A,#60,TIMEREND
  67.         MOV       43H,#0

  68.         INC       42H
  69.         MOV       A,42H
  70.         CJNE      A,#60,TIMEREND
  71.         MOV       42H,#0


  72. TIMEREND:
  73.         POP     PSW
  74.         POP     A

  75. RETI

  76. ;**************************************************
  77. HUOER:
  78.         PUSH    A
  79.         PUSH    PSW

  80.         MOV     A,3FH
  81.         CLR     C
  82.         ADD     A,#64    ;加上6.3毫米
  83.         CJNE    A,#100,CHECK_CM
  84. CHECK_CM:
  85.         JC      ADD_CM
  86.         SUBB    A,#100    ;大于10個(gè)毫米了,要作調(diào)整
  87.         MOV     3FH,A
  88.         INC     41H

  89. ADD_CM:                   ;厘米上要加2
  90.         INC     41H
  91.         INC     41H

  92.         MOV     A,41H
  93.         CJNE    A,#100,CHECK_M
  94. CHECK_M:
  95.         JC      HUOER_END
  96.         SUBB    A,#100    ;大于一米了,要調(diào)整一下
  97.         MOV     41H,A
  98.         INC     40H

  99.         ;查看是否是兩米了,是的話就算到了B區(qū)
  100.         MOV     A,40H
  101.         CJNE    A,#2,HUOER_END
  102.         MOV     36H,#0BH

  103. HUOER_END:
  104.         POP     PSW
  105.         POP     A
  106. RETI

  107. ;**************************************************
  108. SPEED:
  109.         PUSH    A
  110.         PUSH    PSW

  111.         MOV       TL1,#0B0H
  112.         MOV       TH1,#03CH

  113.         INC       5BH
  114.         MOV       A,5BH

  115.         CJNE      A,5AH,SPEED_NO_EQUAL   ; 5A中放了速度值,比5A大,剛置為停,小則行
  116.         CLR       P3.0                   ; 等于5A了,置為停
  117.         LJMP      SP_END

  118. SPEED_NO_EQUAL:                          ; 不是5A

  119.         JC       IS_GOGOGO               ; 小于5A,則向前走
  120.         CJNE     A,#40,SP_BIG_TOTAL      ; 是不是比總脈沖值大
  121.         SETB     P3.0
  122.         MOV      5BH,#0H
  123.         LJMP     SP_END
  124. IS_GOGOGO:                               ;是行,就置行
  125.         SETB     P3.0
  126.         LJMP     SP_END

  127. SP_BIG_TOTAL:                            ; 大于5A,不是40
  128.         CLR      P3.0
  129.         JC       SP_END                  ;比40小則是停,就不管
  130.         MOV      5AH,#0H
  131. SP_END:

  132.         POP     PSW
  133.         POP     A
  134. RETI

  135. ;**************************************************
  136. ;**************************************************


  137. MAIN:
  138.         MOV     SP,#5FH
  139.         LCALL   INIT
  140.     ;   LJMP    HOME;\\\\\\\\\

  141. SIX_SECOND:
  142.         JB      20H.0,GO_MINE_ZEON
  143.         MOV     R1,#39H
  144.         LCALL   SETCODEALL
  145.         LCALL   OUT
  146.         LJMP    SIX_SECOND

  147. GO_MINE_ZEON:
  148.         SETB     TR1
  149.         LJMP     MINE_WAY
  150. RET

  151. ;**************************************************
  152. ;**************************************************

  153. INIT:
  154.      MOV        R1,#36H
  155.      MOV        R2,#34
  156. INIT_LOOP:
  157.      MOV        @R1,#0
  158.      INC        R1
  159.      DJNZ       R2,INIT_LOOP

  160.      MOV        20H,#0H
  161.      SETB       20H.1
  162.      SETB       20H.3


  163.      MOV        39H,#6H      ;倒計(jì)時(shí)654321
  164.      MOV        38H,#5H      ;倒計(jì)時(shí)54321
  165.      MOV        5AH,#24      ;用于車(chē)速控制

  166.      MOV        36H,#0AH

  167.      MOV        P3,#0CH
  168.      MOV        P2,#0H


  169. INT_ZONE:
  170.      LCALL      SET_INT

  171. RET
  172. ;**************************************************
  173. SET_INT:
  174.      MOV       TMOD,#01H
  175.      MOV       TL0,#0F0H
  176.      MOV       TH0,#0D8H

  177.      MOV       TL1,#0B0H
  178.      MOV       TH1,#03CH
  179.      SETB      TR0
  180.      CLR       TR1

  181.      SETB      EA
  182.      SETB      ET0
  183.      SETB      ET1
  184.      SETB      EX0
  185.      SETB      IT0

  186.      SETB      EX1
  187.      SETB      IT1

  188. RET
  189. ;**************************************************

  190. SETCODEALL:;6543210
  191.         MOV     R0,#30H
  192.         MOV     R2,#6
  193. SETCODEALL_LOOP:
  194.         MOV     A,@R1
  195.         MOV     DPTR,#TAB
  196.         MOVC    A,@A+DPTR
  197.         MOV     @R0,A
  198.         INC     R0
  199.         DJNZ    R2,SETCODEALL_LOOP
  200. RET

  201. ;**************************************************
  202. ;**************************************************

  203. MINE_WAY:
  204.         LCALL TRACK

  205.         JB    20H.3,MINE_WAY
  206.         MOV     C,P3.2           ;下面有雷,就是低
  207.         JC    MINE_WAY

  208.         ;下面是關(guān)小燈和蜂鳴器
  209.         CLR     P3.4
  210.         CLR     P3.5

  211.         ;看看長(zhǎng)度是否超過(guò)4米
  212.         MOV     A,40H
  213.         CJNE    A,#4H,PASS_C
  214.         LJMP    C_POINT

  215. PASS_C:
  216.         JNC     C_POINT

  217.         ;下面調(diào)用一般雷的處理方法,再返回主程序
  218.         LCALL   NORMAL_MINE
  219.         LJMP    MINE_WAY

  220.         ;下面是到達(dá)C點(diǎn)了
  221. C_POINT:
  222.         CLR     20H.1
  223.         LCALL   FIVE_SECOND
  224.         SETB    20H.3
  225.         SETB    TR1
  226.         MOV     5AH,#23
  227.         LJMP    BOLK

  228. RET

  229. ;****************************************************

  230. TRACK:
  231.       MOV       A,P0
  232.       ANL       A,#07H
  233.       CJNE      A,#7H,SET_TURN
  234.       LJMP      LIGHT_END
  235. SET_TURN:
  236.       CJNE      A,#3H,LIGHT_NEXT
  237. RIGHT_LIGHT:         ;  看右邊的光敏元件
  238.       CLR       P2.7        ;這時(shí)就要向右轉(zhuǎn)彎了
  239.       SETB      P2.6
  240.       LCALL     TURN_DELAY
  241.       CLR       P2.6
  242.       RET
  243. LIGHT_NEXT:          ; 左轉(zhuǎn)了
  244.       CJNE      A,#06H,LIGHT_END
  245.       SETB      P2.7
  246.       SETB      P2.6
  247.       LCALL     TURN_DELAY
  248.       CLR       P2.6
  249.       RET

  250. LIGHT_END:
  251.       CLR   P2.6
  252. RET
  253. ;****************************************************

  254. TURN_DELAY:
  255.       MOV        5AH,#26
  256.       MOV        C, P0.1
  257.       JC         TURN_DELAY

  258.       MOV        A,36H
  259.       
  260.       CJNE       A,#0AH,IS_ZONE_B
  261.       MOV        5AH,#24
  262.       LJMP       TURN_DELAY_END

  263. IS_ZONE_B:
  264.       MOV        5AH,#20
  265. TURN_DELAY_END:

  266. RET

  267. ;****************************************************

  268. NORMAL_MINE:
  269.       CLR        TR1
  270.       CLR        P2.6

  271.       ;以下是保存雷長(zhǎng)度
  272.       MOV       A,3CH
  273.       ADD       A,#53H
  274.       MOV       R0,A

  275.       CLR       C
  276.       MOV       A,41H
  277.       ADD       A,#100
  278.       SUBB      A,3CH
  279.       CJNE      A,#100,NORMAL_MINE_LENGTH
  280. NORMAL_MINE_LENGTH:
  281.       JC        NO_CHANGE
  282.       SUBB      A,#100
  283. NO_CHANGE:
  284.       MOV       @R0,A


  285.       ;以下是計(jì)算中點(diǎn)距起點(diǎn)的距離
  286.       MOV       B,#2H
  287.       DIV       AB

  288.       ADD       A,3CH
  289.       CJNE      A,#100,SET_CENTER
  290. SET_CENTER:
  291.       JC        NO_P_WAY
  292.       SUBB      A,#100
  293.       INC       3BH
  294. NO_P_WAY:
  295.       MOV       3CH,A

  296.       ;保存中點(diǎn)距離
  297.       MOV       A,3AH
  298.       DEC       A
  299.       MOV       B,#2H
  300.       MUL       AB

  301.       MOV       R0,48H
  302.       ADD       A,R0

  303.       MOV       R0,A
  304.       MOV       A,3BH
  305.       MOV       @R0,A

  306.       INC       R0
  307.       MOV       A,3CH
  308.       MOV       @R0,A



  309.       CLR        P3.0
  310.       CLR        P3.1
  311.       CLR        P2.6

  312.       CLR        TR1

  313.       ;以下是延時(shí)顯示程序
  314.       LCALL      DELAY_MINE2
  315.       CLR        P3.1
  316.       SETB       P3.0
  317.       SETB       TR1
  318.       SETB       20H.3

  319. RET

  320. ;****************************************************
  321. DELAY_MINE1:
  322.       MOV       R6,#2H
  323. DELAY_LOOP_MINE1:
  324.       LCALL      DELAY
  325.       DJNZ       R6,DELAY_LOOP_MINE1
  326. RET

  327. ;****************************************************
  328. ;****************************************************
  329. DELAY_MINE2:
  330.       LCALL     SET_CODE_MINE
  331.       MOV       R5,#03H
  332. DELAY_LOOP_MINE_F:
  333.       MOV       R6,#08FH
  334.       DELAY_LOOP_MINE2:
  335.            LCALL      OUT
  336.            DJNZ       R6,DELAY_LOOP_MINE2
  337.       DJNZ     R5,DELAY_LOOP_MINE_F
  338. RET

  339. ;****************************************************

  340. SET_CODE_MINE:
  341.       MOV     A,3BH
  342.       MOV     B,#0AH
  343.       DIV     AB
  344.       MOV     44H,A
  345.       MOV     45H,B

  346.       MOV     A,3CH
  347.       MOV     B,#0AH
  348.       DIV     AB
  349.       MOV     46H,A
  350.       MOV     47H,B

  351.       LCALL   SET_CODE
  352. RET


  353. ;****************************************************

  354. FIVE_SECOND:
  355.          CLR        TR1
  356.          CLR        P2.6
  357.          SETB       P3.1
  358.          SETB       P3.0
  359.          LCALL      DELAY_MINE1
  360.          CLR        P3.0
  361.          CLR        P3.1
  362.          CLR        P2.6

  363.          SETB       P3.5
  364.          SETB       P3.4
  365.          CLR        TR1

  366. STOP_AT_C:
  367.         MOV     R1,#38H
  368.         LCALL   SETCODEALL
  369.         JB      20H.1,C_WAKE_LE
  370.         LCALL   OUT
  371.         LJMP    STOP_AT_C

  372. C_WAKE_LE:
  373.         SETB    TR1

  374. RET

  375. ;****************************************************
  376. ;****************************************************

  377. BOLK:
  378.         SETB    TR1
  379.         MOV     5AH,#20
  380.         

  381.         MOV     R5,#05H
  382. FIRST_TURN_RIGHT1:
  383.         MOV      R6,#0FFH
  384. FIRST_TURN_RIGHT2:
  385.         LCALL     DELAY        
  386.         DJNZ      R6,FIRST_TURN_RIGHT2        
  387.         DJNZ      R5,FIRST_TURN_RIGHT1
  388.                
  389.         

  390. SEEK_LAMP:
  391.         LCALL   TURN_TO_LAMP
  392.         MOV     C,P0.1
  393.         JNC     HOME
  394.         JB      20H.6,SEEK_LAMP

  395.         MOV     C,P0.6
  396.         JC      SEEK_LAMP
  397. AV:     LCALL   AVOID_WHITE_BOLK
  398.         MOV     C,P0.6
  399.         JNC     AV
  400.         SETB    20H.6

  401.         LJMP    SEEK_LAMP

  402. RET

  403. ;******************************************************

  404. TURN_TO_LAMP:
  405.         MOV  C,P0.3
  406.         JNC  LOOK_RIGHT
  407.         LCALL  TURN_LEFT_MIDDLE
  408.         RET
  409. LOOK_RIGHT:
  410.         MOV     C,P0.5
  411.         MOV     R6,#4FH
  412. FORWARDLIGHT:
  413.         LCALL   DELAY
  414.         DJNZ    R6,FORWARDLIGHT
  415.         JNC     TURN_TO_LAMP_END
  416.         LCALL   TURN_RIGHT_MIDDLE
  417.         RET

  418. TURN_TO_LAMP_END:
  419. RET

  420. ;******************************************************

  421. ;******************************************************
  422. AVOID_WHITE_BOLK:
  423.          SETB    P2.7
  424.          SETB    P2.6
  425.          MOV     5AH,#30
  426.          MOV    R6,#3FH
  427. AVOID_LOOP:
  428.          LCALL  DELAY
  429.          DJNZ   R6,AVOID_LOOP

  430.          MOV     C,P0.6
  431.          JNC     AVOID_WHITE_BOLK
  432.          MOV     5AH,#23
  433.          CLR     P2.6
  434. RET
  435. ;******************************************************

  436. TURN_RIGHT_MIDDLE:
  437.          MOV      5AH,#30
  438. TURN_RIGHT_MIDDLE_START:
  439.          CLR    P2.7
  440.          SETB   P2.6
  441.          MOV    C,P0.3
  442.          JNC    TURN_RIGHT_MIDDLE_START
  443.          CLR    P2.6
  444.          MOV    5AH,#23
  445. RET

  446. ;******************************************************

  447. TURN_LEFT_MIDDLE:
  448.           MOV    5AH,#30
  449. TURN_LEFT_MIDDLE_START:
  450.          SETB   P2.7
  451.          SETB   P2.6
  452.           MOV    C,P0.5
  453.          JNC    TURN_RIGHT_MIDDLE_START
  454.          CLR    P2.6
  455.          MOV    5AH,#23H
  456. RET

  457. ;******************************************************

  458. DELAY:
  459.         MOV     R7,#0FFH
  460. DELAY_LOOP:
  461.         DJNZ    R7,DELAY_LOOP
  462. RET

  463. ;******************************************************



  464. ;****************************************************

  465. HOME:
  466.         MOV     IE,#0H
  467.         MOV     IE,#0H

  468.         CLR     P2.6
  469.         CLR     P3.0

  470. HOME_WAIT:
  471.         CLR     P2.6
  472.         CLR     P3.0
  473.         SETB    P3.4
  474.         LCALL   KEY_QUERY     ; 查詢(xún)鍵盤(pán)
  475.         LCALL   TIP_SET_CODE  ; 設(shè)置顯示值
  476.          MOV     R1,#44H
  477.          LCALL   SET_CODE
  478.         LCALL   OUT           ; LED 輸出
  479.         LJMP    HOME_WAIT
  480. RET

  481. ;******************************************************

  482. KEY_QUERY:
  483.         LCALL   KEY
  484.         JNC    KEY_QUERY_END
  485.         LCALL   KEY
  486.         JNC      KEY_QUERY_END
  487.         LCALL   DEAL_KEY
  488. KEY_WA:
  489.         LCALL   KEY
  490.         JC      KEY_WA
  491. KEY_QUERY_END:
  492. RET


  493. RET

  494. ;******************************************************

  495. TIP_SET_CODE:

  496.         MOV  A,59H
  497.         JZ   SET_TIME

  498.         MOV     R0,#46H
  499.         MOV     B,#02H
  500.         MUL     AB

  501.         ADD     A,R0
  502.         MOV     R0,A
  503. SET_NUM:
  504.         MOV     A,@R0
  505.         MOV     B,#0AH
  506.         DIV     AB
  507.         MOV     44H,A
  508.         MOV     45H,B

  509.         INC     R0
  510.         MOV     B,#0AH
  511.         MOV     A,@R0
  512.         DIV     AB
  513.         MOV     46H,A
  514.         MOV     47H,B
  515.         RET

  516. SET_TIME:
  517.         MOV     R0,#42H
  518.         LJMP    SET_NUM

  519. RET

  520. ;*****************************************************

  521. OUT:
  522.         MOV     R0,#30H
  523.         MOV     R2,#6H
  524.         MOV     R4,#0H
  525. LOOP:
  526.         MOV     A,@R0
  527.         LCALL   OUTPUT
  528.         INC     R0
  529.         INC     R4
  530.         DJNZ    R2,LOOP
  531. RET

  532. ;*******************************************************

  533. OUTPUT: ;在A中是要顯示的數(shù)據(jù),R4中是要顯示的位
  534.         MOV     R3,#8H
  535.         CLR     P1.3

  536. OUT_LOOP:
  537.         RLC     A
  538.         MOV     P1.2,C
  539.         CLR     P1.4
  540.         NOP
  541.         NOP
  542.         NOP
  543.         SETB    P1.4
  544.         NOP
  545.         NOP
  546.         NOP
  547.         DJNZ    R3,OUT_LOOP
  548. OUT_LOOP_END:
  549.         MOV     P1,R4
  550.         SETB    P1.3
  551.         LCALL   DELAY
  552.         CLR     P1.3
  553. RET

  554. ;******************************************************

  555. SET_CODE:
  556.         MOV     R0,#44H
  557.         MOV     R1,#30H
  558.         MOV     R2,#4H
  559. SET_CODE_LOOP:
  560.         MOV     A,@R0
  561.         MOV     DPTR,#TAB
  562.         MOVC    A,@A+DPTR
  563.         MOV     @R1,A
  564.         INC     R0
  565.         INC     R1
  566.         DJNZ    R2,SET_CODE_LOOP

  567.         ;以下是顯示是第幾個(gè)雷
  568.         MOV     A,3AH
  569.         MOV     DPTR,#TAB
  570.         MOVC    A,@A+DPTR
  571.         MOV     35H,A
  572.         ;以下是使一個(gè)LED為暗
  573.         MOV     34H,#0H
  574. RET

  575. ;******************************************************

  576. TAB:   DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

  577. ;*****************************************************
  578. KEY:
  579.         MOV     58H,#0FEH;
  580.         MOV     R1,#4H
  581. KEY_LOOP:
  582.         MOV     P1,58H
  583.         MOV     A,P1
  584.         CJNE    A,58H,KEY_NEXT1
  585. ……………………

  586. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png

所有資料51hei提供下載:
大賽用智能電動(dòng)車(chē)制作源程序.rar (124.43 KB, 下載次數(shù): 14)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜电影福利 | 日韩欧美精品在线 | 日本免费一区二区三区四区 | 欧美一区二区三区国产 | 天堂综合网 | 日韩在线不卡视频 | 免费看a| 久久久av中文字幕 | 天天色天天 | av一级 | 欧美日韩久久 | 国产成人免费观看 | 日韩精品在线免费 | 秋霞a级毛片在线看 | 国产精品性做久久久久久 | 热久久久 | www.国产精 | 国产欧美精品一区二区三区 | 99精品久久 | 一区二区三区成人 | 日本午夜视频 | 欧美三级电影在线播放 | 国产精品乱码一区二三区小蝌蚪 | 成人精品一区二区三区中文字幕 | 中文字幕一区在线观看视频 | 国产一区二区三区在线看 | 国产特黄一级 | 欧美成人精品一区 | 国产精品一区二区不卡 | 日本天堂视频在线观看 | 97精品久久| www网站在线观看 | 欧美激情视频一区二区三区免费 | 一区二区三区av | 在线看国产 | 精品丝袜在线 | 国产欧美一区二区在线观看 | 久久精品国产一区二区电影 | 国产成人综合一区二区三区 | 成人国产免费观看 | 欧美精品中文字幕久久二区 |