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

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

?? shxj1.asm

?? PC機與攝像機的串口通信
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
;名稱:
;日期:2006年7月10日
;編寫:李洪佳
;芯片:CYGNAL C8051F021
;語言:匯編
;單片機用CYGNAL的C8051F021,調試用新華龍C8051F020開發板
;上位機發送控制命令給單片機,控制攝像機聚焦變倍,無命令時單片機向上位機傳送深度數據
;UART0及UART1波特率設定為9600,波特率發生器為T2與T4,上位機發送每個命令的時間間隔為500毫秒
;單片機用UART0通過RS485與上位機通信,用UART1與攝像機通信實現對攝像機的控制
;--------------------------------------------------------------------------- 
;波特率=9600  
;設定對攝像機控制的命令分別為:變倍-放大為“#,Z,+,CR,LF”,縮小為“#,Z,-,CR,LF”;聚焦-拉近為“#,F,+,CR,LF”,推遠為“#,F,-,CR,LF”。

;                                                            * * * * *
;------------------------------------------------------------* 頭文件*--------------------------------------------------------------------
;                                                            * * * * *
             $include (c8051f020.inc)               ; Include register definition file.定義寄存器

;                                                          ----------------
;----------------------------------------------------------)定義接收存儲區(------------------------------------------------------------------
;                                                          ----------------
             CTX485     BIT  P3.7     
             DEEP_ADJ1	EQU	 20H 	      ;深度調整數據區
             DEEP_ADJ2	EQU	 21H
             CTRL1      EQU  50H        ;設定接收命令控制存儲區1
             CTRL2      EQU  51H        ;設定接收命令控制存儲區2
             CTRL3      EQU  52H        ;設定接收命令控制存儲區3
             CTRL4      EQU  53H        ;設定接收命令控制存儲區4
			       CTRL5      EQU  54H        ;設定接收命令控制存儲區5
			       DEEP_BUF0	EQU  55H		    ;深度數據緩存
             DEEP_BUF1	EQU  56H
             DEEP_BUF2	EQU  57H
             DEEP_BUF3	EQU  58H
             DEEP_BUF4	EQU  59H
             DEEP_BUF5	EQU  5AH
             DEEP_BUF6	EQU  5BH
             DEEP_BUF7	EQU  5CH
			       PAGE_ADR1	EQU	 5DH        ;深度調整存儲頁
             PAGE_ADR2	EQU	 5EH
			       REC_COUNT  EQU  5FH        ;接收數據計數器

;                                                           ^^^VV^^^
;----------------------------------------------------------(中斷向量)---------------------------------------------
             ORG        0000H
						 LJMP       START
						 ORG        0023H
						 LJMP       DETERMINE

;---------------------------------------------------------iii禁止看門狗iii--------------------------------------------
;                                                         ^^^^^^^^^^^^^^^^
             ORG        1000H
START:       MOV        WDTCN, #0DEH     ;     
             MOV        WDTCN, #0ADH     ;禁止看門狗
             MOV        OSCXCN, #67H     ;使用外部振蕩22.1184MHz

;                                                       ~~~~~~~~~~~~~~~~~~  
;------------------------------------------------------->等待外部時鐘穩定<---------------------------------------------
;                                                       -_-            -_-

             CLR        A                ; wait at least 1ms 
             DJNZ       ACC, $           ; wait ~512us
             DJNZ       ACC, $           ; wait ~512us
OSC_WAIT:                                ; poll for XTLVLD-->1
             MOV        A, OSCXCN
             JNB        ACC.7, OSC_WAIT
             ORL        OSCICN, #08H     ; 選擇外部振蕩作為系統時鐘源 
             ORL        OSCXCN, #80H     ; 使能時鐘丟失檢測

;                                                            **********
;------------------------------------------------------------*準備設置*----------------------------------------------------
;                                                            **********
             
             MOV        XBR2,#44H        ;交叉開關允許,串口1允許
             MOV        XBR0,#04H        ;使用串口0,TX0=P0.0,RX0=P0.1
	           MOV        ADC0CN,#00H	     ;使能ADC0
	           MOV        ADC0CF,#60H	     ;轉換時鐘1Mhz,增益1
	           MOV        AMX0CF,#00H	     ;單端輸入方式
	           MOV        AMX0SL,#00H	     ;channel 0 即AIN0
	           MOV        REF0CN,#03H	     ;ADC0 基準電壓 VREF0
             MOV        EMI0CF,#00H      ;片內存儲方式
			       ORL        P1MDIN,#0FFH     ;設置P1數字輸入方式
			       ORL        P0MDOUT,#0F5H    ;設置P0.0為推挽輸出P0.1漏極輸出P0.2推挽輸出P0.3漏極輸出
             ;ORL        P1MDOUT,#40H     ;設置P1.6為推挽輸出(試驗用)
						 ORL        P3MDOUT,#0FFH     ;P3為推挽輸出
             MOV        SCON0,#50H       ;設置串口0,工作方式1,REN0=1允許接收
             MOV        SCON1,#50H       ;設置串口1,工作方式1,REN1=1允許接收
	           MOV        RCAP2L,#0B8H	   ;設置定時器2波特率9600
             MOV        RCAP2H,#0FFH     ;
	           MOV        RCAP4L,#0B8H	   ;設置定時器4波特率9600
	           MOV        RCAP4H,#0FFH     ;
	           MOV        T2CON,#34H	     ;啟動定時器2作為串口uart0波特率發生器
	           MOV        T4CON,#34H	     ;啟動定時器4作為串口uart1波特率發生器
             MOV        PCON,#00H        ;SMOD0=0波特率倍數為1,訪問SCON的UART0方式設置位
			       MOV	      TCON,#00H
			       MOV        REC_COUNT,#1     ;數據接收計數器初始值設定為1
             MOV        IE,#90H          ;UART0中斷使能

;-_-_-_-_-_-_-_-_-^_^-_-_-_-_-_-_------------------------------------------------------------------------------^_^

 DATA_SEND:  	LCALL GETAD                ;調用深度采集子程序
							LCALL CONV                 ;調用碼轉換子程序
							MOV   IE,#90H	             ;ADC轉換中斷使ES0被硬件清零,此處重置UART0中斷使能						
							CLR   A                    ;清累加器
						  CLR		TI					         ;清發送中斷標志
							MOV   A,#24H               ;發送$識別碼
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF1          ;將深度數據第一位存入累加器
							MOV   SBUF0,A              ;發送第一位深度數據
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF2
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF3
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF4
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF5
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF6
							MOV   SBUF0,A
							JNB   TI,$
							CLR   TI
							MOV   A,DEEP_BUF7
							MOV   SBUF0,A                ;發送第七位深度數據
						  CLR   A
							JNB   TI,$
							CLR   TI
							MOV		R3,#10                 ;延時89毫秒
DLOOP:				LCALL DELAY                  ;調用延時子程序
							DJNZ	R3,DLOOP
							LJMP  DATA_SEND              ;一組深度數據發送完成,返回發送下一組

;-----------------------------------------------------深度采集碼段--------------------------------------------------------
GETAD:        MOV   R3,#10H		              ;1US;---------------------A/D CONVERTION SUB_PROGRAM,GET DEPTH DATA FROM A/D
              MOV   R5,#0H		              ;1US
              MOV   R6,#0H		              ;1US
			        MOV		DEEP_BUF6,#00H
			        MOV		DEEP_BUF7,#00H
			        CLR 	C 

GETAD1:	      SETB 	AD0EN                   ;使能ADC0
              LCALL GETADS		              ;2US	call one AD convertion	
			        MOV	  A,DEEP_BUF6
	            ADD   A,R5		                ;1US
              MOV   R5,A		                ;1US
              MOV   A,DEEP_BUF7		          ;1US
              ADDC  A,R6		                ;1US	overflow carry
              MOV   R6,A		                ;1US
              DJNZ  R3,GETAD1               ;sampling 16 times and sum(quite to shift to left 4 bits),2US
			        CLR 	AD0EN
              MOV   A,R5		                ;1US,sum 25US	deal with low 8 bits
              ANL   A,#0F0H		              ;1US		reserve the high half byte
              SWAP  A		                    ;1US		high half byte swap to low half byte
              MOV   R5,A		                ;1US
              MOV   A,R6		                ;1US		deal with high 8 bits
              ANL   A,#0FH		              ;1US		
              SWAP  A		                    ;1US		
              ORL   A,R5		                ;1US		combinate into low 8 bits
              MOV   R5,A		                ;1US
              MOV   A,R6		                ;1US
              SWAP  A		                    ;1US
              ANL   A,#0FH		              ;1US
              MOV   R6,A                    ;calculate the average(quite to shift to right 4 bits),1US
              CLR   C		                    ;1US
 ;----------------------------------------subtract AIR DEEP DATA -----------------------------------------------
 ;----------------------------------------------------------------------------------------------------------------
 			        LCALL	DAR       
		          MOV   A,R5		                ;1US
              SUBB  A,DEEP_ADJ2		          ;1US
              MOV   R5,A		                ;1US
              MOV   A,R6		                ;1US
              SUBB  A,DEEP_ADJ1  	          ;1US
              MOV   R6,A          	        ;1US
              JNC   GETAD2		              ;2US
              MOV   R5,#00		              ;1US the carry bit is a 1?if less than 400mV ,depth=00
              MOV   R6,#00		              ;1US
			        SJMP  GETAD6		              ;2US

GETAD2:       MOV   DEEP_BUF6,R5	          ;2US
			        MOV   DEEP_BUF7,R6	          ;2US
			        MOV   R3,#8		                ;1US
			        CLR   C
	
GETAD3:       MOV	  A,R5			              ;1US,sum 120US
			        ADD   A,DEEP_BUF6		          ;1US
			        MOV   R5,A		                ;1US
			        MOV   A,R6		                ;1US
			        ADDC  A,DEEP_BUF7	            ;1US
			        MOV   R6,A		                ;1US
			        DJNZ  R3,GETAD3		            ;multiply 9,add 9 time,2US
			        MOV   A,R5		                ;1US,sum 19US
              ANL   A,#0F0H		              ;1US
              SWAP  A		                    ;1US
              MOV   R5,A		                ;1US
              MOV   A,R6		                ;1US
              ANL   A,#0FH		              ;1US
              SWAP  A		                    ;1US
              ORL   A,R5		                ;1US
              MOV   R5,A		                ;1US
              MOV   A,R6		                ;1US
              SWAP  A		                    ;1US
              ANL   A,#0FH		              ;1US00
              MOV   R6,A                    ;divide 16,1US(multiply 9/16,0.5625,exchange to mV,actually to decimeter(0.1m))

GETAD6:       MOV   DEEP_BUF6,R5		        ;2US
			        MOV   DEEP_BUF7,R6		        ;2US
			        RET			                      ;2US
;------------------------------------------------------- one AD conversion--------------------------------------------------
GETADS:	      CLR   AD0EN	                  ;關斷ADC0,停止采集

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色狠狠一区二区| 在线亚洲高清视频| 日韩精品一级二级| 亚洲午夜av在线| 国产精品久久免费看| 国产欧美日韩精品在线| 久久精品人人做| 国产亲近乱来精品视频 | av亚洲精华国产精华精华| 黑人巨大精品欧美黑白配亚洲| 免费欧美在线视频| 精品午夜久久福利影院| 国产一区在线观看麻豆| 国产精品综合久久| 成人动漫一区二区三区| 91免费视频网| 678五月天丁香亚洲综合网| 91精品欧美综合在线观看最新| 欧美一区二区三区不卡| 精品国产伦一区二区三区免费| 精品乱码亚洲一区二区不卡| 久久久久久久久久久久久久久99| 国产欧美日韩中文久久| 亚洲天堂2014| 亚洲va欧美va国产va天堂影院| 图片区小说区国产精品视频 | 2024国产精品| 国产精品无人区| 亚洲成人1区2区| 狠狠色狠狠色综合| 色综合欧美在线视频区| 欧美精品一二三| 久久精品亚洲一区二区三区浴池| 综合婷婷亚洲小说| 奇米影视一区二区三区| 成人国产精品免费网站| 欧美日韩国产首页| 国产女同互慰高潮91漫画| 一级日本不卡的影视| 国产一区在线观看视频| 在线视频一区二区三| 精品国产乱码久久久久久图片| 亚洲欧美一区二区视频| 麻豆成人在线观看| 色天天综合久久久久综合片| 精品国产一区二区三区久久影院 | 精品黑人一区二区三区久久| 中文字幕在线一区| 久久成人精品无人区| 91麻豆蜜桃一区二区三区| 欧美mv日韩mv国产网站| 亚洲一卡二卡三卡四卡无卡久久| 国产成人av电影在线观看| 欧美高清性hdvideosex| 亚洲人成网站精品片在线观看| 免费av网站大全久久| 欧美色倩网站大全免费| 国产精品久久久久婷婷| 美女视频黄 久久| 欧美视频自拍偷拍| 亚洲乱码中文字幕| 成人永久aaa| 久久精品视频在线看| 奇米在线7777在线精品| 欧美日韩欧美一区二区| 亚洲柠檬福利资源导航| 99久久精品免费| 国产清纯白嫩初高生在线观看91 | 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产cao| 欧美探花视频资源| 亚洲一区在线看| 色噜噜狠狠成人中文综合| 中文子幕无线码一区tr| 国产黑丝在线一区二区三区| 26uuu国产一区二区三区| 久久97超碰色| 久久中文娱乐网| 国产综合成人久久大片91| 欧美一二三在线| 美女网站在线免费欧美精品| 日韩视频在线永久播放| 老汉av免费一区二区三区| 日韩三级视频在线看| 久久超碰97中文字幕| 久久老女人爱爱| 国产91丝袜在线播放0| 欧美高清在线一区| www.一区二区| 亚洲综合男人的天堂| 欧美日韩精品一区二区三区四区 | 久久久久久电影| 成人av在线播放网站| 亚洲欧美电影院| 欧美日韩综合色| 免费xxxx性欧美18vr| 久久蜜桃一区二区| 91年精品国产| 日本不卡在线视频| 国产日韩欧美在线一区| 91蜜桃免费观看视频| 图片区日韩欧美亚洲| 久久久久久一级片| 色婷婷久久99综合精品jk白丝| 奇米在线7777在线精品| 日韩精品一区二区三区在线播放| 国产精品99久久不卡二区| 专区另类欧美日韩| 日韩一区二区三区视频在线 | 亚洲一区二区三区四区在线免费观看| 色哟哟一区二区| 麻豆成人免费电影| 椎名由奈av一区二区三区| 欧美精品tushy高清| 国产福利电影一区二区三区| 一区二区三区波多野结衣在线观看| 337p亚洲精品色噜噜噜| 成人综合激情网| 亚洲成av人片一区二区三区| 久久嫩草精品久久久精品一| 日本精品视频一区二区三区| 九九**精品视频免费播放| 亚洲女人的天堂| 久久老女人爱爱| 91精品国产色综合久久ai换脸 | 亚洲裸体xxx| 久久综合狠狠综合久久综合88| 色综合视频在线观看| 国产一区二区日韩精品| 亚洲成人福利片| 国产精品二三区| 精品国产人成亚洲区| 欧美剧情电影在线观看完整版免费励志电影 | 久久只精品国产| 欧美一级久久久久久久大片| 91久久精品一区二区| 国产成人福利片| 国产一区二区三区日韩| 午夜精品久久久久影视| 亚洲综合一区二区精品导航| 欧美激情一区二区三区| 久久男人中文字幕资源站| 777久久久精品| 欧美日本高清视频在线观看| 色综合色综合色综合色综合色综合| 韩国视频一区二区| 国产成人av一区二区| 国内精品国产成人国产三级粉色| 亚洲va中文字幕| 午夜视频一区二区三区| 亚洲欧美国产77777| 亚洲人成7777| 亚洲激情图片小说视频| 亚洲欧美日韩国产成人精品影院| 国产精品久久久久毛片软件| 日本一区二区成人| 中文字幕 久热精品 视频在线| 国产精品你懂的在线欣赏| 国产精品美日韩| 中文字幕亚洲一区二区av在线 | 99v久久综合狠狠综合久久| 丁香婷婷综合色啪| 波多野洁衣一区| 色婷婷av一区二区三区软件| 色噜噜夜夜夜综合网| 欧美美女bb生活片| 日韩一区二区影院| 日本一区二区免费在线观看视频| 国产欧美综合在线观看第十页| 中文字幕免费不卡| 一区二区三区在线播| 午夜欧美大尺度福利影院在线看| 日韩成人伦理电影在线观看| 美女视频黄免费的久久| 国产不卡高清在线观看视频| 91免费国产视频网站| 欧美日韩另类一区| 精品人伦一区二区色婷婷| 中文字幕第一页久久| 一区二区三区精品视频在线| 美女在线一区二区| 成人爽a毛片一区二区免费| 99免费精品在线观看| 欧美色中文字幕| 久久品道一品道久久精品| 中文字幕一区二区三区蜜月| 视频在线在亚洲| 成人免费视频app| 欧美老肥妇做.爰bbww| 久久久久久久久一| 亚洲国产日韩在线一区模特| 韩国女主播一区二区三区| 一本久久a久久精品亚洲| 91精品欧美久久久久久动漫| 国产日产欧美精品一区二区三区| 亚洲精品v日韩精品| 国产精品一区二区三区99| 色老头久久综合| 久久久综合激的五月天| 日日噜噜夜夜狠狠视频欧美人|