單鍵遙控碼學(xué)習(xí)控制器_第1頁
單鍵遙控碼學(xué)習(xí)控制器_第2頁
單鍵遙控碼學(xué)習(xí)控制器_第3頁
單鍵遙控碼學(xué)習(xí)控制器_第4頁
單鍵遙控碼學(xué)習(xí)控制器_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、*; * 單鍵遙控碼學(xué)習(xí)控制器 *; * ; 單鍵遙控碼學(xué)習(xí)控制器電路原理圖;* ;* KEYX0 P1.0 * 1 40 * VCC *;* KEYX1 P1.1 * 2 39 * P0.0 KEYY0 *;* KEYX2 P1.2 * 3 38 * P0.1 KEYY1 *;* KEYX3 P1.3 * 4 37 * P0.2 KEYY2 *;* SCL P1.4 * 5 36 * P0.3 KEYY3 *;* SDA P1.5 * 6 35 * P0.4 KEYY4 *;* STUDYLAMP P1.6 * 7 34 * P0.5 KEYY5 *;* LAMP P1.7 * 8 33 *

2、 P0.6 KEYY6 *;* RST * 9 32 * P0.7 KEYY7 *;* RXD P3.0 * 10 MCS-51 31 * EA VDD *;* TXD P3.1 * 11 30 * ALE *;* STUDYKEY INT0 P3.2 * 12 29 * PSEN *;* INT1 P3.3 * 13 28 * P2.7 A15 DEV7 *;* REMOTEIN T0 P3.4 * 14 27 * P2.6 A14 DEV6 *;* REMOTEOUT T1 P3.5 * 15 26 * P2.5 A13 DEV5 *;* WR P3.6 * 16 25 * P2.4 A1

3、2 DEV4 *;* RD P3.7 * 17 24 * P2.3 A11 DEV3 *;* XTAL2 * 18 23 * P2.2 A10 DEV2 *;* XTAL1 * 19 22 * P2.1 A9 DEV1 *;* VSS * 20 21 * P2.0 A8 DEV0 *;* SPBASE EQU 70H;堆棧基址 IEVAL EQU 00H ;關(guān)所有中斷 MEMBASE EQU 08H;工作寄存器基址 MEMS EQU 67H;工作寄存器個數(shù);BITNMBEQU08H;一個字節(jié)包含八個位 KEYFUNFLAG EQU 80H ; 鍵功能索引 KEYFUNNMB EQU 81H ;

4、鍵功能號 KEYFUNRW EQU 82H ;遙控信號讀寫標(biāo)志 READFLAG EQU 88H ;讀標(biāo)記 WITERFLAG EQU 99H ;寫標(biāo)記 TMPHADDR EQU 08H ;讀入高電平存放首址 TMPLADDR EQU 90H ;讀入低電平存放首址 READTIME EQU 00H ;讀入數(shù)據(jù)指令時間; LOWH EQU R4 ;起始位存放高地址; LOWL EQU R5 ;起始位存放低地址 STUDYLAMP EQU P1.6 ;學(xué)習(xí)指示燈 LAMP EQU P1.7 ;未定義指示燈 STUDYKEY EQU P3.2 ;學(xué)習(xí)鍵 REMOTEIN EQU P3.4 ;遙控輸入

5、 REMOTEOUT EQU P3.5 ;遙控輸出 DELAYCONUT EQU 30H ;延時值 DELAYCONUT0EQU0FFH;延時值 T1COUNT EQU 0F3H ;T1計數(shù)值 TMODVAL EQU 22H TCONVAL EQU 41H PCONVAL EQU 00H T2CONVAL EQU 00H SCONVAL EQU 0F8H IPVAL EQU 01H;*;* 主程序和中斷程序入口 *;*ORG 0000HAJMP STARTORG 0003H AJMP INTEX0ORG 000BHRETI ORG 0013H RETIORG 001BHAJMP INTT1OR

6、G 0023HRETIORG 002BHRETI;*;* 初始化程序中的各變量 *;*CLEARMEMIO: CLRADECAMOV P0,A;清 I/O 口MOVP3,AMOV P1,ACLRAMOVP2,ACLRSTUDYLAMPCLRLAMP CLR REMOTEOUT SETB REMOTEINMOV R0,#MEMBASE;清工作寄存器MOV R1,#MEMSCLEARMEM: MOV R0,AINC R0DJNZ R1,CLEARMEMMOVR0,#KEYFUNRWMOVR0,#READFLAGMOV SP,#SPBASE;設(shè)堆?;?MOV IE,#IEVAL ;關(guān)所有中斷 MO

7、V IP,#IPVAL MOV TMOD,#TMODVAL MOV PCON,#PCONVAL MOV SCON,#SCONVAL MOV TH1,#T1COUNT MOV TL1,#T1COUNT SETB EX0 SETB EARET* ;*主程序 *START: LCALL CLEARMEMIO ;初始化;MAIN: LCALL KEYWORK ;主體程序LJMPMAINNOP;PC值出錯處理NOPNOPLJMPSTART;*;* T1中斷服務(wù)程序 *;*INTT1: CPL REMOTEOUT ;40kHZRETI;*;* 載波合成 *;*REMOTETX:MOVR0,#TMPHADD

8、RMOVR1,#TMPLADDR; CPL STUDYLAMPJZLOWBACKLOWBACKTMP: MOV R2,A ;起始位復(fù)原LOWBACKTMP0:SETBTR1SETBET1NOP NOP NOP NOPNOPNOPDJNZR2,LOWBACKTMP0DJNZR3,LOWBACKTMPLOWBACK:MOVA,R5MOVR2,ALOWBACKTMP1:SETBTR1SETBET1NOPNOP NOP NOP NOPNOPDJNZR2,LOWBACKTMP1TMP0: MOV A,R0 ;高電平處理MOVR2,A; CPL LAMPTMP1:CLRTR1CLRET1 CLR REMO

9、TEOUT ;NOP NOP NOP NOP NOP NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZR2,TMP1INCR0TMPP:MOVA,R1MOVR2,A ; CPL LAMPTMP2: SETB TR1 ;低電平處理SETBET1NOP NOP NOP NOP NOPNOPDJNZR2,TMP2INCR1MOVA,R1JZOUTAJMPTMP0OUT: CLRTR1CLRET1CLRLAMP CLR REMOTEOUTRET;*;* 遙控數(shù)據(jù)讀取 INT0中斷程序 *;* 高電平存TMPHADDR為首址RAM *;* 低電平存TMPLADDR為首址RAM *;*

10、INTEX0: CLRET1CLRTR1 CLR EX0CLREASETBSTUDYLAMPCLRLAMPMOVR0,#TMPHADDRMOVR1,#TMPLADDRCLRAMOVDPH,AMOVDPL,AREADHEAD:JNBREMOTEIN,READDATA;尋找起始位INCDPTR NOP NOP NOP NOP NOP NOP NOP NOP NOPNOPNOPNOPNOPNOPNOPAJMPREADHEADREADDATA:CJNEA,DPH,READDATA00MOVDPH,AAJMPREADHEADREADDATA00:MOVR3,DPHMOVDPH,AMOVDPL,AREAD

11、LOOP01: JB REMOTEIN,READDATA02 ;讀起始位INCDPTRNOP NOP NOP NOP NOP NOP NOPNOPNOPNOPNOPNOPNOPNOPNOPAJMPREADLOOP01READDATA02:CLRLAMPMOVR4,DPH MOV R5,DPL ;存起始位MOVDPH,#00HMOVDPL,#READTIMEAJMPREADLOOP1READDATA1: SETB LAMP ;存高電平MOVR0,DPLINCR0MOVDPL,#READTIME MOV DPH,#00HREADLOOP0: JB REMOTEIN,READDATA2 ;讀低電平I

12、NCDPTRNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP NOP NOP NOP NOP NOPAJMPREADLOOP0READDATA2: CLR LAMP ;存低電平MOVR1,DPLINCR1MOVDPL,#READTIME MOV DPH,#00HREADLOOP1: JNB REMOTEIN,READDATA3 ;讀高電平INCDPTRNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP NOP NOP NOP NOP NOP AJMP READLOOP1READDATA3: CLR ACJNEA,DPH,READDATA4AJMPREADDATA1READDATA4:MOVR0,AMOVR1,ASETBLAMP CLR STUDYLAMP SETB REMOTEINREADEND:JNBSTUDYKEY,READENDMOVR0,#KEYFUNRWMOVR0,#WITERFLAG SETB EX0SETBEARETI;*;* 鍵工作子程序 ;*KEYWORK: SETB P1.0 JNB P1.0,KEY0KEYOUT:RETKEY0: LCALL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論