注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! • 打開購物車 • 查看留言 • 付款方式 • 聯系我們 |
![]() |
首頁 | 電子入門 | 學單片機 | 免費資源 | 下載中心 | 商品列表 | 象棋在線 | 在線繪圖 | 加盟五一 | 加入收藏 | 設為首頁 |
選擇分類:當前分類——電子制作 相關聯或者相類似的文章: [推薦]如何學好電子(32017) 今夏購物回饋送大禮并可參加抽獎活動(32000) 免費抄版軟件——文字或圖片轉PCB文件(31341) 74系列芯片資料 (11661) 兩匹馬的故事(10519) 知道中國人的安全套用完了送哪里去了?(10473) 互聯網精華文章摘錄(10473) 節能燈套件制作說明(9999) 無插件免安裝功能強大的象棋打譜演示軟件(9985) 一切都是玩!一切為了玩!(9523) 三十分鐘一個小時學會單片機(9045) 什么是單片機?單片機有什么用? (8723) 如何用STC板將代碼燒錄進IC(8681) 怎樣安裝AT51編程板的USB轉串口軟件?(8206) 多功能電子實驗套件助你成功!(8073) 電影敲詐手段“遙控炸彈”在深圳真實上演(5300) 2012年春節放假通知(4300) 當你扛不住的時候就讀一遍(4300) USB充電器套件制作說明(3141) 消費2000元,就可能得到1200元的現金獎勵(2857) 首頁 前頁 后頁 尾頁 本站推薦: | 單鍵學習型遙控器 單鍵遙控碼學習控制器電路原理圖 ;********************************************************************** ;* * ;* 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 * 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 A12 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 ;關所有中斷 MEMBASE EQU 08H ;工作寄存器基址 MEMS EQU 67H ;工作寄存器個數 ; ; BITNMB EQU 08H ;一個字節包含八個位 ; KEYFUNFLAG EQU 80H ; 鍵功能索引 KEYFUNNMB EQU 81H ;鍵功能號 KEYFUNRW EQU 82H ;遙控信號讀寫標志 READFLAG EQU 88H ;讀標記 WITERFLAG EQU 99H ;寫標記 ; TMPHADDR EQU 08H ;讀入高電平存放首址 TMPLADDR EQU 90H ;讀入低電平存放首址 READTIME EQU 00H ;讀入數據指令時間 ; LOWH EQU R4 ;起始位存放高地址 ; LOWL EQU R5 ;起始位存放低地址 STUDYLAMP EQU P1.6 ;學習指示燈 LAMP EQU P1.7 ;未定義指示燈 STUDYKEY EQU P3.2 ;學習鍵 ; REMOTEIN EQU P3.4 ;遙控輸入 REMOTEOUT EQU P3.5 ;遙控輸出 DELAYCONUT EQU 30H ;延時值 DELAYCONUT0 EQU 0FFH ;延時值 T1COUNT EQU 0F3H ;T1計數值 TMODVAL EQU 22H TCONVAL EQU 41H PCONVAL EQU 00H T2CONVAL EQU 00H SCONVAL EQU 0F8H IPVAL EQU 01H ; ; ;************************************* ;* * ;* 主程序和中斷程序入口 * ;* * ;************************************* ORG 0000H AJMP START ORG 0003H AJMP INTEX0 ORG 000BH RETI ORG 0013H RETI ORG 001BH AJMP INTT1 ORG 0023H RETI ORG 002BH RETI ; ;************************************* ;* * ;* 初始化程序中的各變量 * ;* * ;************************************* CLEARMEMIO: CLR A DEC A MOV P0,A ;清 I/O 口 MOV P3,A MOV P1,A CLR A MOV P2,A CLR STUDYLAMP CLR LAMP CLR REMOTEOUT SETB REMOTEIN MOV R0,#MEMBASE ;清工作寄存器 MOV R1,#MEMS CLEARMEM: MOV @R0,A INC R0 DJNZ R1,CLEARMEM MOV R0,#KEYFUNRW MOV @R0,#READFLAG MOV SP,#SPBASE ;設堆; MOV IE,#IEVAL ;關所有中斷 MOV IP,#IPVAL MOV TMOD,#TMODVAL MOV PCON,#PCONVAL MOV SCON,#SCONVAL MOV TH1,#T1COUNT MOV TL1,#T1COUNT SETB EX0 SETB EA RET ; ;************************************* ;* * ;* 主程序 * ;* * ;************************************* START: LCALL CLEARMEMIO ;初始化 ; MAIN: LCALL KEYWORK ;主體程序 LJMP MAIN NOP ;PC值出錯處理 NOP NOP LJMP START ; ;************************************* ;* * ;* T1中斷服務程序 * ;* * ;************************************* INTT1: CPL REMOTEOUT ;40kHZ RETI ; ;************************************* ;* * ;* 載波合成 * ;* * ;************************************* REMOTETX: MOV R0,#TMPHADDR MOV R1,#TMPLADDR SETB LAMP ; CPL STUDYLAMP MOV A,R4 MOV R3,A JZ LOWBACK CLR A DEC A LOWBACKTMP: MOV R2,A ;起始位復原 LOWBACKTMP0: SETB TR1 SETB ET1 NOP NOP NOP NOP NOP NOP DJNZ R2,LOWBACKTMP0 DJNZ R3,LOWBACKTMP LOWBACK: MOV A,R5 MOV R2,A LOWBACKTMP1: SETB TR1 SETB ET1 NOP NOP NOP NOP NOP NOP DJNZ R2,LOWBACKTMP1 ; TMP0: MOV A,@R0 ;高電平處理 MOV R2,A ; CPL LAMP TMP1: CLR TR1 CLR ET1 CLR REMOTEOUT ; NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R2,TMP1 INC R0 TMPP: MOV A,@R1 MOV R2,A ; CPL LAMP TMP2: SETB TR1 ;低電平處理 SETB ET1 NOP NOP NOP NOP NOP NOP DJNZ R2,TMP2 INC R1 MOV A,@R1 JZ OUT AJMP TMP0 OUT: CLR TR1 CLR ET1 CLR LAMP CLR REMOTEOUT RET ; ;************************************* ;* 遙控數據讀取 INT0中斷程序 * ;* 高電平存TMPHADDR為首址RAM * ;* 低電平存TMPLADDR為首址RAM * ;************************************* INTEX0: CLR ET1 CLR TR1 CLR EX0 CLR EA SETB STUDYLAMP CLR LAMP MOV R0,#TMPHADDR MOV R1,#TMPLADDR CLR A MOV DPH,A MOV DPL,A READHEAD: JNB REMOTEIN,READDATA ;尋找起始位 INC DPTR NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP AJMP READHEAD ; READDATA: CJNE A,DPH,READDATA00 MOV DPH,A AJMP READHEAD ; READDATA00: MOV R3,DPH MOV DPH,A MOV DPL,A READLOOP01: JB REMOTEIN,READDATA02 ;讀起始位 INC DPTR NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP AJMP READLOOP01 ; READDATA02: CLR LAMP MOV R4,DPH MOV R5,DPL ;存起始位 MOV DPH,#00H MOV DPL,#READTIME AJMP READLOOP1 ; READDATA1: SETB LAMP ;存高電平 MOV @R0,DPL INC R0 MOV DPL,#READTIME MOV DPH,#00H READLOOP0: JB REMOTEIN,READDATA2 ;讀低電平 INC DPTR NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP AJMP READLOOP0 ; READDATA2: CLR LAMP ;存低電平 MOV @R1,DPL INC R1 MOV DPL,#READTIME MOV DPH,#00H READLOOP1: JNB REMOTEIN,READDATA3 ;讀高電平 INC DPTR NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP AJMP READLOOP1 ; READDATA3: CLR A CJNE A,DPH,READDATA4 AJMP READDATA1 ; READDATA4: MOV @R0,A MOV @R1,A ; SETB LAMP CLR STUDYLAMP SETB REMOTEIN READEND: JNB STUDYKEY,READEND MOV R0,#KEYFUNRW MOV @R0,#WITERFLAG SETB EX0 SETB EA RETI ; ;************************************* ;* * ;* 鍵工作子程序 * ;* * ;************************************* KEYWORK: SETB P1.0 JNB P1.0,KEY0 KEYOUT: RET ; KEY0: LCALL DL10MS ;延時去抖動 JB P1.0,KEYOUT LJMP REMOTETX ; ;************************************* ;* * ;* 延時 255 X 2 = 512 us * ;* * ;************************************* DELAY: MOV R0,#DELAYCONUT0 DELAY1: DJNZ R0,DELAY1 RET ; ;************************************* ;* * ;* 延時25 ms * ;* * ;************************************* DL10MS: MOV R1,#DELAYCONUT DL10MS1: LCALL DELAY DJNZ R1,DL10MS1 RET ; ; END 1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。 2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! |
本站協議。
版權信息。
關于我們。
本站地圖。
營業執照。
發票說明。
付款方式。
聯系方式
深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102 E-mail:51dz$163.com($改為@);Tel:(0755)27947428 工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389 |