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

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

?? led.s

?? AVR單片機C語言程序設計實例精粹
?? S
字號:
	.module LED.c
	.area lit(rom, con, rel)
_Char_I::
	.byte 0,0
	.byte 130,254
	.byte 130,0
	.byte 0,0
	.dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LED大屏幕顯示系統設計\LED.c
	.dbsym e Char_I _Char_I A[8:8]kc
_Char_L::
	.byte 0,0
	.byte 254,2
	.byte 2,2
	.byte 0,0
	.dbsym e Char_L _Char_L A[8:8]kc
_Char_V::
	.byte 0,240
	.byte 8,4
	.byte 4,8
	.byte 240,0
	.dbsym e Char_V _Char_V A[8:8]kc
_Char_E::
	.byte 0,0
	.byte 254,146
	.byte 146,130
	.byte 0,0
	.dbsym e Char_E _Char_E A[8:8]kc
_Char_Y::
	.byte 0,192
	.byte 32,30
	.byte 32,192
	.byte 0,0
	.dbsym e Char_Y _Char_Y A[8:8]kc
_Char_O::
	.byte 0,0
	.byte 254,130
	.byte 130,254
	.byte 0,0
	.dbsym e Char_O _Char_O A[8:8]kc
_Char_U::
	.byte 0,0
	.byte 252,2
	.byte 2,252
	.byte 0,0
	.dbsym e Char_U _Char_U A[8:8]kc
_Space::
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.dbsym e Space _Space A[8:8]kc
_DataBaseIndexList::
	.byte 73
	.word _Char_I
	.byte 76
	.word _Char_L
	.byte 79
	.word _Char_O
	.byte 86
	.word _Char_V
	.byte 69
	.word _Char_E
	.byte 89
	.word _Char_Y
	.byte 85
	.word _Char_U
	.byte 0
	.word 0
	.dbsym e DataBaseIndexList _DataBaseIndexList A[24:8]kX
_String1::
	.byte 'I,'L,'O,'V,'E,'Y,'O,'U,0
	.dbsym e String1 _String1 A[9:9]kc
	.area text(rom, con, rel)
	.dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LED大屏幕顯示系統設計\LED.c
	.dbfunc e Display_Init _Display_Init fV
;          Index -> R20
	.even
_Display_Init::
	xcall push_gset1
	.dbline -1
	.dbline 58
; //***************************************************************
; // File Name : LED.c
; // Author    : Steaven
; // Created   : 2008-07-26
; // Modified  : 
; // Revision  : V0.0
; //***************************************************************
; 
; #include "iom16v.h" 
; #include "DataType.h"
; #include "app.h"
; #include "LED.h"
; 
; //constant definition
; const INT8U Char_I[] = {0x00,0x00,0x82,0xFE,0x82,0x00,0x00,0x00};/*"I",0*/
; const INT8U Char_L[] = {0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00};/*"L",0*/
; const INT8U Char_V[] = {0x00,0xF0,0x08,0x04,0x04,0x08,0xF0,0x00};/*"V",0*/
; const INT8U Char_E[] = {0x00,0x00,0xFE,0x92,0x92,0x82,0x00,0x00};/*"E",0*/
; const INT8U Char_Y[] = {0x00,0xC0,0x20,0x1E,0x20,0xC0,0x00,0x00};/*"Y",0*/
; const INT8U Char_O[] = {0x00,0x00,0xFE,0x82,0x82,0xFE,0x00,0x00};/*"O",0*/
; const INT8U Char_U[] = {0x00,0x00,0xFC,0x02,0x02,0xFC,0x00,0x00};/*"U",0*/
; const INT8U Space[]  = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*" ",0*/
; 
; //struct definition
; struct DataBaseIndex
; {
; 	INT8U Code;
;     const INT8U *Ptr;
; };
; 
; //char code database list
; const struct DataBaseIndex DataBaseIndexList[] = 
; {
; 	'I', Char_I,
; 	'L', Char_L,
; 	'O', Char_O,
; 	'V', Char_V,
; 	'E', Char_E,
; 	'Y', Char_Y,
; 	'U', Char_U,
; 	 0 , 0
; };
; 
; //global variables definition
; const INT8U *pBufStr;                  //字符指針
; const char String1[] = {"ILOVEYOU"};   //字符串
; INT8U DisplayCnt;                      //顯示計數器
; INT8U Buffer[8];                       //顯示緩沖區
; INT8U Length_of_DataBase;              //字符數據庫長度
; 
; //***************************************************************
; // Function    : Display_Init
; // Input       : none
; // Output      : none
; // Description : Display Initialization
; //***************************************************************
; void Display_Init(void)
; {
	.dbline 59
;     INT8U Index = 0;
	clr R20
	.dbline 60
; 	for(Index = 0;Index < 8;Index++)
	xjmp L5
L2:
	.dbline 61
	.dbline 62
	ldi R24,<_Buffer
	ldi R25,>_Buffer
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	clr R2
	std z+0,R2
	.dbline 63
L3:
	.dbline 60
	inc R20
L5:
	.dbline 60
	cpi R20,8
	brlo L2
	.dbline 64
; 	{
; 		Buffer[Index] = 0;
; 	}
; 	pBufStr = String1;
	ldi R24,<_String1
	ldi R25,>_String1
	sts _pBufStr+1,R25
	sts _pBufStr,R24
	.dbline 65
; 	DisplayCnt = 0;
	clr R2
	sts _DisplayCnt,R2
	.dbline 66
; 	Length_of_DataBase = Search_DataBase_Length();
	xcall _Search_DataBase_Length
	sts _Length_of_DataBase,R16
	.dbline -2
	.dbline 67
; }
L1:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r Index 20 c
	.dbend
	.dbfunc e Buffer_IN _Buffer_IN fV
;          pdata -> R20,R21
;          Count -> R22
;          Index -> R10
	.even
_Buffer_IN::
	xcall push_gset3
	mov R10,R16
	.dbline -1
	.dbline 76
; 
; //***************************************************************
; // Function    : DotTest
; // Input       : none
; // Output      : none
; // Description : LED Display Test
; //***************************************************************			  		       
; void Buffer_IN(INT8U Index)
; {
	.dbline 78
;     const INT8U *pdata;
; 		INT8U Count = 0;
	clr R22
	.dbline 79
; 		pdata = SearchCharIndex(*pBufStr);
	lds R30,_pBufStr
	lds R31,_pBufStr+1
	lpm R16,Z
	xcall _SearchCharIndex
	movw R20,R16
	.dbline 80
; 		if(pdata != (INT8U *)0)
	cpi R16,0
	cpc R16,R17
	breq L7
X0:
	.dbline 81
; 		{
	.dbline 82
; 		    for(Count = 0;Count < 7;Count++)
	clr R22
	xjmp L12
L9:
	.dbline 83
	.dbline 84
	ldi R24,<_Buffer+1
	ldi R25,>_Buffer+1
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldi R24,<_Buffer
	ldi R25,>_Buffer
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R2
	.dbline 85
L10:
	.dbline 82
	inc R22
L12:
	.dbline 82
	cpi R22,7
	brlo L9
	.dbline 86
	mov R30,R10
	clr R31
	add R30,R20
	adc R31,R21
	lpm R30,Z
	sts _Buffer+7,R30
	.dbline 87
L7:
	.dbline -2
	.dbline 88
; 			{
; 			    Buffer[Count] = Buffer[Count+1];
; 			}
; 			Buffer[7] = *(pdata + Index);
; 		}
; }
L6:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r pdata 20 pkc
	.dbsym r Count 22 c
	.dbsym r Index 10 c
	.dbend
	.dbfunc e SearchCharIndex _SearchCharIndex fpkc
;   pDataBasePtr -> R20,R21
;          Index -> R22
;       CharCode -> R16
	.even
_SearchCharIndex::
	xcall push_gset2
	.dbline -1
	.dbline 97
; 
; //***************************************************************
; // Function    : SearchCharIndex
; // Input       : CharCode - Char to be displayed
; // Output      : Pointer to the display code of the input char
; // Description : Get the pointer of the display char code
; //***************************************************************			  		       	
; const INT8U *SearchCharIndex(INT8U CharCode)
; {
	.dbline 100
;     INT8U Index;
; 	const struct DataBaseIndex *pDataBasePtr;
; 	pDataBasePtr = DataBaseIndexList;
	ldi R20,<_DataBaseIndexList
	ldi R21,>_DataBaseIndexList
	.dbline 101
; 	for(Index = 0;Index <= Length_of_DataBase;Index++)
	clr R22
	xjmp L19
L16:
	.dbline 102
; 	{
	.dbline 103
; 	    if(pDataBasePtr->Code == CharCode)
	movw R30,R20
	lpm R30,Z
	cp R30,R16
	brne L20
	.dbline 104
; 		{
	.dbline 105
; 		    return(pDataBasePtr->Ptr);
	movw R30,R20
	adiw R30,1
	lpm R16,Z+
	lpm R17,Z
	xjmp L15
L20:
	.dbline 108
	.dbline 109
	subi R20,253  ; offset = 3
	sbci R21,255
	.dbline 110
	.dbline 111
L17:
	.dbline 101
	inc R22
L19:
	.dbline 101
	lds R2,_Length_of_DataBase
	cp R2,R22
	brsh L16
	.dbline 112
; 		}
; 		else
; 		{
; 		    pDataBasePtr++ ;
; 		}
; 	}
; 	return(0);
	clr R16
	clr R17
	.dbline -2
L15:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r pDataBasePtr 20 pkX
	.dbsym r Index 22 c
	.dbsym r CharCode 16 c
	.dbend
	.dbfunc e Search_DataBase_Length _Search_DataBase_Length fc
;          Index -> R16
;   pDataBasePtr -> R18,R19
	.even
_Search_DataBase_Length::
	.dbline -1
	.dbline 122
; }
; 
; //***************************************************************
; // Function    : Search_DataBase_Length
; // Input       : none
; // Output      : Length of database list
; // Description : Search DataBase Length
; //***************************************************************			  
; INT8U Search_DataBase_Length(void)
; {
	.dbline 123
; 	INT8U Index = 0;
	clr R16
	.dbline 125
; 	const struct DataBaseIndex *pDataBasePtr;
; 	pDataBasePtr = DataBaseIndexList;
	ldi R18,<_DataBaseIndexList
	ldi R19,>_DataBaseIndexList
	xjmp L24
L23:
	.dbline 127
	.dbline 128
	inc R16
	.dbline 129
	subi R18,253  ; offset = 3
	sbci R19,255
	.dbline 130
L24:
	.dbline 126
; 	while(pDataBasePtr->Code != 0)
	movw R30,R18
	lpm R30,Z
	tst R30
	brne L23
	.dbline 131
; 	{
; 		Index++;
; 		pDataBasePtr++;
; 	}
; 	return(Index);
	.dbline -2
L22:
	.dbline 0 ; func end
	ret
	.dbsym r Index 16 c
	.dbsym r pDataBasePtr 18 pkX
	.dbend
	.dbfunc e DotTest _DotTest fV
;         Select -> R10
;          Index -> R12
;      wDelayCnt -> y+0
	.even
_DotTest::
	xcall push_gset4
	sbiw R28,4
	.dbline -1
	.dbline 141
; }
; 
; //***************************************************************
; // Function    : DotTest
; // Input       : none
; // Output      : none
; // Description : LED Display Test
; //***************************************************************			  
; void DotTest(void)
; {
	.dbline 142
;     INT8U Select = 0;
	clr R10
	.dbline 143
; 	INT8U Index = 0;
	clr R12
	.dbline 144
; 	INT32U wDelayCnt = 0;
	ldi R20,0
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	std z+0,R20
	std z+1,R21
	std z+2,R22
	std z+3,R23
	.dbline 145
; 	for(Select = 0;Select < 8;Select++)
	xjmp L30
L27:
	.dbline 146
; 	{
	.dbline 147
; 	    for(Index = 0;Index < 8;Index++)
	clr R12
	xjmp L34
L31:
	.dbline 148
; 		{
	.dbline 149
; 		    PORTA = 1 << Index;
	ldi R16,1
	mov R17,R12
	xcall lsl8
	out 0x1b,R16
	.dbline 150
; 		    PORTD = ~(1 << Select);
	ldi R16,1
	mov R17,R10
	xcall lsl8
	mov R2,R16
	com R2
	out 0x12,R2
	.dbline 151
	ldi R20,0
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	std z+0,R20
	std z+1,R21
	std z+2,R22
	std z+3,R23
	xjmp L38
L35:
	.dbline 151
	.dbline 151
	.dbline 151
L36:
	.dbline 151
	ldi R20,1
	ldi R21,0
	ldi R22,0
	ldi R23,0
	movw R30,R28
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	add R2,R20
	adc R3,R21
	adc R4,R22
	adc R5,R23
	movw R30,R28
	std z+0,R2
	std z+1,R3
	std z+2,R4
	std z+3,R5
L38:
	.dbline 151
	ldi R20,144
	ldi R21,95
	ldi R22,1
	ldi R23,0
	movw R30,R28
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	cp R2,R20
	cpc R3,R21
	cpc R4,R22
	cpc R5,R23
	brlo L35
	.dbline 152
L32:
	.dbline 147
	inc R12
L34:
	.dbline 147
	mov R24,R12
	cpi R24,8
	brsh X1
	xjmp L31
X1:
	.dbline 153
L28:
	.dbline 145
	inc R10
L30:
	.dbline 145
	mov R24,R10
	cpi R24,8
	brsh X2
	xjmp L27
X2:
	.dbline -2
	.dbline 154
; 		    for(wDelayCnt = 0;wDelayCnt < 90000;wDelayCnt++) {;}
; 		}
; 	}
; }
L26:
	adiw R28,4
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r Select 10 c
	.dbsym r Index 12 c
	.dbsym l wDelayCnt 0 l
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LED大屏幕顯示系統設計\LED.c
_Length_of_DataBase::
	.blkb 1
	.dbsym e Length_of_DataBase _Length_of_DataBase c
_Buffer::
	.blkb 8
	.dbsym e Buffer _Buffer A[8:8]c
_DisplayCnt::
	.blkb 1
	.dbsym e DisplayCnt _DisplayCnt c
_pBufStr::
	.blkb 2
	.dbsym e pBufStr _pBufStr pkc

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美日| 久久先锋资源网| 一区二区在线观看免费视频播放| 懂色av一区二区三区免费观看| 国产网红主播福利一区二区| 国产成人免费xxxxxxxx| 国产欧美一区视频| av电影天堂一区二区在线观看| 国产精品国产自产拍高清av | 亚洲bt欧美bt精品| 777xxx欧美| 国产美女在线精品| 国产精品久久久一本精品| 91农村精品一区二区在线| 亚洲第一福利一区| 2024国产精品| 91麻豆高清视频| 美女脱光内衣内裤视频久久网站| 久久一二三国产| 一本色道**综合亚洲精品蜜桃冫| 视频一区二区三区中文字幕| 欧美电视剧免费全集观看| 成人一区二区视频| 香蕉影视欧美成人| 亚洲国产高清在线| 26uuu成人网一区二区三区| 国产一区999| 夜夜操天天操亚洲| 欧美精品一区二区三区蜜臀| 99久久免费视频.com| 日韩中文字幕1| 国产精品女主播av| 欧美一区二区三区的| 91在线免费看| 韩国精品在线观看| 亚洲综合免费观看高清完整版在线| 日韩一区二区在线免费观看| 99久久综合精品| 美女视频网站久久| 一区二区三区在线视频观看| 久久网站最新地址| 欧美美女bb生活片| 99视频一区二区三区| 美腿丝袜亚洲三区| 亚洲一区在线看| 国产精品视频在线看| 日韩一级视频免费观看在线| 91免费观看视频| 国产成人亚洲综合a∨猫咪| 日韩av在线发布| 一区二区欧美国产| 国产精品视频一二三区| 精品国产乱码91久久久久久网站| 欧美色精品天天在线观看视频| 成人精品视频一区二区三区| 久久成人久久鬼色| 日韩国产欧美在线观看| 一区二区三区高清在线| 国产精品天天看| 久久久久久久久久久99999| 欧美一卡2卡3卡4卡| 欧美日韩一区二区三区四区五区| 99精品视频在线免费观看| 福利视频网站一区二区三区| 狠狠色丁香久久婷婷综| 日韩avvvv在线播放| 亚洲综合久久av| 一区二区三区在线免费观看| 最新不卡av在线| 国产精品日日摸夜夜摸av| 久久久国产精华| 久久久亚洲高清| 精品日韩99亚洲| 精品国产三级a在线观看| 日韩欧美成人激情| 日韩一区二区三区免费看 | 国产日韩精品一区二区浪潮av| 欧美一级艳片视频免费观看| 欧美老女人在线| 91麻豆精品国产自产在线| 欧美日韩一区二区三区高清| 欧美在线三级电影| 欧美日韩黄视频| 欧美日韩精品久久久| 91麻豆精品国产自产在线观看一区 | 成人国产免费视频| 白白色 亚洲乱淫| 91一区二区在线| 在线观看国产精品网站| 欧美日韩精品福利| 日韩欧美中文字幕制服| 欧美电视剧免费全集观看| 精品国产伦一区二区三区免费| 一区二区三区在线观看欧美| 午夜精品福利一区二区三区av | 色94色欧美sute亚洲线路一ni| 91蝌蚪国产九色| 欧美视频一区二区三区四区 | www国产精品av| 国产免费观看久久| 亚洲免费大片在线观看| 五月激情综合婷婷| 激情丁香综合五月| 99精品国产视频| 欧美蜜桃一区二区三区| 日韩精品最新网址| 国产精品欧美久久久久一区二区| 亚洲欧美一区二区三区久本道91| 亚洲成人免费视频| 国产一区二区在线观看免费| 99久久久无码国产精品| 欧美二区乱c少妇| 久久精品欧美日韩| 亚洲一区二区综合| 久久爱www久久做| 99re视频这里只有精品| 欧美一级久久久| 国产精品传媒视频| 日本色综合中文字幕| 成人晚上爱看视频| 欧美日韩国产大片| 日本一二三不卡| 日韩中文字幕1| 99精品桃花视频在线观看| 日韩一区二区三| 亚洲人午夜精品天堂一二香蕉| 男女性色大片免费观看一区二区| 成人午夜视频福利| 欧美一区二区三区四区久久| 中文字幕一区二区三区在线播放| 日韩中文字幕av电影| 99re这里都是精品| 久久久久综合网| 亚洲成人资源网| 99久久精品国产毛片| 精品88久久久久88久久久| 亚洲国产日韩a在线播放性色| 国产精选一区二区三区| 欧美日韩免费一区二区三区视频| 国产清纯白嫩初高生在线观看91 | 蜜桃免费网站一区二区三区| 成人黄色综合网站| 日韩欧美国产综合| 亚洲福利视频三区| 91丨porny丨蝌蚪视频| 国产午夜精品久久久久久久| 麻豆精品视频在线观看视频| 欧美亚洲自拍偷拍| 亚洲欧美日韩久久| 国产高清视频一区| 2020国产精品久久精品美国| 午夜精品123| 色av综合在线| 一区二区中文字幕在线| 国产乱子伦视频一区二区三区| 91精品久久久久久久91蜜桃 | 欧美一区二区视频在线观看2020 | 亚洲三级免费观看| 成人综合在线网站| 久久久www成人免费毛片麻豆| 男男视频亚洲欧美| 91精品中文字幕一区二区三区| 亚洲一二三区不卡| 在线观看成人小视频| 亚洲精品写真福利| 色婷婷激情一区二区三区| 国产精品黄色在线观看| 成人av中文字幕| 中文字幕一区二区三区在线观看| 国产成人在线看| 国产精品久久久一本精品| 成人精品国产福利| 国产精品久久久久久久久久免费看| 国产精品456| 国产精品亲子乱子伦xxxx裸| 成人激情动漫在线观看| 国产精品久久久久久久久图文区| 成人午夜免费视频| 免费一级片91| 日韩精品专区在线| 国产综合久久久久影院| 国产欧美日韩亚州综合| www.亚洲免费av| 亚洲精品国产品国语在线app| 色狠狠桃花综合| 偷拍一区二区三区| 精品国产亚洲在线| 粉嫩蜜臀av国产精品网站| 国产精品二区一区二区aⅴ污介绍| 99麻豆久久久国产精品免费| 亚洲综合色在线| 日韩欧美国产一区二区三区| 国产精品香蕉一区二区三区| 国产精品夫妻自拍| 精品视频一区三区九区| 久久精品国产99久久6| 国产色产综合产在线视频| 91视频你懂的| 免费高清在线一区| 国产精品传媒视频|