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

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

?? lcddrive.s

?? AVR-MEGA8單片機中使用AD轉換的一個例子
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module LCDDrive.C
	.area text(rom, con, rel)
	.dbfile D:\學習\AVRpro\Mega8程序\TestADC\LCDDrive.C
	.area lit(rom, con, rel)
_CharMap::
	.byte 128,129
	.byte 130,131
	.byte 132,133
	.byte 134,135
	.byte 144,145
	.byte 146,147
	.byte 148,149
	.byte 150,151
	.byte 136,137
	.byte 138,139
	.byte 140,141
	.byte 142,143
	.byte 152,153
	.byte 154,155
	.byte 156,157
	.byte 158,159
	.dbfile D:\學習\AVRpro\Mega8程序\TestADC\FontModel.h
	.dbsym e CharMap _CharMap A[32:4:8]kc
	.area text(rom, con, rel)
	.dbfile D:\學習\AVRpro\Mega8程序\TestADC\FontModel.h
	.dbfile D:\學習\AVRpro\Mega8程序\TestADC\LCDDrive.C
	.dbfunc e Delay_1ms _Delay_1ms fV
;              j -> R16,R17
	.even
_Delay_1ms::
	.dbline -1
	.dbline 22
; //*********************************************
;  //MCU:ATMEL AVR MEGA8 ,晶振頻率:8MHz,頻率越高,播放Mp3越流暢
;  //LCD:128*64
;  //LCD型號:FYD12864-0402B
;  //制作人:平頂山工學院計算機系,郭猛
; //*********************************************
; # include "iom8v.h"
; # include "macros.h"
; #include <math.h>
; #include "FontModel.h"
; #include "LCDFun.h"
; 
; //LCD驅動用到的變量:
; uchar LCD_COM;		//LCD控制命令字
; uchar LCD_DAT;		//LCD數據
; //繪圖方式下的坐標:
; uchar AC_X;			//X坐標
; uchar AC_Y;			//Y坐標
; 
; //延時1ms
; void Delay_1ms(void)
; {	 
	.dbline 24
; 	 unsigned int j;
; 	 for(j=1;j<(unsigned int)(XTAL*143-2);j++) NOP();
	ldi R16,1
	ldi R17,0
	rjmp L5
L2:
	.dbline 24
	nop
L3:
	.dbline 24
	subi R16,255  ; offset = 1
	sbci R17,255
L5:
	.dbline 24
	ldi R24,1142
	ldi R25,4
	cp R16,R24
	cpc R17,R25
	brlo L2
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r j 16 i
	.dbend
	.dbfunc e Delay _Delay fV
;              i -> R10
;              j -> R20
;              n -> R12,R13
	.even
_Delay::
	rcall push_xgset303C
	movw R12,R16
	.dbline -1
	.dbline 29
; }
; /*******************************************延時子程序**********************************************/
; ///////////////////n的取值最好不要超過500!!!
; void Delay(unsigned int n)
; {
	.dbline 31
; 	uchar i,j;
; 	for(i=0;i<(uchar)(n/100);i++)
	clr R10
	rjmp L10
L7:
	.dbline 32
; 	  for(j=0;j<100;j++) Delay_1ms();   //100mS
	clr R20
	rjmp L14
L11:
	.dbline 32
	rcall _Delay_1ms
L12:
	.dbline 32
	inc R20
L14:
	.dbline 32
	cpi R20,100
	brlo L11
X1:
L8:
	.dbline 31
	inc R10
L10:
	.dbline 31
	ldi R18,100
	ldi R19,0
	movw R16,R12
	rcall div16u
	cp R10,R16
	brlo L7
X2:
	.dbline -2
L6:
	.dbline 0 ; func end
	rjmp pop_xgset303C
	.dbsym r i 10 c
	.dbsym r j 20 c
	.dbsym r n 12 i
	.dbend
	.dbfunc e LCD_AK_Control _LCD_AK_Control fV
;          OnOff -> R16
	.even
_LCD_AK_Control::
	.dbline -1
	.dbline 37
; }
; 
; //*************************************LCD背光控制***************************************
; void LCD_AK_Control(uchar OnOff)			//On0FF=1,背光顯示開;
; {
	.dbline 38
; 	if(OnOff) CLRPORT(LCD_AK); else SETPORT(LCD_AK);
	tst R16
	breq L16
X3:
	.dbline 38
	cbi 0x12,3
	rjmp L17
L16:
	.dbline 38
	sbi 0x12,3
L17:
	.dbline -2
L15:
	.dbline 0 ; func end
	ret
	.dbsym r OnOff 16 c
	.dbend
	.dbfunc e SendToSID _SendToSID fV
;        bitcode -> R20
;              i -> R10
;            dat -> R18
;         bitNum -> R16
	.even
_SendToSID::
	st -y,R10
	st -y,R20
	.dbline -1
	.dbline 42
; }
; 
; void SendToSID(unsigned char bitNum, unsigned char dat)//向串行數據線發送指定位數一個數據
; {
	.dbline 44
; 	unsigned char i,bitcode;
; 	for(i=0;i<bitNum;i++)
	clr R10
	rjmp L22
L19:
	.dbline 45
; 	{
	.dbline 46
; 	 	bitcode=dat & 0x80;
	mov R20,R18
	andi R20,128
	.dbline 47
; 		if(bitcode!=0) SETPORT(SID); else CLRPORT(SID); //SID = dat & 0x80;
	breq L23
X4:
	.dbline 47
	sbi 0x12,6
	rjmp L24
L23:
	.dbline 47
	cbi 0x12,6
L24:
	.dbline 48
; 		dat = dat << 1;
	lsl R18
	.dbline 49
; 		CLRPORT(SCLK); 	  	 	//SCLK = 0;
	cbi 0x12,7
	.dbline 50
; 		SETPORT(SCLK);	 		//SCLK = 1;
	sbi 0x12,7
	.dbline 51
; 		CLRPORT(SCLK);			//SCLK = 0; 
	cbi 0x12,7
	.dbline 52
; 	}
L20:
	.dbline 44
	inc R10
L22:
	.dbline 44
	cp R10,R16
	brlo L19
X5:
	.dbline -2
L18:
	.dbline 0 ; func end
	ld R20,y+
	ld R10,y+
	ret
	.dbsym r bitcode 20 c
	.dbsym r i 10 c
	.dbsym r dat 18 c
	.dbsym r bitNum 16 c
	.dbend
	.dbfunc e Write_LCD_Com _Write_LCD_Com fV
;        SynCode -> R20
	.even
_Write_LCD_Com::
	st -y,R20
	.dbline -1
	.dbline 57
; }
; 
; //*************************************寫入LCD控制字******************************
; void Write_LCD_Com(void)						//對LCD寫入控制命令
; {
	.dbline 60
; 	//	SynCode為同步碼
; 	unsigned char SynCode;
; 	CLRPORT(CS);	//CS=0;
	cbi 0x12,5
	.dbline 61
; 	SETPORT(CS);	//CS=1;
	sbi 0x12,5
	.dbline 63
; 
; 	SynCode = 0xFF;	 		 	//同步碼
	ldi R20,255
	.dbline 64
; 	SendToSID(5,SynCode);
	mov R18,R20
	ldi R16,5
	rcall _SendToSID
	.dbline 66
; 
; 	SynCode = 0x00;	 		 	//寫入代碼RW,RS,0,3位代碼
	clr R20
	.dbline 67
; 	SendToSID(3,SynCode);
	mov R18,R20
	ldi R16,3
	rcall _SendToSID
	.dbline 69
; 
; 	SynCode = LCD_COM & 0xF0;	//寫入代碼COM數據的高四位 要發送的數據格式是XXXX0000
	lds R20,_LCD_COM
	andi R20,240
	.dbline 70
; 	SendToSID(8,SynCode);
	mov R18,R20
	ldi R16,8
	rcall _SendToSID
	.dbline 72
; 
; 	SynCode = LCD_COM & 0x0F;	//寫入代碼COM數據的低四位	0000XXXX
	lds R20,_LCD_COM
	andi R20,15
	.dbline 73
; 	SynCode = SynCode<<4;    	//要發送的數據格式是XXXX0000
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 74
; 	SendToSID(8,SynCode);
	mov R18,R24
	ldi R16,8
	rcall _SendToSID
	.dbline 75
; 	Delay_1ms() ;	//必要的延時
	rcall _Delay_1ms
	.dbline -2
L25:
	.dbline 0 ; func end
	ld R20,y+
	ret
	.dbsym r SynCode 20 c
	.dbend
	.dbfunc e Write_LCD_Data _Write_LCD_Data fV
;        bitcode -> R10
;       iSynCode -> R22
;        SynCode -> R20
	.even
_Write_LCD_Data::
	rcall push_xgsetF00C
	.dbline -1
	.dbline 80
; }
; 
; //*************************************寫入LCD數據**********************************
; void Write_LCD_Data(void)						//對LCD寫入8位數據
; {
	.dbline 84
; 	//	iSynCode為同步碼計數器,同步碼為5位,	SynCode為同步碼
; 	unsigned char iSynCode,SynCode;
; 	uchar bitcode;
; 	CLRPORT(CS);	//CS=0;
	cbi 0x12,5
	.dbline 85
; 	SETPORT(CS);	//CS=1;
	sbi 0x12,5
	.dbline 87
; 
; 	SynCode = 0xFF;	 //同步碼
	ldi R20,255
	.dbline 88
; 	SendToSID(5,SynCode);
	mov R18,R20
	ldi R16,5
	rcall _SendToSID
	.dbline 89
; 	SynCode = 0x40;	 //寫入代碼RW,RS,0,3位代碼
	ldi R20,64
	.dbline 90
; 	SendToSID(3,SynCode);
	mov R18,R20
	ldi R16,3
	rcall _SendToSID
	.dbline 92
; 
; 	SynCode = LCD_DAT & 0xF0;	 //寫入代碼COM數據的高四位 要發送的數據格式是XXXX0000
	lds R20,_LCD_DAT
	andi R20,240
	.dbline 93
; 	for(iSynCode=0;iSynCode<8;iSynCode++)
	clr R22
	rjmp L30
L27:
	.dbline 94
; 	{
	.dbline 95
; 		bitcode = SynCode & 0x80;
	mov R24,R20
	andi R24,128
	mov R10,R24
	.dbline 96
; 		if(bitcode!=0) SETPORT(SID); else CLRPORT(SID);//SID = bitcode;	
	tst R24
	breq L31
X6:
	.dbline 96
	sbi 0x12,6
	rjmp L32
L31:
	.dbline 96
	cbi 0x12,6
L32:
	.dbline 97
; 		SynCode = SynCode << 1;
	lsl R20
	.dbline 98
; 		CLRPORT(SCLK); 	  	 	//SCLK = 0;
	cbi 0x12,7
	.dbline 99
; 		SETPORT(SCLK);	 		//SCLK = 1;
	sbi 0x12,7
	.dbline 100
; 		CLRPORT(SCLK);			//SCLK = 0; 
	cbi 0x12,7
	.dbline 102
; 		
; 	}
L28:
	.dbline 93
	inc R22
L30:
	.dbline 93
	cpi R22,8
	brlo L27
X7:
	.dbline 103
; 	SynCode = LCD_DAT & 0x0F;	 //寫入代碼COM數據的低四位	0000XXXX
	lds R20,_LCD_DAT
	andi R20,15
	.dbline 104
; 	SynCode = SynCode<<4;    //要發送的數據格式是XXXX0000
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 105
; 	for(iSynCode=0;iSynCode<8;iSynCode++)
	clr R22
	rjmp L36
L33:
	.dbline 106
; 	{
	.dbline 107
; 		bitcode = SynCode & 0x80;
	mov R24,R20
	andi R24,128
	mov R10,R24
	.dbline 108
; 		if(bitcode!=0) SETPORT(SID); else CLRPORT(SID);//SID = bitcode;	
	tst R24
	breq L37
X8:
	.dbline 108
	sbi 0x12,6
	rjmp L38
L37:
	.dbline 108
	cbi 0x12,6
L38:
	.dbline 109
; 		SynCode = SynCode << 1;
	lsl R20
	.dbline 110
; 		CLRPORT(SCLK); 	  	 	//SCLK = 0;
	cbi 0x12,7
	.dbline 111
; 		SETPORT(SCLK);	 		//SCLK = 1;
	sbi 0x12,7
	.dbline 112
; 		CLRPORT(SCLK);			//SCLK = 0; 
	cbi 0x12,7
	.dbline 113
; 	}
L34:
	.dbline 105
	inc R22
L36:
	.dbline 105
	cpi R22,8
	brlo L33
X9:
	.dbline 114
; 	Delay_1ms();
	rcall _Delay_1ms
	.dbline -2
L26:
	.dbline 0 ; func end
	rjmp pop_xgsetF00C
	.dbsym r bitcode 10 c
	.dbsym r iSynCode 22 c
	.dbsym r SynCode 20 c
	.dbend
	.dbfunc e LCD_Ini _LCD_Ini fV
	.even
_LCD_Ini::
	.dbline -1
	.dbline 124
; }
; 
; //*************************************LCD屏幕初始化**************************************
; //LCD接口:
; //CS    <==>PD5;
; //SID   <==>PD6;
; //SCLK  <==>PD7;
; //LCD_AK<==>PD3;		//背光控制,=0時打開背光
; void LCD_Ini(void)				//初始化,并進入文本模式				
; {
	.dbline 126
; 	//LCD端口初始化,將PD7~PD5端口設置為輸出方式
; 	DDRD|=0xE0;
	in R24,0x11
	ori R24,224
	out 0x11,R24
	.dbline 127
; 	_NOP();
	nop
	.dbline 129
; 
; 	LCD_COM =0x30;//功能設置為8BIT控制界面,基本指令集
	ldi R24,48
	sts _LCD_COM,R24
	.dbline 130
; 	Write_LCD_Com();//調用寫指令子程序
	rcall _Write_LCD_Com
	.dbline 131
; 	Delay(5);//39uS
	ldi R16,5
	ldi R17,0
	rcall _Delay
	.dbline 133
;  
; 	LCD_COM =0x0C;//顯示打開,光標關,反白不顯示
	ldi R24,12
	sts _LCD_COM,R24
	.dbline 134
; 	Write_LCD_Com();//調用寫指令子程序
	rcall _Write_LCD_Com
	.dbline 135
; 	Delay(5);//39uS
	ldi R16,5
	ldi R17,0
	rcall _Delay
	.dbline 137
; 
; 	LCD_COM =0x01;//清除屏幕顯示,將DDRAM的地址計數器歸零
	ldi R24,1
	sts _LCD_COM,R24
	.dbline 138
; 	Write_LCD_Com();//調用寫指令子程序
	rcall _Write_LCD_Com
	.dbline 139
; 	Delay(5);//39uS
	ldi R16,5
	ldi R17,0
	rcall _Delay

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品不卡在线观看| 国产精品中文字幕日韩精品| 日韩美女在线视频| 国产一区二区影院| 国产精品全国免费观看高清| 一本大道av伊人久久综合| 亚洲成人av电影在线| 日韩午夜中文字幕| 成人听书哪个软件好| 一区二区三区成人在线视频| 日韩一区二区三区视频| 国产精品影视在线观看| 亚洲图片激情小说| 欧美日韩高清在线| 国内外成人在线视频| 成人欧美一区二区三区黑人麻豆| 欧美中文字幕不卡| 久久99国内精品| 中文字幕一区二区三区精华液 | 欧美在线高清视频| 秋霞午夜鲁丝一区二区老狼| 国产日韩欧美精品综合| 色综合av在线| 久久99国产精品麻豆| 国产精品美女久久久久高潮| 欧美日韩小视频| 国产精品88av| 亚洲午夜在线视频| 久久久综合九色合综国产精品| 91麻豆免费视频| 蜜桃久久久久久久| 18欧美乱大交hd1984| 正在播放一区二区| 99热这里都是精品| 久久不见久久见中文字幕免费| 一色屋精品亚洲香蕉网站| 欧美精品一二三四| a美女胸又www黄视频久久| 免费欧美高清视频| 亚洲乱码国产乱码精品精的特点 | 欧美顶级少妇做爰| 成人精品视频网站| 美女任你摸久久| 亚洲激情av在线| 久久久精品黄色| 欧美精选一区二区| 成人精品电影在线观看| 日韩成人午夜电影| 亚洲人成小说网站色在线| 精品日韩在线观看| 欧美日韩一卡二卡| 白白色 亚洲乱淫| 激情六月婷婷久久| 亚洲成人黄色影院| 日韩一区欧美一区| 亚洲精品一区二区三区在线观看| 欧美三级在线视频| 国产成人av电影在线| 日本不卡一区二区三区高清视频| 亚洲三级电影网站| 国产日产欧美一区| 日韩午夜av一区| 欧美写真视频网站| 99国产精品视频免费观看| 国产综合一区二区| 蜜臀久久久久久久| 亚洲影院在线观看| 亚洲少妇屁股交4| 欧美国产一区二区| 久久久不卡影院| 精品日韩av一区二区| 欧洲一区二区三区在线| 日韩高清不卡一区二区三区| 亚洲乱码精品一二三四区日韩在线| 国产亚洲精品资源在线26u| 欧美一区二区三区系列电影| 日本高清不卡在线观看| 成人福利视频在线| 国产福利一区在线| 国产在线视频精品一区| 麻豆精品一区二区综合av| 午夜视频一区二区| 亚洲在线观看免费视频| 亚洲精品你懂的| 亚洲婷婷综合久久一本伊一区| 国产拍欧美日韩视频二区| 精品国产91乱码一区二区三区 | 中文一区在线播放| 国产日产欧美一区二区视频| 精品国产区一区| 欧美一区二区视频观看视频| 欧美酷刑日本凌虐凌虐| 欧美日韩国产综合一区二区三区| 欧美性受xxxx黑人xyx性爽| 色88888久久久久久影院按摩| av电影天堂一区二区在线观看| 国产v综合v亚洲欧| 粗大黑人巨茎大战欧美成人| 粉嫩久久99精品久久久久久夜| 国产999精品久久久久久| 国产精品自拍一区| 国产成人午夜视频| 国产成人午夜精品5599| 懂色av一区二区三区免费观看| 东方欧美亚洲色图在线| 国产成人精品一区二区三区四区| 国产福利一区二区三区| 成人综合在线视频| 成人av在线网| 99久久精品国产麻豆演员表| 99精品国产视频| 色婷婷综合久久久中文字幕| 91成人网在线| 欧美视频在线一区| 欧美一区二区三区思思人| 日韩欧美色综合网站| 精品久久久久久无| 国产日韩欧美一区二区三区综合| 中文字幕成人网| 亚洲精品国产品国语在线app| 亚洲国产中文字幕| 蜜臀久久99精品久久久久久9| 极品美女销魂一区二区三区免费 | 99视频热这里只有精品免费| 色天使色偷偷av一区二区| 欧美午夜片在线看| 欧美一区二区在线观看| 久久综合久久综合久久| 国产精品色眯眯| 一片黄亚洲嫩模| 日本不卡一二三区黄网| 国产精品中文欧美| 91蜜桃婷婷狠狠久久综合9色| 欧美天天综合网| 日韩欧美一区二区在线视频| 久久久不卡影院| 亚洲狼人国产精品| 日本一不卡视频| 国产精品一区二区三区四区| 91在线视频免费观看| 欧美日韩一卡二卡三卡 | 天天影视涩香欲综合网| 狠狠色丁香婷综合久久| 99久免费精品视频在线观看 | 成人教育av在线| 欧美在线啊v一区| 欧美电影免费观看高清完整版在线 | 欧美无人高清视频在线观看| 日韩三级视频中文字幕| 国产精品福利一区二区三区| 午夜精品一区二区三区电影天堂| 国产一区二区在线影院| 91福利国产成人精品照片| 日韩欧美国产一区二区三区| 日韩一区有码在线| 美腿丝袜一区二区三区| 91在线国产观看| 欧美一区二区三区在线视频| 国产精品久线观看视频| 日本欧美在线观看| 成人黄色免费短视频| 欧美日韩国产精品成人| 欧美韩国日本一区| 日韩和欧美一区二区| 粉嫩蜜臀av国产精品网站| 欧美精品久久99| 国产精品美女久久久久aⅴ国产馆| 天堂蜜桃一区二区三区| 成人av一区二区三区| 制服.丝袜.亚洲.中文.综合| 国产精品国产三级国产| 久久精品久久精品| 欧美在线观看视频一区二区| 久久久电影一区二区三区| 丝袜美腿亚洲一区二区图片| 成年人国产精品| 欧美mv日韩mv亚洲| 亚洲国产另类av| 不卡的电视剧免费网站有什么| 日韩三区在线观看| 亚洲影视资源网| 北条麻妃国产九九精品视频| 精品久久五月天| 日韩精品成人一区二区在线| 97精品超碰一区二区三区| 26uuu另类欧美亚洲曰本| 亚洲国产精品久久不卡毛片 | 亚洲人午夜精品天堂一二香蕉| 国产在线国偷精品免费看| 欧美日韩视频在线观看一区二区三区| 国产精品沙发午睡系列990531| 另类中文字幕网| 欧美日韩成人在线| 亚洲免费在线视频一区 二区| 国产精华液一区二区三区| 日韩一区二区影院| 亚洲bt欧美bt精品| 一本到不卡精品视频在线观看| 中文子幕无线码一区tr| 国内精品伊人久久久久影院对白|