第一范文网 - 专业文章范例文档资料分享平台

基于单片机的空调遥控器

来源:用户分享 时间:2025/7/2 3:41:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

;high enable control OSCX EQU 14H ;Bit0:Turn on OSCX oscillator,Bit1:CPU clocks

;select(1:OSCX/0:OSC),Bit3:OSCX ;type selection SETLCD EQU 15H ;Bit0:Select LCD DUTY,Bit1:LCD off, ;Bit2,3:LCD frequency control SEGOUT EQU 16H ;Bit2:Set LCD segment as output,Bit3:LCD ;power degrade PSG1L EQU 17H ;PSG channel1 low nibble

PSG1H EQU 18H ;PSG channel1 high nibble,Bit3: ;channel1 octave shift control

PSG21A EQU 19H ;PSG channel2 nibble1 or alarm output PSG22 EQU 1AH ;PSG channel2 nibble2 PSG23 EQU 1BH ;PSG channel2 nibble3

PSG24 EQU 1CH ;PSG channel2 nibble4,Bit3:channel2 ;octave shift control

PSGCTR1 EQU 1DH ;Bit0,Bit1:channel1,2 enable, ;Bit2,Bit3:volume control

PSGCTR2 EQU 1EH ;Bit0,1:PSG1,PSG2 mode control, ;Bit2,3:PSG1,PSG2 clock source selection

;******************************** ;LCD REGISTER DEFINE

;******************************** SEG1L EQU 00H SEG2L EQU 01H SEG3L EQU 02H SEG4L EQU 03H SEG5L EQU 04H SEG6L EQU 05H SEG7L EQU 06H SEG8L EQU 07H SEG9L EQU 08H SEG10L EQU 09H SEG11L EQU 0AH SEG12L EQU 0BH SEG1H EQU 28H SEG2H EQU 29H SEG3H EQU 2AH SEG4H EQU 2BH SEG5H EQU 2CH SEG6H EQU 2DH SEG7H EQU 2EH

23

SEG8H EQU 2FH SEG9H EQU 30H SEG10H EQU 31H SEG11H EQU 32H SEG12H EQU 33H

;******************************** ;USER REGISTER DEFINE

;******************************** TEMPT EQU 20H ;variable register CT0 EQU 21H ;variable 0 register CT1 EQU 22H ;variable 1 register CT2 EQU 23H ;variable 2 register PARM EQU 24H ;parmeter register KEY1 EQU 25H ;key variable register KEY_F EQU 26H ;key flag register KEY_NUM EQU 27H ;key number register S_CODE EQU 28H ;scan code register B_AC EQU 29H ;ac buffer register B_TBR EQU 2AH ;tbr buffer register PORTB_B EQU 2BH ;portb buffer register KEY2 EQU 2CH ;key variable register KEYREG EQU 2DH ;key register for display and deal with MODE EQU 2EH ;mode information register CON_OPEN EQU 2FH ;available when open WIND EQU 30H ;wind information register OCTIME EQU 31H ;open and close time register DATA_1 EQU 32H ;data used for temperature high nibble DATA_2 EQU 33H ;data used for temperature low nibble DATA_3 EQU 34H ;data used for set time to open hour high nibble DATA_4 EQU 35H ;data used for set time to open hour low nibble DATA_5 EQU 36H ;data used for set time to open minute high nibble DATA_6 EQU 37H ;data used for set time to open minute low nibble DATA_7 EQU 38H ;data used for set time to open hour high nibble DATA_8 EQU 39H ;data used for set time to open hour low nibble DATA_9 EQU 3AH ;data used for set time to open minute high nibble DATA_10 EQU 3BH ;data used for set time to open minute low nibble TIMEOP EQU 3CH ;set time open register TIMECL EQU 3DH ;set time close register OP_CL EQU 3EH ;open or close register CODEAH EQU 3FH ;code register CODEAL EQU 40H ; CODEBH EQU 41H CODEBL EQU 42H

24

CODECH EQU 43H CODECL EQU 44H CODEDH EQU 45H CODEDL EQU 46H CODEEH EQU 47H CODEEL EQU 48H CODE EQU 49H

;******************************** ORG 00H JMP RESET NOP JMP TIMER0 NOP

JMP INTB

;******************************** RESET:

CALL INITIAL_SYSTEM_REGISTER ;system initial

CALL INITIAL_USER_REGISTER ;user register initial CALL CLOSE_ALL_LCD CALL DISPLAY_ALL_LCD CALL DELAY_2S ;JMP $

CALL DISPLAY_LCD CALL_KEYSCAN:

CALL KEYSCAN ;call keyscan program LDA KEY_F,00H ;if key flag=1,that key is hit BAZ DELAY_5S LDA KEY_NUM STA KEYREG

CALL LOW_HIGH ;low frequency to high frequency

;jump to key display and deal with SBI KEYREG,00H BAZ KEY0_OPEN SBI KEYREG,01H BAZ KEY1_CLOSE SBI KEYREG,02H BAZ KEY2_MODE SBI KEYREG,03H BAZ KEY3_WIND SBI KEYREG,04H BAZ KEY4_ADD SBI KEYREG,05H BAZ KEY5_MIN

25

SBI KEYREG,06H BAZ KEY6_TIMEOP SBI KEYREG,07H BAZ KEY7_TIMECL SBI KEYREG,08H BAZ KEY8_HOUR SBI KEYREG,09H BAZ KEY9_MINU

CALLDISP:

CALL DISPLAY_LCD LDI SEG11H,0EH ;light the code segment

CALL CODESEND LDI SEG11H,0CH ;unlight the code segment

INITIAL_SYSTEM_REGISTER ;initial interrupt LDI IE,00H ;close all interupt LDI IRQ,00H ;clear IRQ ;initial timer0 LDI TM0,00H LDI TL0,00H LDI TH0,00H

;initial basetimer LDI BTM,00H ;initial port LDI PORTA,00H LDI PORTB,00H LDI SPA,02H ;set portA input,pa1 output LDI SPB,0FH ;set portB output ;initial pointer LDI TBR,00H LDI INX,00H LDI DPL,00H LDI DPM,00H LDI DPH,00H ;initial clock LDI OSCX,00H ;set OSC as CPU clock,OSCX set as ;ceramic oscillatorinitial LCD LDI SETLCD,02H ;turn LCD,LCDCLK=OSC/64,1/8duty,1/4bias

LDI SEGOUT,0CH ;set LCD as segment output,LPD=1

26

off

搜索更多关于: 基于单片机的空调遥控器 的文档
基于单片机的空调遥控器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3qvrr53mj91lh1d7s6z5_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top