亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 5.asm

?? 13個51單片機上的匯編程序源碼
?? ASM
字號:
;                 *************************************
;                 *       單鍵遙控碼學習控制器        *
;                 *          2001.11.29               *
;                 *************************************
;
;
;**********************************************************************
;*                                                                   *
;*                  P1.0    1             40    VCC                   *
;*                  P1.1    2             39    P0.0                  *
;*                  P1.2    3             38    P0.1                  *
;*                  P1.3    4             37    P0.2                  *
;*                  P1.4    5             36    P0.3                  *
;*                  P1.5    6             35    P0.4                  *
;*       STUDYLAMP  P1.6    7             34    P0.5                  *
;*            LAMP  P1.7    8             33    P0.6                  *
;*                  RST     9             32    P0.7                  *
;*            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                  *
;*   REMOTEIN  T0   P3.4    14            27    P2.6                  *
;*   REMOTEOUT T1   P3.5    15            26    P2.5                  *
;*            WR    P3.6    16            25    P2.4                  *
;*            RD    P3.7    17            24    P2.3                  *
;*                 XTAL2    18            23    P2.2                  *
;*                 XTAL1    19            22    P2.1                  *
;*                   VSS    20            21    P2.0                  *
;*                                                                    *
;**********************************************************************
;
	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     ;T2控制寄存器值
        SCONVAL         EQU     0F8H    ;串口控制寄存器值
        IPVAL           EQU     01H     ;中斷優先級控制值
;
;
;*************************************
;*                                   *
;*      主程序和中斷程序入口         *
;*                                   *
;*************************************
		ORG     0000H      ;程序執行開始地址
		AJMP    START      ;跳至START執行
		ORG     0003H      ;外中斷0中斷入口地址
                AJMP    INTEX0     ;跳至INTEX0中斷服務程序
		ORG     000BH     ;定時器T0中斷入口地址
		RETI              ;中斷返回(不開中斷)
                ORG     0013H     ;外中斷1中斷入口地址
                RETI              ;中斷返回(不開中斷)
		ORG     001BH     ;定時器T1中斷入口地址
		AJMP    INTT1     ;跳至INTT1中斷服務程序
		ORG     0023H     ;串行口中斷入口地址
		RETI              ;中斷返回(不開中斷)
		ORG     002BH     ;定時器T2中斷入口地址
		RETI              ;中斷返回(不開中斷)
;


;*************************************
;*                                   *
;*       初始化程序中的各變量        *
;*                                   *
;*************************************
CLEARMEMIO:     CLR	A		    ;A清0
		DEC	A		    ;A為#FFH
		MOV     P0,A	   	    ;P0口置1
		MOV	P3,A		    ;P3口置1
		MOV     P1,A	    	    ;P1口置1
		CLR	A		    ;清A(為0)
		MOV	P2,A	            ;P2口為0
		CLR	STUDYLAMP           ;關學習燈
		CLR	LAMP	            ;關操作燈
                CLR     REMOTEOUT	;關遙控碼輸出
                SETB    REMOTEIN	;遙控接收為輸入狀態
		MOV 	R0,#MEMBASE	;清工作寄存器,從08H開始
		MOV 	R1,#MEMS		;清內存個數(為103個)
CLEARMEM:       MOV 	@R0,A	                ;清0開始
		INC 	R0		        ;地址加1
		DJNZ 	R1,CLEARMEM		;未清完轉CLEARMEM繼續
;		MOV	R0,#KEYFUNRW
;		MOV	@R0,#READFLAG
;		MOV 	SP,#SPBASE		;設堆棧基址(70H)
        MOV     IE,#IEVAL       ;關所有中斷
        MOV     IP,#IPVAL	;置優先級
        MOV     TMOD,#TMODVAL	;置計數器模式(8位自動重裝初值模式)
        MOV     PCON,#PCONVAL	;波特率不加倍
        MOV     SCON,#SCONVAL	;串口中斷不開
        MOV     TH1,#T1COUNT	;T1定時器初值(定時值為13微秒)
        MOV     TL1,#T1COUNT	; T1定時器初值
        SETB    EX0	        ;允許外中斷0中斷
        SETB    EA	        ;開總中斷允許
		RET             ;子程序結束
;
;*************************************
;*                                   *
;*		主    程    序               *
;*                                   *
;*************************************
START:          MOV 	SP,#SPBASE
                LCALL   CLEARMEMIO      ;調用上電初始化子程序
; 主體程序
MAIN:           LCALL   KEYWORK         ;調用讀鍵子程序
		LJMP	MAIN		;跳回MAIN循環
		NOP	                ;PC值出錯處理
		NOP		        ;空操作
		NOP		        ;
		LJMP	START		;重新初始化
;
;*************************************
;*                                   *
;*        T1中斷服務程序             *
;*                                   *
;*************************************
INTT1:          CPL     REMOTEOUT        ;40kHZ方波輸出(紅外線調制波)
		RETI	                 ;中斷返回
;
;*************************************
;*								     *
;*              載波合成             *
;*								     *
;*************************************
REMOTETX:	MOV	R0,#TMPHADDR	;取遙控碼高電平存放首址
		MOV	R1,#TMPLADDR	;取遙控碼低電平存放首址
                SETB     LAMP		    ;開操作燈
		MOV	A,R4			;起始位高8位放入A
		MOV	R3,A			;放入R3暫存
		JZ	LOWBACK			;高8位為0轉LOWBACK處理低8位
		CLR	A				;高8位非0處理
		DEC	A				;A為#FFH
LOWBACKTMP:     MOV     R2,A            ;起始位復原,R2賦初值
LOWBACKTMP0:	SETB	TR1				;開啟T1
		SETB	ET1				;允許T1中斷
		NOP		      			;用空操作延時
                NOP
                NOP
                NOP
		NOP
		NOP
		DJNZ	R2,LOWBACKTMP0	;計數值每減1循環時間為約21微秒
		DJNZ	R3,LOWBACKTMP	;高8位計數值不為0轉LOWBACKTMP
LOWBACK:	MOV	A,R5			;起始位低8位處理
		MOV	R2,A			; 起始位低8位數放入R2暫存
LOWBACKTMP1:	SETB	TR1				; 開啟T1
		SETB	ET1				; 允許T1中斷
		NOP		      			;用空操作延時
		NOP
                NOP
                NOP
                NOP
		NOP
		DJNZ	R2,LOWBACKTMP1	;低8位計數值不為0轉LOWBACKTMP1
TMP0:           MOV     A,@R0           ;高電平處理開始,取高電平數據
		MOV	R2,A		;放入R2
TMP1:		CLR	TR1		;關閉T1
		CLR	ET1		;關閉T1中斷允許(關40KHZ紅外線)
                CLR     REMOTEOUT   	;關遙控輸出
		NOP			;空操作延時
                NOP
                NOP
                NOP
                NOP
 		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		DJNZ	R2,TMP1			;R2每減1循環時間約為21微秒
		INC	R0			;指向下一高電平數據地址
TMPP:		MOV	A,@R1			;取低電平數據
		MOV	R2,A			;放入R2
TMP2:           SETB    TR1                     ;低電平處理,開定時器T1
		SETB	ET1			;開T1中斷
		NOP			    	;空操作延時
                NOP
                NOP
                NOP
                NOP
		NOP
		DJNZ	R2,TMP2		;減1不為0轉TMP2循環(周期為21微秒)
		INC	R1		;指向下一低電平數據
		MOV	A,@R1		;取數據
		JZ	OUT		;為0轉OUT退出
		AJMP	TMP0		;不為0轉TMP0執行
OUT:            CLR	TR1		;退出程序,關T1
		CLR	ET1		;關T1中斷
		CLR	LAMP		;關操作燈
                CLR     REMOTEOUT	;關遙控輸出
		RET			;返回
;
;*************************************
;*     遙控數據讀取 INT0中斷程序     *
;*     高電平存TMPHADDR為首址RAM     *
;*     低電平存TMPLADDR為首址RAM     *
;*************************************
INTEX0:         CLR	ET1					;關T1中斷允許
		CLR	TR1					;關定時器T1
                CLR     EX0					;關外中斷0
		CLR	EA					;關中斷總允許
		SETB	STUDYLAMP			;開學習狀態指示燈
		CLR	LAMP				;關操作燈
		MOV	R0,#TMPHADDR		;高電平存放首址放入R0(07H)
		MOV	R1,#TMPLADDR		; 低電平存放首址放入R1(90H)
		CLR	A			;A清0
		MOV	DPH,A			;DPTR寄存器清0
		MOV	DPL,A			;
READHEAD:	JNB	REMOTEIN,READDATA	;尋找起始位。當輸入為0時轉READDATA
		INC	DPTR			;輸入為高電平時對DPTR循環計數
                NOP				;空操作延時
                NOP				;(循環周期約為21微秒)
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		AJMP	READHEAD		;跳回循環
;判斷是不是遙控碼起始位
READDATA:	CJNE	A,DPH,READDATA00	;DPTR高8位不為0,是起始位
		MOV	DPH,A			; DPTR高8位為0,不是起始位
		MOV	DPL,A			; DPTR清0
		AJMP	READHEAD		;重新尋找起始位
;
READDATA00:	CLR	A			;處理起始位開始。清A
		MOV	DPH,A			;DPTR計數器清0
		MOV	DPL,A			;
READLOOP01:     JB      REMOTEIN,READDATA02     ;讀起始位,高電平時轉READDATA02
		INC	DPTR			;低電平時對DPTR循環計數
		NOP				;空操作延時
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		AJMP	READLOOP01			; 循環,周期約為21微秒
;
READDATA02:	CLR	LAMP				;關操作燈
		MOV	R4,DPH				;存起始位(高8位入R4)
                MOV     R5,DPL                          ;存起始位(低8位入R5)
		MOV	DPH,#00H			;清0
		MOV	DPL,#READTIME	              	;放入校正值(本設計沒校正,值為0)
		AJMP	READLOOP1			;轉READLOOP1處理高電平程序
;
READDATA1:      SETB    LAMP                            ;存高電平數據程序。開操作燈
		MOV	@R0,DPL				;存入高電平數據(地址在08H-6FH)
		INC	R0					;指向下一地址
		MOV	DPL,#READTIME		       ; 放入校正值(本設計沒校正,值為0)
                MOV     DPH,#00H                       ;清0
READLOOP0:      JB      REMOTEIN,READDATA2             ;讀低電平程序。高電平時轉READDATA2
		INC	DPTR			       ;低電平時對DPTR循環計數
		NOP				       ;空操作延時,循環延時周期為21微秒
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
                NOP
                NOP
                NOP
                NOP
                NOP
		AJMP	READLOOP0		;延時循環控制
;
READDATA2:      CLR     LAMP                    ;存低電平數據程序。關操作燈
		MOV	@R1,DPL			;存低電平數據(地址在90H-F7H)
		INC	R1			;地址加1
		MOV	DPL,#READTIME		; 計數校正(本設計沒校正,值為0)
                MOV     DPH,#00H		;清0
READLOOP1:      JNB     REMOTEIN,READDATA3      ;讀高電平程序。為0時轉READDATA3
		INC	DPTR			;高電平時對DPTR循環計數
		NOP				;空操作延時,循環周期為21微秒
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                AJMP    READLOOP1			;循環控制
;
READDATA3:      CLR     A				;
		CJNE	A,DPH,READDATA4 		;DPH不為0轉READDATA4(碼讀完)
		AJMP	READDATA1			;轉READDATA1(存高電平數據)
READDATA4:	MOV	@R0,A				;放結束標志數據
		MOV	@R1,A				;放結束標志數據
;               SETB	LAMP				;開操作燈
                CLR     STUDYLAMP			;關學習燈
                SETB    REMOTEIN			;遙控輸入狀態
READEND:	JNB		STUDYKEY,READEND	;等待鍵釋放
                SETB    EX0				;開外中斷
		SETB	EA				;開總中斷允許
		RETI					;中斷返回
;
;*************************************
;*                                   *
;*          鍵工作子程序             *
;*	                             *
;*************************************
KEYWORK:        SETB   P1.0				;置P1.0口為輸入狀態
                JNB    P1.0,KEY0			;為0轉KEY0
KEYOUT:		RET					;無鍵按下,返回
;
KEY0:           LCALL   DL10MS                  	;延時去抖動
		JB      P1.0,KEYOUT			;是干擾轉KEYOUT返回
                LJMP    REMOTETX			;有鍵按下,轉REMOTETX發謝遙控碼
;
;*************************************
;*                                   *
;*   延時程序( 255 X 2 = 513 us)  *
;*                                   *
;*************************************
DELAY:		MOV	R0,#DELAYCONUT0		;(#0FFH)
DELAY1:         DJNZ    R0,DELAY1
		RET
;
;
;
;*************************************
;*                                   *
;*             延時約25 ms          *
;*                                   *
;*************************************
DL10MS:         MOV     R1,#DELAYCONUT		;(#30H)
DL10MS1:        LCALL   DELAY
                DJNZ    R1,DL10MS1
		RET
;
		END				;程序結束

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费在线看| 久久电影网站中文字幕| 欧美一级xxx| 99久久精品国产一区| 天天免费综合色| 亚洲乱码中文字幕| 久久久综合视频| 欧美人狂配大交3d怪物一区 | 美女在线视频一区| 中文成人综合网| 日韩女优av电影在线观看| 色综合天天综合| 国产久卡久卡久卡久卡视频精品| 午夜精品久久久久久久| 国产精品久久久久久久第一福利| 日韩一卡二卡三卡四卡| 欧美在线观看禁18| 97se亚洲国产综合在线| 久久99精品久久久久久国产越南| 亚洲国产精品视频| 亚洲精选视频在线| 国产精品久久777777| 国产亚洲人成网站| 精品久久一区二区| 欧美一区二区三区男人的天堂| 色哟哟精品一区| 99久久久精品免费观看国产蜜| 国产在线播放一区| 老司机精品视频在线| 爽爽淫人综合网网站| 性久久久久久久久久久久| 亚洲专区一二三| 伊人夜夜躁av伊人久久| 亚洲免费高清视频在线| 亚洲品质自拍视频| 悠悠色在线精品| 一区二区三区免费网站| 1000精品久久久久久久久| 亚洲国产高清不卡| 国产精品三级视频| 国产精品久久久久久久蜜臀| 久久久亚洲午夜电影| 精品国产免费视频| www精品美女久久久tv| 精品少妇一区二区三区视频免付费| 91麻豆精品国产综合久久久久久 | 日韩欧美色综合网站| 在线不卡一区二区| 日韩一区二区在线观看| 欧美tickling网站挠脚心| 日韩免费福利电影在线观看| 欧美电影免费观看高清完整版| 精品少妇一区二区三区日产乱码| 精品粉嫩超白一线天av| 久久影院视频免费| 国产女人18毛片水真多成人如厕| 国产精品久久久久久亚洲毛片| 亚洲欧美另类小说视频| 亚洲综合激情另类小说区| 亚洲国产成人av| 日本不卡的三区四区五区| 精品亚洲国产成人av制服丝袜 | 亚洲国产你懂的| 轻轻草成人在线| 国产精品一色哟哟哟| av在线播放不卡| 欧美性一二三区| 精品国产一区二区三区四区四| 国产婷婷色一区二区三区| 中文字幕亚洲视频| 亚洲h在线观看| 韩日av一区二区| 94-欧美-setu| 欧美一区二区成人| 亚洲国产精品高清| 亚洲国产视频网站| 精品亚洲国内自在自线福利| 91色在线porny| 91精品国产综合久久精品图片 | 26uuu亚洲婷婷狠狠天堂| 国产精品日韩精品欧美在线| 亚洲一区二区不卡免费| 蜜臀av一区二区在线观看| 99视频热这里只有精品免费| 在线不卡一区二区| 中文字幕亚洲精品在线观看| 美女在线视频一区| 99re在线精品| 日韩美一区二区三区| 亚洲日本在线视频观看| 亚洲成av人片一区二区| 成人一级视频在线观看| 欧美日韩国产天堂| 中文字幕日本不卡| 精品中文字幕一区二区| 在线观看国产一区二区| 国产日韩精品一区二区浪潮av| 亚洲成av人影院| 91网站最新网址| 久久尤物电影视频在线观看| 日韩精品乱码免费| 91美女片黄在线| 国产日韩av一区| 日本亚洲天堂网| 91福利视频久久久久| 国产欧美日韩不卡| 麻豆精品国产91久久久久久 | 日韩三级电影网址| 亚洲欧美区自拍先锋| 国产999精品久久久久久| 日韩一区二区三区免费看| 一区二区成人在线| 99riav久久精品riav| 国产欧美日韩麻豆91| 国产一区二区三区免费播放| 91麻豆精品久久久久蜜臀| 一区二区三区在线观看动漫| 成人免费视频一区| 久久精品夜夜夜夜久久| 久久99热国产| 日韩视频国产视频| 天堂久久久久va久久久久| 欧美性大战xxxxx久久久| 一区二区三区日本| 一本到不卡免费一区二区| 中文字幕中文在线不卡住| 风间由美性色一区二区三区| 久久色中文字幕| 国产一区二区三区黄视频 | 欧美成人福利视频| 亚洲一区二区三区不卡国产欧美| 91香蕉国产在线观看软件| 中文字幕一区视频| 99久久er热在这里只有精品15| 中文字幕在线一区| 99久久国产免费看| 亚洲女子a中天字幕| 色综合久久88色综合天天免费| 最新日韩av在线| 91麻豆自制传媒国产之光| 一区精品在线播放| 色香色香欲天天天影视综合网| 日韩理论片在线| 色综合久久精品| 亚洲成人黄色影院| 欧美一级免费观看| 韩国av一区二区三区四区| 久久精品欧美一区二区三区不卡| 国产精品亚洲综合一区在线观看| 久久久高清一区二区三区| 国产jizzjizz一区二区| 亚洲欧美日韩国产综合在线| 欧美午夜不卡视频| 免费不卡在线视频| 久久久久久久久久电影| 波多野结衣一区二区三区 | 首页国产欧美日韩丝袜| 欧美一区2区视频在线观看| 久草这里只有精品视频| 久久精品水蜜桃av综合天堂| 成人高清伦理免费影院在线观看| 亚洲欧美怡红院| 欧美精品vⅰdeose4hd| 精品一区二区三区在线播放视频| 中文字幕精品在线不卡| 色婷婷av一区二区三区gif| 日本欧美大码aⅴ在线播放| 久久女同性恋中文字幕| 99久久精品99国产精品| 性久久久久久久| 国产肉丝袜一区二区| 欧美一a一片一级一片| 久久国产成人午夜av影院| 国产精品久久久久精k8| 在线播放91灌醉迷j高跟美女| 久久国产综合精品| 1区2区3区欧美| 欧美一区二区三区四区视频 | 国模套图日韩精品一区二区| 国产精品久久久久影视| 91精品免费在线观看| 不卡视频一二三| 日韩精品欧美精品| 亚洲天天做日日做天天谢日日欢 | 秋霞成人午夜伦在线观看| 国产精品热久久久久夜色精品三区| 91高清视频在线| 国产成人精品一区二| 一区二区欧美在线观看| 久久婷婷久久一区二区三区| 精品视频一区二区不卡| 国产成人一区二区精品非洲| 亚洲成人av中文| 国产精品福利av| 日韩欧美美女一区二区三区| 91网上在线视频| 国产一区二区美女| 日韩精品电影在线| 一区二区三区在线影院| 国产精品久久久久久久久图文区|