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

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

?? timer.asm

?? dsp5416實驗箱
?? ASM
字號:
*********************************************************************************
*  UART.ASM	v1.00								                            	*
*  版權(c) 	2003-		北京合眾達電子技術有限責任公司			                *
*  設計者:	段立鋒								                                *
*********************************************************************************

			.copy	"vc54x.inc"	; VC5402 Memory-Mapped	Register Declaration
			.copy   "dec5416.inc" ; SEED DEC5416 Memory-Mapped Register Declaratio
			.mmregs
			.global _main
			.def _timer_isr
			.ref IV_RESET
****************************************************************************
*  I/O空間:		插2×2個等待		?		  						    *
*  數據空間低32K:	插2×2個等待		?		                            *
*  數據空間高32K:	插5×2個等待		?		                            *
*  程序空間低512K:?插2×2個等待		?		                            *
*  程序空間高512K:	插5×2個等待		?		                            *
****************************************************************************
SWWSR_VAL	.set	07492H
SWCR_VAL	.set	0001H			; 等待×2
__STACK_SIZE .set   0x100           ; 堆棧長度為256字
OVLY_0		.set	005FH			; OVLY = '0'
PLLX2       .set    01007H
****************************************************************************
*串口測試參數                                                              *
****************************************************************************
buad_9k6h   .set    00H
buad_9k6l   .set    09CH
buad_19k2h	.set    00
buad_19k2l  .set    04EH
uart_format .set    03H ;數據長度為8個,一個停止位,沒有較驗
****************************************************************************
*定時器設置參數                                                            *
****************************************************************************
;PRD_DATA        .set    07D00H      ;the period of timer is 0.001s
PRD_DATA        .set    06000H      ;the period of timer is 0.001s
TCR_START       .set    0c61H       ;start the timer
***************************************************************************
*命令分類                                                                 *
***************************************************************************
TIME_SET        .set   0A2H
RESET           .set   0A5H
   
****************************************************************************
* Declare the stack.  Size is determined by the linker option -stack.  The *
* default value is 256 words.                                              *
****************************************************************************
__stack:	.usect	".stack",0  ; set the stack memory

*串口接收緩沖區
*緩沖區的格式:
*第一個字節:要接收的數據長度
*第二個字節以后為要接收的數據		
_uarta_rec:    	.usect  ".uarta_rbuff",128,0,0
*串口發送緩沖區
*緩沖區格式
*第一個字節為要發送數據的長度
*第二個字節以后為要發送的數據
_uarta_tra:    	.usect  ".uarta_tbuff",128,0,0
*系統狀態緩沖區
*系統緩沖區的定義:
*第0個字節 :IO尋址緩沖;
*第一個字節:IO尋址緩沖;
*第二個字節:1秒鐘記時滿;
*第三個字節:當前小時值;
*第四個字節:當前的分鐘值;
*第五個字節:當前的秒值;
*第六個字節:接收是否出錯
*第七個字節:計數器的累加值;
_sys_statbuff: 	.usect  ".sys_buffer",32,0,0	

                  .text
_main:                  
****************************************************************************
*  INIT STACK POINTER.  REMEMBER STACK GROWS FROM HIGH TO LOW ADDRESSES.   *
****************************************************************************
		STM	#__stack,SP					; set to beginning of stack memory
		ADDM	#(__STACK_SIZE-1),*(SP) ; add size to get to top
		ANDM	#0fffeh,*(SP)			; make sure it is an even address
	
		SSBX	SXM						; turn on SXM for LD #cinit,A
****************************************************************************
*  中斷向量表重定位,配置軟件等到寄存器					                   *
****************************************************************************
		ANDM	#OVLY_0,*(PMST)		; OVLY = 0
		ORM	#IV_RESET,*(PMST)	; 中斷向量表重定位
		STM	#SWWSR_VAL,SWWSR	; 配置軟件等待寄存器
		STM	#SWCR_VAL,SWCR	

****************************************************************************
* SET UP REQUIRED VALUES IN STATUS REGISTER                                *
****************************************************************************
		RSBX	CPL			; turn on compiler mode bit
		RSBX	OVM			; clear overflow mode bit
		RSBX    INTM        ; enable the interuption
		STM #0,IMR         ; enable the timer interuption
	
		
****************************************************************************
*設置系統時鐘為32MHz                                                       *
****************************************************************************
					STM #0B,CLKMD        ;switch to DIV mode
TstSatu:    		LDM CLKMD,B              
            		AND #01B,B           ;poll STATUS bit
            		BC TstSatu,BNEQ
            		STM #PLLX2,CLKMD     ;switch to PLL X 2 mode
PllSatu:    		LDM CLKMD,B              
            		AND #01B,B           ;poll STATUS bit
            		BC PllSatu,BEQ
****************************************************************************
*系統狀態緩沖區清零                                                        *
****************************************************************************
					STM #_sys_statbuff,AR0
					RPT #01FH
					ST  #0,*AR0+
****************************************************************************
*主程序                                                                    *
****************************************************************************
					
					;接收主機命令
					STM  #_sys_statbuff,AR0;取系統狀態緩沖區的首址
					ST  #03E7H,*AR0(7)     ;設置每秒需要的中斷次數
					CALL _uart_init         ;初始化串口
timer:              CALL _uart_reciever     ;接收數據
					;是否有錯誤
					LD *AR0(6),A
					STM #0,AH
					BC timer_err,ANEQ
					;是否要設定時間
					STM #_uarta_rec,AR1
					LD *AR1+,A
					STM #0,AH
					SUB #TIME_SET,A
					BC time_set,AEQ
					;是否要系統復位
					STM #_uarta_rec,AR1
					LD *AR1,A
					STM #0,AH
					SUB #RESET,A
					BC sys_reset,AEQ
					B timer
					

time_set:			LD  *AR1+,A
					STL A,*AR0(3)  ;設置當前小時
					LD  *AR1+,A
					STL A,*AR0(4)  ;設置當前分鐘
					LD  *AR1+,A
					STL A,*AR0(5)  ;設置當前秒
					STM #_uarta_tra,AR2
					RPT #07FH
					ST  #0,*AR2+
					CALL _timer_start
					STM #8,IMR         ; enable the timer interuption
					NOP
					NOP
					NOP
					B timer
					
sys_reset:          ST #04H,*AR0                      					
					PORTW *AR0, syscntl   ;打開看門狗,使系統復位
					B $
					
					
timer_err:          ST #0,*AR0(6)
					STM #_uarta_tra,AR2   ;取發送緩沖區的首址
					ST #1,*AR2(0)
					ST #0FFFFH,*AR2(1)
					CALL _uart_send        ;通知主機接收出錯,重發
					B timer
										
					
															            		
****************************************************************************            		            			
*A通路串口初始化                                                           *
****************************************************************************
					;設置波待率
_uart_init:			STM #0,AH
					STM #080H,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_lcr;將數據80寫入到lcr寄存器
					NOP
					NOP
					NOP
					
					STM #buad_19k2l,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_dll;將buad_9k6l寫入到dll寄存器
					NOP
					NOP
					NOP
					
					STM #buad_19k2h,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_dlh;將buad_9k6l寫入到dll寄存器
					NOP
					NOP
					NOP
					
					;設置波待率分頻數為1
			;		STM 0BFH,AL
			;		STL A,*AR0(0)
			;		PORTW *AR0(0),uart_a+_lcr;將0BF寫入到lcr寄存器
					
			;		STM #010,AL
			;		STL A,*AR0(0)
			;		PORTW *AR0(0),uart_a+_efr;將010寫入到efr寄存器
					
			;		STM #0,AL
			;		STL A,*AR0(0)
			;		PORTW *AR0(0),uart_a+_lcr;將0寫入到lcr寄存器
					
			;		STM #0,AL
			;		STL A,*AR0(0)
			;		PORTW *AR0(0),uart_a+_mcr;將0寫入到mcr寄存器
					
					;設置數據格式
					STM #uart_format,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_lcr;將0寫入到lcr寄存器
					NOP
					NOP
					NOP
					
					;設置串口不使用FIFO方式
					STM #0,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_fcr;將0寫入到fcr寄存器
					NOP
					NOP
					NOP
					
					;開中斷,串口輸出無限制
					STM #09H,AL
					STL A,*AR0(0)
					PORTW *AR0(0),uart_a+_fcr;將09寫入到Mcr寄存器
					NOP
					NOP
					NOP
					RET

					
**************************************************************************
* 串口接收子程序                                                         *
**************************************************************************					
_uart_reciever:		STM #_uarta_rec,AR1
					STM #0,BH
					STM #04H,BL
		
data_rec: 			PORTR (uart_a + _lsr),*AR0(0);讀取接收狀態
					ANDM #01H,*AR0(0)			 ;檢查接收是否有錯
					LD *AR0(0),A
					STM #0,AH
					BC data_rec,AEQ         	 ;通知主機通訊錯
					PORTR (uart_a + _rhr),*AR1+  ;讀接收數據
					ANDM #0ffh,*AR1(-1)
					SUB #1,B
					STM #0,BH
					BC data_rec,BNEQ
					B uart_exit

;uart_err:			ST #1,*AR0(6)         
uart_exit:          NOP					
					RET          					
****************************************************************************
*串口的發送子程序                                                          *
****************************************************************************
_uart_send:			STM #_uarta_tra,AR2
					LD *AR2+,B
					STM #0,BH
uart_check:			PORTR (uart_a + _lsr),*AR0(1);讀取接收狀態
					ANDM #020H,*AR0(1)			 ;是否已發送成功
					LD *AR0(1),A
					STM #0,AH
					BC uart_check,AEQ
					LD *AR2,A
					NOP
					NOP
					PORTW *AR2+,(uart_a + _thr)    ;發送數據
					NOP
					NOP
					NOP
					SUB #1,B
					BC uart_check,BNEQ
					RET       																														
****************************************************************************
*定時器操做函數                                                            *
*	操作內容:1、初始化定時器,定時間隔為千分之一秒,運行方式,連續運行,  *
*                自動重裝                                                  *
*             2、啟動定時器
****************************************************************************
_timer_start:      	STM #PRD_DATA,PRD       ;set the period of the Timer0
					STM #PRD_DATA,TIM
					STM #TCR_START,TCR		;start  the timer
					RET		
****************************************************************************
*定時器中斷服務程序                                                        *
****************************************************************************
_timer_isr:  		PSHM AL
					PSHM AH
					PSHM BL
					PSHM BH
					
					LD *AR0(7),A    	;取出計時值
					SUB #1,A
					STL A,*AR0(7)
			        BC change_time, AEQ
			        B isr_exit
change_time:        ST #03E7H,*AR0(7)	;1秒計時已到
					LD *AR0(5),A        ;取回當前秒
					ADD #1,A            ;當前秒加1
					STL A,*AR0(5)       ;保存當前秒
					SUB #60,A
					BC send_time,ANEQ
					ST #0,*AR0(5)
					ADDM #1,*AR0(4)     ;分鐘加1
					LD *AR0(4),A
					SUB #60,A
					BC send_time,ANEQ
					ST #0,*AR0(4)       
					ADDM #1,*AR0(3)     ;小時加1
					LD *AR0(3),A
					SUB #24,A
					BC send_time,ANEQ
					ST #0,*AR0(3)       ;小時復位
					
send_time:			STM #_uarta_tra,AR2 ;將時間數據放入發送緩沖區
					ST #04H,*AR2+         ;數據長度
					ST #0A3H,*AR2+       ;類型
					LD *AR0(3),A
					STL A,*AR2+			  ;送數據
					LD *AR0(4),A
					STL A,*AR2+
					LD *AR0(5),A
					STL A,*AR2+
					CALL _uart_send       ;發送數據				
					
isr_exit:			POPM BH
					POPM BL
					POPM AH
					POPM AL
					POPM ST1
					POPM ST0					
			 		RETE		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频| 一区二区三区免费网站| 激情六月婷婷综合| 精品日韩成人av| 国产在线国偷精品产拍免费yy | 91日韩在线专区| 亚洲综合av网| 日韩一区和二区| 狠狠色丁香婷综合久久| 日本一区二区电影| 色噜噜狠狠色综合欧洲selulu| 午夜欧美在线一二页| 欧美成人三级在线| 成人免费黄色在线| 亚洲mv在线观看| 欧美成人精品3d动漫h| 波多野结衣亚洲一区| 亚洲综合色丁香婷婷六月图片| 欧美浪妇xxxx高跟鞋交| 国产在线视频一区二区| 国产精品三级视频| 欧美久久久久久久久| 国产成人av在线影院| 亚洲国产精品久久艾草纯爱| 精品国免费一区二区三区| 成人免费观看男女羞羞视频| 亚洲观看高清完整版在线观看| 日韩三级视频在线看| 99久久夜色精品国产网站| 亚洲观看高清完整版在线观看| 久久久久亚洲蜜桃| 日本高清不卡一区| 精品一区二区三区欧美| 亚洲少妇30p| wwwwxxxxx欧美| 欧美日韩高清不卡| 9色porny自拍视频一区二区| 久久机这里只有精品| 樱花草国产18久久久久| 久久青草欧美一区二区三区| 欧美亚男人的天堂| 国产一区二区免费视频| 五月婷婷久久丁香| 国产精品不卡一区二区三区| 日韩一级黄色大片| 91猫先生在线| 成人网页在线观看| 国产乱一区二区| 日本午夜精品一区二区三区电影| 亚洲欧美色一区| 日本一区二区三区视频视频| 日韩免费高清av| 欧美在线观看视频在线| av一二三不卡影片| 高潮精品一区videoshd| 免费人成在线不卡| 丝瓜av网站精品一区二区 | 精品久久人人做人人爽| 欧美日韩综合一区| 色琪琪一区二区三区亚洲区| 成人免费视频免费观看| 风间由美一区二区av101| 国产剧情一区二区| 国产乱码精品一品二品| 国产综合成人久久大片91| 蜜桃av噜噜一区| 美女网站视频久久| 青青国产91久久久久久| 天涯成人国产亚洲精品一区av| 洋洋av久久久久久久一区| 亚洲人成网站在线| 亚洲摸摸操操av| 亚洲女同一区二区| 亚洲人成伊人成综合网小说| 自拍偷拍欧美精品| 亚洲视频免费在线| 玉足女爽爽91| 亚洲国产欧美日韩另类综合| 亚洲电影中文字幕在线观看| 一区二区三区四区视频精品免费| 亚洲精品中文字幕乱码三区| 亚洲精品国产成人久久av盗摄| 自拍偷拍欧美激情| 亚洲小说春色综合另类电影| 亚洲成av人片在线观看无码| 午夜精品一区在线观看| 偷拍亚洲欧洲综合| 久久99热99| 成人综合婷婷国产精品久久 | 国产精品亚洲综合一区在线观看| 国精品**一区二区三区在线蜜桃| 狠狠色丁香久久婷婷综| 国产99久久久国产精品免费看| 成人免费看视频| 欧美亚日韩国产aⅴ精品中极品| 欧美日韩国产首页| 日韩欧美国产小视频| 久久午夜电影网| 亚洲色图欧洲色图| 天堂va蜜桃一区二区三区漫画版| 久久国产乱子精品免费女| 国内一区二区在线| 91在线精品一区二区三区| 欧洲一区二区三区免费视频| 欧美一级片免费看| 国产日韩精品视频一区| 一区二区三区蜜桃网| 麻豆成人综合网| 成人三级伦理片| 欧美日韩一卡二卡三卡 | 欧美日韩mp4| 亚洲精品在线观看视频| 国产精品久久综合| 日日摸夜夜添夜夜添精品视频 | 亚洲欧美日韩一区| 亚洲一区二区三区小说| 美女看a上一区| 91亚洲永久精品| 欧美成人伊人久久综合网| 亚洲欧洲国产专区| 久久91精品国产91久久小草| 91亚洲国产成人精品一区二区三| 欧美一级精品在线| 亚洲欧美色综合| 国产精品18久久久久久久网站| 色婷婷综合久久久久中文一区二区| 欧美一级高清片在线观看| 亚洲少妇30p| 国产乱一区二区| 欧美欧美欧美欧美首页| 亚洲国产精品黑人久久久| 免费av成人在线| 欧美综合一区二区| 中文av一区二区| 国产一区二区三区日韩| 欧美日韩亚洲综合一区二区三区| 国产嫩草影院久久久久| 蜜桃视频在线观看一区| 在线观看日韩高清av| 国产精品麻豆视频| 看片网站欧美日韩| 91精品麻豆日日躁夜夜躁| 亚洲色大成网站www久久九九| 国产精品1区2区3区在线观看| 91精品国产综合久久久蜜臀图片| 亚洲精品网站在线观看| 成人听书哪个软件好| 久久久久久9999| 奇米影视一区二区三区| 欧美日韩亚洲综合| 亚洲夂夂婷婷色拍ww47| 色综合久久中文综合久久牛| 久久久久久久综合| 国产乱色国产精品免费视频| 日韩精品一区二区在线观看| 天堂蜜桃一区二区三区| 欧美日韩国产在线播放网站| 亚洲一区二区视频在线观看| 色88888久久久久久影院按摩| 国产精品剧情在线亚洲| 成人免费高清在线| 国产精品美女久久久久高潮| 高清国产一区二区三区| 欧美国产综合色视频| 国产精品一区二区果冻传媒| 亚洲精品在线电影| 国产精品乡下勾搭老头1| 久久久久9999亚洲精品| 国产精品99久久久久久有的能看| 久久久久国产精品麻豆ai换脸| 久久99在线观看| 久久一区二区三区四区| 国产在线播放一区| 欧美激情综合五月色丁香小说| 国产高清精品网站| 国产精品麻豆99久久久久久| 99精品欧美一区二区三区小说| 亚洲美女偷拍久久| 欧美色图激情小说| 麻豆传媒一区二区三区| 国产午夜精品理论片a级大结局 | 欧美电影免费观看高清完整版在线| 美国三级日本三级久久99| 精品久久久久久久久久久久久久久久久 | 亚洲视频小说图片| 欧美色图在线观看| 日韩精品一级二级| 久久久精品欧美丰满| av综合在线播放| 亚洲国产精品久久一线不卡| 制服.丝袜.亚洲.中文.综合| 久久99久久99精品免视看婷婷| 国产免费成人在线视频| 91久久线看在观草草青青| 日韩成人免费在线| 久久免费的精品国产v∧| 91麻豆精品秘密| 久久国产精品99久久久久久老狼| 中文字幕国产一区二区| 欧美性淫爽ww久久久久无|