在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機四驅(qū)無線遙控小車制作詳解

            51單片機四驅(qū)無線遙控小車制作詳解

            作者: 時間:2012-06-24 來源:網(wǎng)絡 收藏
            源代碼:

            本文引用地址:http://www.biyoush.com/article/171240.htm

              ;接收程序

              ORG 0 ;程序起始地址

              SJMP STAR ;跳轉(zhuǎn)到主程序

              ORG 30H ;串口中斷地址

              sjmp loop ;跳轉(zhuǎn)到中斷服務程序

              STAR:

              MOV SP,#5FH ;設置堆棧

              MOV SCON,#50H ;串行數(shù)據(jù)格式(詳情請參考51手冊)

              MOV TMOD,#20H ;定時器工作方式(請參考51手冊)

              MOV PCON,#0 ;波特率不倍速(請參考51手冊)

              MOV TH1,#0fdH ;設置波特率在9600

              MOV TL1,#0fdH ;設置波特率在9600

              SETB EA ;開起中斷

              clr ET1 ;關閉定時1中斷

              SETB ES ;開起串口中斷

              SETB TR1 ;啟動定時器1

              mov a,#0 ;

              mov p1,a ;設置初始值,即開機p1輸出00h不動作

              main:

              mov p1,a ;把a值給p1端口

              sjmp main ;無限循環(huán)main程序

              LOOP:

              jnb ri,$ ;判斷接收位是否接收完

              clr ri ;接收完后清空接收位

              mov a,sbuf ;發(fā)送的數(shù)據(jù)給a

              reti ;返回后,a的值就會給p1

              END

              ;發(fā)送程序

              ORG 0 ;程序起始地址

              SJMP START ;跳轉(zhuǎn)到主程序

              ORG 30H ;串口中斷地址

              START:

              MOV SP,#5FH ;設置堆棧

              MOV TMOD,#20H ;定時器工作方式(請參考51手冊)

              MOV PCON,#0 ;波特率不倍速(請參考51手冊)

              MOV SCON,#50H ;串行數(shù)據(jù)格式(詳情請參考51手冊)

              MOV TH1,#0fdH ;設置波特率在9600

              MOV TL1,#0fdH

              setb EA ;開起中斷

              clr ET1 ;關閉定時1中斷

              setb ES ;開起串口中斷

              SETB TR1 ;啟動定時器1

              main:

              lcall kcs ;調(diào)用按鍵掃描程序

              jnz key ;有鍵按下則跳轉(zhuǎn)到key程序段

              sjmp main ;無限循環(huán)main程序

              kcs:

              mov p1,#0ffh ;p1給初值

              mov a,p1 ;p1的數(shù)值給a

              cpl a ;取反a

              anl a,#0ffh ;與運算

              ret

              key:

              lcall delay ;軟件延時程序,按鍵去抖

              jb acc.0,send1

              jb acc.1,send2

              jb acc.2,send3

              jb acc.3,send4

              jb acc.4,send5

              ret

              DELAY:

              MOV R5,#20

              D1:MOV R6,#10

              D2:MOV R7,#100

              DJNZ R7,$

              DJNZ R6,D2

              DJNZ R5,D1

              ret

              send1:

              mov r1,#10101010b ;前進指令

              sjmp send

              send2:

              mov r1,#01010101b ;后退指令

              sjmp send

              send3:

              mov r1,#01011010b ;左轉(zhuǎn)指令

              sjmp send

              send4:

              mov r1,#10100101b ;右轉(zhuǎn)指令

              sjmp send

              send5:

              mov r1,#00h ;停止指令

              sjmp send

              send:

              MOV SBUF,r1 ;指令給sbuf

              JNB TI,$ ;判斷是否發(fā)送完

              reti ;中斷返回

              END

            51單片機相關文章:51單片機教程


            雙控開關相關文章:雙控開關原理

            上一頁 1 2 3 4 下一頁

            評論


            相關推薦

            技術(shù)專區(qū)

            關閉