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

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

?? 單片機應用技術講座(17)源程序.txt

?? 大量常用優秀程序源代碼和說明
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
單片機應用技術講座(17)源程序

例1:
主程序通信參數的初始化:
         M_Address   DATA  76H
         Syn       DATA   0EBH
         ORG  0000H
         AJMP  MAIN
         ORG   0023H
         AJMP  Serial-com
  MAIN:.......
         ORL   SCON, #50H
         MOV  TMOD,#21H ;
         MOV  PCON, #80H
         MOV  TH1,  #0E6H;定義通信速率
         CLR   ET1            ;禁止定時器中斷
....... 略
         SETB  EA
         SETB  ES             ;開中斷
         SETB  TR1           ;啟動定時器1 
.......略。
  上述代碼中,“M_Address   EQU   76H”是偽指令定義,定義地址為76H,“Syn”同步字的定義同上。在單片機的中斷系統那一講里,我們曾向讀者介紹,89C51單片機的串行通信口的中斷入口地址是0023H,因此在0023H地址處安排跳轉指令  AJMP  Serial-com,當中斷發生時執行Serial-com中斷子程序的任務。
串行ADC TLC2543與單片機的接口源程序


進行AD采樣的51匯編程序如下:
;管腳定義   
 CLK    EQU      P1.3  
 DIN    EQU      P1.1  
 DOUT   EQU      P1.2  
 CS      EQU     P1.0  
MOV     R1,#00H ;0通道方式/通道數據 
 CLR    CLK ;
 SETB   CS ; 
 CLR    CS ; 
 MOV     R4,#08 ; 
 MOV    A, R1 ; 
LOOP1:  
 MOV    C,DOUT ;讀轉換結果 
 RLC    A ;A寄存器左移,移入結果數據位,移出方式/通道控制位 
 MOV     DIN,C ;輸出方式/通道位 
 SETB   CLK ;設置I/O時鐘為高 
 CLR    CLK ;清I/O時鐘 
 DJNZ   R4,LOOP1 ;R4不為0,則返回LOOP1 
 MOV     R2,A ;轉換結果的高8位放到R2中 
 MOV     A,#00H ;復位A寄存器 
 MOV     R4,#04 ;再讀低4位 
LOOP2:  
 MOV     C,DOUT ;讀轉換結果 
 RLC    A ;A寄存器左移,移入結果數據位 
 SETB   CLK ;設置I/O時鐘為高 
 CLR    CLK ;清I/O時鐘 
 DJNZ   R4,LOOP2 ;R4不為0,則返回LOOP2 
 MOV     R3,A ;轉換結果的低4位放到R3中 
 SETB   CS ; 
STOP:AJMP STOP


介紹一種4×4鍵盤程序的設計源程序
附:源程序KeyBord.asm
		K0		equ 01h
		K1		equ 02h
		K2		equ 03h
		K3		equ 04h
		K4		equ 05h
		K5		equ 06h
		K6		equ 07h
		K7		equ 08h
		K8		equ 09h
		K9		equ 0ah
		Ka		equ 0bh
		Kb		equ 0ch
		Kc		equ 0dh
		Kd		equ 0eh
		Ke		equ 0fh
		Kf		equ 010h
		
;***************************************************************變量定義
	KeyData		equ 30h         ;存放鍵碼
	KeyClick		equ KeyData+1   ;去抖動延時變量
 	KeyDBClick		equ KeyClick+1  ;連擊延時變量
	KeyMode		equ KeyDBClick+1;鍵譯程序的任務指針
;***************************************************************常量定義
	Click20mS		equ 2           ;20mS延時(主程序執行時間=10mS)
	DBClick3S		equ 0		  ;連擊延時3S
	DBClick100mS		equ 10		  ;連擊間隔時間100mS	
	KeyPort		equ p1		  ;鍵盤連接的端口
	KeyAnlData  		equ  0f0h	  ;掩膜碼
;*************************************************************************
KeyBord:
		mov a,KeyMode
		cjne a,#0,key_bo1
		;read port for key
		mov KeyData,#0
		mov r2,#04d
		mov r3,#01d
	scan:
		mov a,r3
		cpl a
		mov KeyPort,a
		mov a,KeyPort
		anl a,#KeyAnlData
		cjne a,#KeyAnlData,key_bo12
		mov a,r3
		rl a
		mov r3,a
		djnz r2,scan
		ret
		
	key_bo12:	
		mov KeyClick,#Click20mS
		mov KeyMode,#01
		ret		
	;****************************
	key_bo1:				
		cjne a,#1,key_bo2
		;jb Click20mS
		djnz KeyClick,key_bo1_end
		;count KeyData
		mov KeyData,#0
		mov r2,#04d
		mov r3,#01d
	scan1:
		mov a,r3
		cpl a
		mov KeyPort,a
		mov a,KeyPort
		anl a,#KeyAnlData
		cjne a,#KeyAnlData,key_bo24
		mov a,r3
		rl a
		mov r3,a
		djnz r2,scan1
		mov KeyMode,#0
		setb beep;12.10
	key_bo1_end:
		ret
	key_bo24:	
		;*** beep 
		clr Beep ;打開蜂鳴器
		;****count KeyData
		call CountKeyData
		mov KeyClick,KeyDubClick ;3s	
		mov KeyMode,#02
	key_bo22:
		ret
	;*****************************
	key_bo2:	
		cjne a,#2,key_bo3
		djnz KeyClick,key_bo32
		;********setb KeyData.6=1
		mov a,KeyData
		setb acc.6
		;**** d7 =1
		setb acc.7
		;************
		mov KeyData,a
		;**** 
		mov KeyDubClick,#DBClick100mS
		sjmp key_bo33
	key_bo32:
		;***** 判別釋放
		;;;;!!!!!!!!!!!!
		mov r2,#04d
		mov r3,#01d
	scan2:
		mov a,r3
		cpl a
		mov KeyPort,a
		mov a,KeyPort
		anl a,#KeyAnlData
		cjne a,#KeyAnlData,key_bo3;沒有釋放
		mov a,r3
		rl a
		mov r3,a
		djnz r2,scan2
		;***** use KeyData
		mov a,KeyData
		setb acc.7
		mov KeyData,a
		mov KeyDubClick,#DBClick3S
	key_bo33:
		mov KeyMode,#0
	key_bo3:	
		ret		

;***********************************	
CountKeyData:
		cpl a
		add a,r3
		mov r4,a
		mov a,r4
		cjne a,#97h,no_1
		mov KeyData,#K0
	no_1:
		cjne a,#57h,no_2
		mov KeyData,#k1
	no_2:
		cjne a,#37h,no_3
		mov KeyData,#k2
	no_3:
		cjne a,#93h,no_4
		mov KeyData,#k3
	no_4:
		cjne a,#53h,no_5
		mov KeyData,#k4
	no_5:
		cjne a,#33h,no_6
		mov KeyData,#k5
	no_6:
		cjne a,#91h,no_7
		mov KeyData,#k6
	no_7:
		cjne a,#51h,no_8
		mov KeyData,#k7
	no_8:
		cjne a,#31h,no_9
		mov KeyData,#k8
	no_9:
		cjne a,#90h,no_10
		mov KeyData,#k9
	no_10:
		cjne a,#23h,no_11
		mov KeyData,#ka
	no_11:
		cjne a,#21h,no_12
		mov KeyData,#kb
	no_12:
		cjne a,#50h,no_13
		mov KeyData,#Kc
	no_13:
		cjne a,#30h,no_14
		mov KeyData,#Kd
	no_14:
		cjne a,#27h,no_15
		mov KeyData,#Kf
	no_15:
		ret	
;***************************************************
		proc KeyJmp  ;用戶鍵功能處理程序
KeyJmp:
		;*****************
		mov a,KeyData
		jbc acc.7 ,use_k1
		ret
use_k1:
		jbc acc.6 ,use_k_3s
		;*** click do		
		mov KeyData,#0
		;單擊處理。。。
use_k_3s:	;delay 3s click do
		mov KeyData,#0
		;** DubClick Kc 0.1s 
		;連擊處理。。。
key_jmpend:
		ret
		end



程序使用說明
(1) 為了便于修改各按鍵對應的功能,以及提高鍵掃描的效率,在程序的開頭定義了一個鍵值表,只需改動K0-Kf的上下位置即可(右邊的十進制代碼,不能改動!)。在用戶的鍵散轉處理程序中,用#K0-#Kf代替按鍵值。
   		K0	equ 01h
		K1	equ 02h
		K2	equ 03h
		K3	equ 04h
		K4	equ 05h
		K5	equ 06h
		K6	equ 07h
		K7	equ 08h
		K8	equ 09h
		K9	equ 0ah
		Ka	equ 0bh
		Kb	equ 0ch
		Kc	equ 0dh
		Kd	equ 0eh
		Ke	equ 0fh
		Kf	equ 010h

(2)鍵譯程序使用的變量、常量說明
	;*******變量定義
	KeyData		;存放鍵碼
	KeyClick		;去抖動延時變量
 	KeyDBClick		;連擊延時變量
	KeyMode		;鍵譯程序的任務指針
	;******常量定義
	Click20mS		;20mS延時(主程序執行時間=10mS)
	DBClick3S		;連擊延時3S
	DBClick100mS		;連擊間隔時間100mS	
	KeyPort		;鍵盤連接的端口
(3) 單擊、連擊的判別
   在KeyData變量的D6位代表:0=單擊、1=連擊;D7位代表此鍵碼是否有效。(見圖四)











(4)在主程序中蘊涵鍵譯程序:include “KeyBord.asm”
(5)根據實際情況修改常量的數值。


作者聯系信箱:E-mail:lj87c196@163.com
			 


程序說明:此文檔是該系統操作運行的所有程序,所提供的程序均在DICE-51單片仿真機上調試仿真,并已經全部通過。
源程序:
              ORG  0000H
                 AJMP MAIN
              ORG 0003H
                 AJMP KEYS
              ORG    000BH
                 AJMP    PTT0
              ORG     001BH
                AJMP  PTT1            ;中斷入口及優先級
  MAIN:      MOV SP,#60H
             CLR 5EH
             CLR 5FH                  ;清上、下限越限標志
             MOV A,#00H
             MOV  R7,#09H 
             MOV  R0,#28H 
  LP1:       MOV  @R0,A
             INC   R0
             DJNZ R7,LP1
             MOV  R7,#06H
             MOV  R0,#39H
 LP2:        MOV  @R0,A
           INC  R0
           DJNZ R7,LP2                ;清變量暫存單元
           MOV R7,#06H
           MOV R0,#50H
  LP3:     MOV @R0,A
           INC R0
           DJNZ R7,LP3                ;清顯示緩沖區
           MOV 33H,#H
           MOV 34H,#H               ;賦Kp高、低字節
           MOV 35H,#H
           MOV 36H,#H               ;賦Ki高、低字節
           MOV 37H,#H
           MOV 38H,#H               ;賦Kd高、低字節
           MOV 42H,#H
           MOV 43H,#H               ;賦K高、低字節(風扇參數)
           MOV TMOD,#56H              ;T0方式2,T1方式1計數 
           MOV TL0,#06H
           MOV TH0,#06H               ;T0賦初值
		   MOV 25H,#28H			  ;設定值默認為40攝氏度
                 SETB TR0             ;鍵盤高優先級
                 SETB ET0
                 SETB EX0
                 SETB EA               ;開鍵盤、T0、T1中斷
LOOP:       MOV R0,#56H
	    MOV R1,#55H
	    LCALL SCACOV		;調用標度轉化-BCD轉化子程序 
	    MOV R0,#53H                
            LCALL DIR
			NOP
			LCALL DLY10MS
			NOP
			LCALL DLY10MS
            AJMP  LOOP                 ;等待中斷,循環顯示當前溫度                            

;****************************************************************************
  KEYS:         CLR EX0                     ;[鍵盤子程序]
                CLR EA
                PUSH PSW
                PUSH ACC                ;關中斷,壓棧
                LCALL   DLY10MS         ;消抖
    CC:         JB P3.2,AA
                SETB 5DH                ;置“顯示設定溫度”標志
		MOV A,25H		;取運算位的值(默認為40度)
		MOV B,#10		;進行BCD碼轉化
		DIV AB
		MOV 52H,A
		MOV A,B
		MOV 51H,A
                MOV R0,#50H
                LCALL DIR               ;顯示設定溫度
				NOP
				LCALL DLY10MS
				NOP
				LCALL DLY10MS
                JB P1.7,BB
		        MOV R1,#25H
                LCALL DAAD1             ;加一操作
				NOP
				LCALL DLY10MS
                AJMP CC
  BB:           JB P1.6,CC
                MOV R1,#25H
                LCALL DEEC1             ;減一操作
				NOP
				LCALL DLY10MS
                AJMP CC
  AA:           POP ACC                
                POP PSW
                SETB EX0
                SETB EA                 ;出棧,開中斷

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久久久久久| 亚洲精品在线一区二区| 成人黄色小视频| 韩国av一区二区| 精品午夜久久福利影院| 蜜臀精品久久久久久蜜臀| 天天操天天色综合| 日韩精品一级中文字幕精品视频免费观看| 亚洲精品成人少妇| 夜夜嗨av一区二区三区| 亚洲午夜激情网站| 免费在线观看一区二区三区| 美女视频第一区二区三区免费观看网站| 天堂蜜桃91精品| 蜜臀av一级做a爰片久久| 美女视频黄久久| 成人一区二区三区| 在线亚洲人成电影网站色www| 在线观看av一区二区| 欧美精品一卡两卡| 久久久久久亚洲综合| 国产精品美女久久久久久2018| 亚洲视频中文字幕| 日韩一区欧美二区| 成人小视频在线观看| 日本韩国精品在线| 欧美电视剧在线看免费| 国产色一区二区| 一级做a爱片久久| 久久99国产精品麻豆| 91小视频在线免费看| 欧美日本精品一区二区三区| 久久久久久夜精品精品免费| 亚洲男女毛片无遮挡| 奇米色777欧美一区二区| 高清成人免费视频| 欧美精品久久天天躁| 国产精品久久久久影院色老大| 亚洲福利一二三区| 成人av在线观| 日韩久久精品一区| 亚洲综合色噜噜狠狠| 精品一区二区三区免费播放| 色综合久久88色综合天天| 日韩欧美国产综合| 亚洲午夜成aⅴ人片| 盗摄精品av一区二区三区| 欧美一区二区在线不卡| 综合激情成人伊人| 国产精品1024久久| 日韩写真欧美这视频| 一区二区三区成人| 成人白浆超碰人人人人| 欧美大肚乱孕交hd孕妇| 亚洲尤物视频在线| caoporn国产精品| 久久久精品国产99久久精品芒果 | 欧美日韩一区在线| 国产精品福利一区| 韩国精品免费视频| 日韩精品一区二区三区在线播放 | 成人动漫一区二区在线| 欧美成人一区二区三区| 三级在线观看一区二区| 91久久精品网| 18成人在线观看| 成人高清av在线| 国产精品美女一区二区三区| 国产一区二区视频在线播放| 欧美大度的电影原声| 日本欧美在线看| 日韩午夜av一区| 美日韩一区二区| 日韩免费看的电影| 麻豆精品一二三| 精品久久久久久久久久久久包黑料| 午夜伊人狠狠久久| 欧美电影影音先锋| 美国av一区二区| 久久久一区二区三区| 麻豆91在线观看| 久久嫩草精品久久久精品一| 国产麻豆一精品一av一免费| 久久一区二区三区国产精品| 国产精品自拍一区| 中文字幕欧美激情| 91免费版在线| 五月开心婷婷久久| 精品国产一区二区三区忘忧草| 国产综合色精品一区二区三区| 久久亚洲精品国产精品紫薇| 国产98色在线|日韩| 亚洲欧洲精品一区二区精品久久久 | 免费人成黄页网站在线一区二区| 欧美日韩视频在线第一区| 天堂va蜜桃一区二区三区漫画版| 91精品国产色综合久久不卡蜜臀| 人人爽香蕉精品| 日本一区二区动态图| 91麻豆福利精品推荐| 视频一区中文字幕| 久久久九九九九| 91久久久免费一区二区| 日韩国产欧美三级| 日本一二三不卡| 欧美日本在线观看| 成人免费看的视频| 天天综合日日夜夜精品| 久久精品亚洲精品国产欧美 | 日韩欧美一区中文| 99久久99久久久精品齐齐| 亚洲国产乱码最新视频| 久久久久久久久免费| 欧美在线免费视屏| 国产69精品久久99不卡| 亚洲午夜精品17c| 中文字幕的久久| 欧美一区二区在线不卡| 99久久久免费精品国产一区二区| 日韩在线a电影| 日韩一区在线看| 精品对白一区国产伦| 欧美羞羞免费网站| 丁香五精品蜜臀久久久久99网站 | 久久午夜老司机| 欧美福利视频导航| av一二三不卡影片| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲成人自拍| 久久精品亚洲精品国产欧美kt∨| 欧美疯狂做受xxxx富婆| 色悠悠久久综合| 成人免费毛片a| 国产一级精品在线| 日本欧美一区二区三区| 亚洲一区二区三区小说| 亚洲欧洲精品一区二区精品久久久| 精品国精品国产尤物美女| 欧美高清性hdvideosex| 日本道免费精品一区二区三区| 99久久精品国产麻豆演员表| 欧美电影免费观看高清完整版| 大胆欧美人体老妇| 九色porny丨国产精品| 日韩激情视频在线观看| 一区二区三区免费看视频| ...中文天堂在线一区| 中文字幕不卡三区| 国产精品狼人久久影院观看方式| 精品国产一区二区三区四区四 | 紧缚捆绑精品一区二区| 三级欧美韩日大片在线看| 亚洲已满18点击进入久久| 亚洲欧美二区三区| 亚洲精品国产精华液| 亚洲欧美激情在线| 一区二区三区久久| 亚洲综合男人的天堂| 一区二区三区蜜桃| 午夜成人免费电影| 日本午夜一本久久久综合| 全国精品久久少妇| 激情欧美一区二区三区在线观看| 久久电影网电视剧免费观看| 精品一区免费av| 国产一区二区三区日韩| 高清国产一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 色先锋aa成人| 宅男在线国产精品| 久久久亚洲高清| 国产精品福利影院| 亚洲国产精品久久人人爱| 日本欧美一区二区| 国产精品99久久久久久久vr| 成人精品国产一区二区4080| 色综合天天狠狠| 日韩精品一区二区三区在线| 亚洲国产精品高清| 一区二区三区日韩欧美| 免费不卡在线视频| 成人av动漫网站| 欧美日韩1234| 日本一区二区视频在线观看| 亚洲久草在线视频| 久久99精品一区二区三区三区| 成人手机电影网| 亚洲视频精选在线| 亚洲国产一区视频| 国产成人亚洲综合a∨婷婷图片| 99这里都是精品| 欧美大片在线观看一区| 亚洲人午夜精品天堂一二香蕉| 青青草97国产精品免费观看| 国产成人在线网站| 91精品国产综合久久精品麻豆 | 久久er99热精品一区二区| 成人福利在线看| 欧美videossexotv100| 亚洲精品伦理在线|