新聞中心

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

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

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

本文引用地址:http://2s4d.com/article/171240.htm

  ;接收程序

  ORG 0 ;程序起始地址

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

  ORG 30H ;串口中斷地址

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

  STAR:

  MOV SP,#5FH ;設(shè)置堆棧

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

  MOV TMOD,#20H ;定時(shí)器工作方式(請(qǐng)參考51手冊(cè))

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

  MOV TH1,#0fdH ;設(shè)置波特率在9600

  MOV TL1,#0fdH ;設(shè)置波特率在9600

  SETB EA ;開起中斷

  clr ET1 ;關(guān)閉定時(shí)1中斷

  SETB ES ;開起串口中斷

  SETB TR1 ;啟動(dòng)定時(shí)器1

  mov a,#0 ;

  mov p1,a ;設(shè)置初始值,即開機(jī)p1輸出00h不動(dòng)作

  main:

  mov p1,a ;把a(bǔ)值給p1端口

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

  LOOP:

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

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

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

  reti ;返回后,a的值就會(huì)給p1

  END

  ;發(fā)送程序

  ORG 0 ;程序起始地址

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

  ORG 30H ;串口中斷地址

  START:

  MOV SP,#5FH ;設(shè)置堆棧

  MOV TMOD,#20H ;定時(shí)器工作方式(請(qǐng)參考51手冊(cè))

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

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

  MOV TH1,#0fdH ;設(shè)置波特率在9600

  MOV TL1,#0fdH

  setb EA ;開起中斷

  clr ET1 ;關(guān)閉定時(shí)1中斷

  setb ES ;開起串口中斷

  SETB TR1 ;啟動(dòng)定時(shí)器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 ;與運(yùn)算

  ret

  key:

  lcall delay ;軟件延時(shí)程序,按鍵去抖

  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 ;前進(jìn)指令

  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單片機(jī)相關(guān)文章:51單片機(jī)教程


雙控開關(guān)相關(guān)文章:雙控開關(guān)原理

上一頁 1 2 3 4 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉