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

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

?? main.s

?? 51單片驅動18b20的源代碼程序!供設計者參考!
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module main.c
	.area text(rom, con, rel)
	.dbfile D:\DS18B20\main.c
	.dbfile D:\DS18B20\lcd.h
	.dbfunc e LCD_init _LCD_init fV
	.even
_LCD_init::
	.dbline -1
	.dbline 37
; /****************************端口宏定義**************************************/
; //LCD1602端口連接按照下面方式連接,RW接地.																		 
; #define LCD_EN_PORT   PORTA 
; #define LCD_EN_DDR    DDRA 
; #define LCD_EN        (1<<PA3)
; 
; #define LCD_RS_PORT   PORTA 
; #define LCD_RS_DDR    DDRA 
; #define LCD_RS        (1<<PA1)
; 
; #define LCD_RW_PORT   PORTA 
; #define LCD_RW_DDR    DDRA 
; #define LCD_RW        (1<<PA2)
; 
; #define LCD_DATA_PORT PORTA 
; #define LCD_DATA_DDR  DDRA 
; #define LCD_DATA_PIN  PINA 
; #define LCD_DATA ((1<<4)|(1<<5)|(1<<6)|(1<<7))
; /****************************函數申明****************************************/
; void LCD_init(void);
; void LCD_en_write(void);
; void LCD_WriteControl(unsigned char command);
; void LCD_WriteData(unsigned char data);
; void LCD_Clear(void);
; void LCD_Cursor (char row, char column);
; void LCD_DisplayCharacter (char Char);
; void LCD_DisplayString (char row, char column ,unsigned char *string);
; void LCD_DisplayInt (char row, char column ,unsigned int t);
; void LCD_Displayasc (char row, char column,  char asc);
; void LCD_DisplayLong(char row, char column ,unsigned long t);
; void delay_1us(void);
; void delay_nus(unsigned int n);
; void delay_1ms(void);
; void delay_nms(unsigned int n);
; /*******************************液晶初始化***********************************/
; void LCD_init(void) //液晶初始化 
; { 
	.dbline 38
;   LCD_DATA_DDR|=LCD_DATA; //數據口方向為輸出 
	in R24,0x1a
	ori R24,240
	out 0x1a,R24
	.dbline 39
;   LCD_EN_DDR|=LCD_EN; //設置EN方向為輸出 
	sbi 0x1a,3
	.dbline 40
;   LCD_RS_DDR|=LCD_RS; //設置RS方向為輸出 
	sbi 0x1a,1
	.dbline 41
;   LCD_RS_DDR|=LCD_RW; //
	sbi 0x1a,2
	.dbline 42
;   LCD_WriteControl(0x28); 
	ldi R16,40
	xcall _LCD_WriteControl
	.dbline 43
;   LCD_en_write(); 
	xcall _LCD_en_write
	.dbline 44
;   delay_nus(40); 
	ldi R16,40
	ldi R17,0
	xcall _delay_nus
	.dbline 45
;   LCD_WriteControl(0x28); //4位顯示 
	ldi R16,40
	xcall _LCD_WriteControl
	.dbline 46
;   LCD_WriteControl(0x0c); //顯示開 
	ldi R16,12
	xcall _LCD_WriteControl
	.dbline 47
;   LCD_WriteControl(0x01); //清屏 
	ldi R16,1
	xcall _LCD_WriteControl
	.dbline 48
;   delay_nms(2); 
	ldi R16,2
	ldi R17,0
	xcall _delay_nms
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD_en_write _LCD_en_write fV
	.even
_LCD_en_write::
	.dbline -1
	.dbline 52
; } 
; /*******************************液晶使能*************************************/
; void LCD_en_write(void) //液晶使能 
; { 
	.dbline 53
;   LCD_EN_PORT|=LCD_EN; 
	sbi 0x1b,3
	.dbline 54
;   delay_nus(1); 
	ldi R16,1
	ldi R17,0
	xcall _delay_nus
	.dbline 55
;   LCD_EN_PORT&=~LCD_EN; 
	cbi 0x1b,3
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD_WriteControl _LCD_WriteControl fV
;        command -> R20
	.even
_LCD_WriteControl::
	st -y,R20
	mov R20,R16
	.dbline -1
	.dbline 59
; } 
; /*******************************寫指令***************************************/
; void LCD_WriteControl(unsigned char command) //寫指令 
; { 
	.dbline 60
;   delay_nus(16); 
	ldi R16,16
	ldi R17,0
	xcall _delay_nus
	.dbline 61
;   LCD_RS_PORT&=~LCD_RS; //RS=0 
	cbi 0x1b,1
	.dbline 62
;   LCD_RW_PORT&=~LCD_RW; //
	cbi 0x1b,2
	.dbline 63
;   LCD_DATA_PORT&=0X0f; //清高四位 
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 64
;   LCD_DATA_PORT|=command&0xf0; //寫高四位 
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 65
;   LCD_en_write(); 
	xcall _LCD_en_write
	.dbline 66
;   command=command<<4; //低四位移到高四位 
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 67
;   LCD_DATA_PORT&=0x0f; //清高四位 
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 68
;   LCD_DATA_PORT|=command&0xf0; //寫低四位 
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 69
;   LCD_en_write(); 
	xcall _LCD_en_write
	.dbline -2
L3:
	.dbline 0 ; func end
	ld R20,y+
	ret
	.dbsym r command 20 c
	.dbend
	.dbfunc e LCD_WriteData _LCD_WriteData fV
;           data -> R20
	.even
_LCD_WriteData::
	st -y,R20
	mov R20,R16
	.dbline -1
	.dbline 73
; } 
; /*******************************寫數據***************************************/
; void LCD_WriteData(unsigned char data) //寫數據 
; { 
	.dbline 74
;   delay_nus(16); 
	ldi R16,16
	ldi R17,0
	xcall _delay_nus
	.dbline 75
;   LCD_RS_PORT|=LCD_RS; //RS=1 
	sbi 0x1b,1
	.dbline 76
;   LCD_RW_PORT&=~LCD_RW; //
	cbi 0x1b,2
	.dbline 77
;   LCD_DATA_PORT&=0X0f; //清高四位 
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 78
;   LCD_DATA_PORT|=data&0xf0; //寫高四位 
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 79
;   LCD_en_write(); 
	xcall _LCD_en_write
	.dbline 80
;   data=data<<4; //低四位移到高四位 
	mov R24,R20
	andi R24,#0x0F
	swap R24
	mov R20,R24
	.dbline 81
;   LCD_DATA_PORT&=0X0f; //清高四位 
	in R24,0x1b
	andi R24,15
	out 0x1b,R24
	.dbline 82
;   LCD_DATA_PORT|=data&0xf0; //寫低四位 
	mov R24,R20
	andi R24,240
	in R2,0x1b
	or R2,R24
	out 0x1b,R2
	.dbline 83
;   LCD_en_write(); 
	xcall _LCD_en_write
	.dbline -2
L4:
	.dbline 0 ; func end
	ld R20,y+
	ret
	.dbsym r data 20 c
	.dbend
	.dbfunc e LCD_Clear _LCD_Clear fV
	.even
_LCD_Clear::
	.dbline -1
	.dbline 88
; }
; 
; /*******************************清屏*****************************************/
; void LCD_Clear(void)
; {
	.dbline 89
; LCD_WriteControl(0x01);
	ldi R16,1
	xcall _LCD_WriteControl
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e LCD_Cursor _LCD_Cursor fV
;         column -> R20
;            row -> R10
	.even
_LCD_Cursor::
	xcall push_xgsetF00C
	mov R20,R18
	mov R10,R16
	.dbline -1
	.dbline 93
; }
; 
; void LCD_Cursor (char row, char column)
; {
	.dbline 94
;   switch (row)
	mov R22,R10
	clr R23
	cpi R22,1
	ldi R30,0
	cpc R23,R30
	breq L10
X0:
	cpi R22,2
	ldi R30,0
	cpc R23,R30
	breq L11
X1:
	xjmp L8
L10:
	.dbline 96
;    {
;     case 1: LCD_WriteControl (0x80 + column - 1); break;
	mov R16,R20
	subi R16,128    ; addi 128
	subi R16,1
	xcall _LCD_WriteControl
	.dbline 96
	xjmp L8
L11:
	.dbline 97
;     case 2: LCD_WriteControl (0xc0 + column - 1); break;
	mov R16,R20
	subi R16,64    ; addi 192
	subi R16,1
	xcall _LCD_WriteControl
	.dbline 97
	.dbline 98
;     default: break;
L8:
	.dbline -2
L6:
	.dbline 0 ; func end
	xjmp pop_xgsetF00C
	.dbsym r column 20 c
	.dbsym r row 10 c
	.dbend
	.dbfunc e LCD_DisplayCharacter _LCD_DisplayCharacter fV
;           Char -> R10
	.even
_LCD_DisplayCharacter::
	st -y,R10
	mov R10,R16
	.dbline -1
	.dbline 103
;    }
; }
; 
; void LCD_DisplayCharacter (char Char)
; {
	.dbline 104
;   LCD_WriteData (Char);
	mov R16,R10
	xcall _LCD_WriteData
	.dbline -2
L12:
	.dbline 0 ; func end
	ld R10,y+
	ret
	.dbsym r Char 10 c
	.dbend
	.dbfunc e LCD_DisplayString _LCD_DisplayString fV
;         string -> R10,R11
;         column -> R14
;            row -> R12
	.even
_LCD_DisplayString::
	xcall push_xgset00FC
	mov R14,R18
	mov R12,R16
	ldd R10,y+6
	ldd R11,y+7
	.dbline -1
	.dbline 108
; }
; 
; void LCD_DisplayString (char row, char column ,unsigned char *string)
; {
	.dbline 109
;  LCD_Cursor (row, column);
	mov R18,R14
	mov R16,R12
	xcall _LCD_Cursor
	xjmp L15
L14:
	.dbline 111
;  while (*string)
;   LCD_DisplayCharacter (*string++);
	movw R30,R10
	ld R16,Z+
	movw R10,R30
	xcall _LCD_DisplayCharacter
L15:
	.dbline 110
	movw R30,R10
	ldd R2,z+0
	tst R2
	brne L14
X2:
	.dbline -2
L13:
	.dbline 0 ; func end
	xjmp pop_xgset00FC
	.dbsym r string 10 pc
	.dbsym r column 14 c
	.dbsym r row 12 c
	.dbend
	.dbfunc e LCD_DisplayInt _LCD_DisplayInt fV
;              n -> R14
;              j -> R14
;            str -> R20,R21
;              a -> y+2
;              i -> R22
;              t -> R14,R15
;         column -> R12
;            row -> R10
	.even
_LCD_DisplayInt::
	xcall push_xgsetF0FC
	mov R12,R18
	mov R10,R16
	sbiw R28,7
	ldd R14,y+17
	ldd R15,y+18
	.dbline -1
	.dbline 116
; }
; 
; unsigned char ch1[6];                      //用于存放INT轉換成字符串后的數據
; void  LCD_DisplayInt (char row, char column ,unsigned int t)
; { 
	.dbline 119
;   unsigned char n;
;   unsigned char a[5]; char i, j;   
;   unsigned char *str=ch1;                             
	ldi R20,<_ch1
	ldi R21,>_ch1
	.dbline 120
;   a[0]=(t/10000)%10;         //取得整數值到數組          
	ldi R18,10000
	ldi R19,39
	movw R16,R14
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+2,R16
	.dbline 121
;   a[1]=(t/1000)%10;                                      
	ldi R18,1000
	ldi R19,3
	movw R16,R14
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+3,R16
	.dbline 122
;   a[2]=(t/100)%10;                                       
	ldi R18,100
	ldi R19,0
	movw R16,R14
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+4,R16
	.dbline 123
;   a[3]=(t/10)%10;                                        
	ldi R18,10
	ldi R19,0
	movw R16,R14
	xcall div16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	std y+5,R16
	.dbline 124
;   a[4]=(t/1)%10;                                         
	ldi R18,10
	ldi R19,0
	movw R16,R14
	xcall mod16u
	std y+6,R16
	.dbline 126
;                                                       
;   for(i=0; i<5; i++)         //轉成ASCII碼               
	clr R22
	xjmp L25
L22:
	.dbline 127
;     a[i]=a[i]+'0';                                     
	movw R24,R28
	adiw R24,2
	mov R2,R22
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R24,z+0
	subi R24,208    ; addi 48
	std z+0,R24
L23:
	.dbline 126
	inc R22
L25:
	.dbline 126
	cpi R22,5
	brlo L22
X3:
	.dbline 128
;   for(i=0; a[i]=='0' && i<=3; i++);   
	clr R22
	xjmp L29
L26:
	.dbline 128
L27:
	.dbline 128
	inc R22
L29:
	.dbline 128
	movw R24,R28
	adiw R24,2
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	cpi R24,48
	brne L30
X4:
	ldi R24,3
	cp R24,R22
	brsh L26
X5:
L30:
	.dbline 129
;     n=5-i;                   
	ldi R24,5
	mov R14,R24
	sub R14,R22
	.dbline 130
;   for(j=5-n; j<i; j++)       //填充空格                  
	sub R24,R14
	mov R14,R24
	xjmp L34
L31:
	.dbline 131
;     { *str=' ';  str++; }                              
	.dbline 131
	ldi R24,32
	movw R30,R20
	std z+0,R24
	.dbline 131
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 131
L32:
	.dbline 130
	inc R14
L34:
	.dbline 130
	cp R14,R22
	brlo L31
X6:
	.dbline 132
;   for(; i<5; i++)                                        
	xjmp L38
L35:
	.dbline 133
;     { *str=(char)a[i]; str++; }  //加入有效的數字            
	.dbline 133
	movw R24,R28
	adiw R24,2
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R30,R20
	std z+0,R2
	.dbline 133
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 133
L36:
	.dbline 132
	inc R22
L38:
	.dbline 132
	cpi R22,5
	brlo L35
X7:
	.dbline 134
;   *str='\0'; 
	clr R2
	movw R30,R20
	std z+0,R2
	.dbline 135
;   LCD_DisplayString(row,column,ch1);
	ldi R24,<_ch1
	ldi R25,>_ch1
	std y+1,R25
	std y+0,R24
	mov R18,R12
	mov R16,R10
	xcall _LCD_DisplayString
	.dbline -2
L17:
	.dbline 0 ; func end
	adiw R28,7
	xjmp pop_xgsetF0FC
	.dbsym r n 14 c
	.dbsym r j 14 c
	.dbsym r str 20 pc
	.dbsym l a 2 A[5:5]c
	.dbsym r i 22 c
	.dbsym r t 14 i
	.dbsym r column 12 c
	.dbsym r row 10 c
	.dbend
	.dbfunc e LCD_Displayasc _LCD_Displayasc fV
;           temp -> R20
;          ascii -> y+2
;            asc -> y+10
;         column -> R12
;            row -> R10
	.even
_LCD_Displayasc::
	xcall push_xgset303C
	mov R12,R18
	mov R10,R16
	sbiw R28,4
	.dbline -1
	.dbline 139
; }
; 
; void LCD_Displayasc (char row, char column,  char asc)
; { 
	.dbline 141
;   unsigned char ascii[2],temp;
;   temp=asc;
	ldd R20,y+10
	.dbline 142
;   ascii[0]=temp+'0';
	mov R24,R20
	subi R24,208    ; addi 48
	std y+2,R24
	.dbline 143
;   ascii[1]='\0';
	clr R2
	std y+3,R2
	.dbline 144
;   LCD_DisplayString(row,column,ascii);
	movw R24,R28
	adiw R24,2
	std y+1,R25
	std y+0,R24
	mov R18,R12
	mov R16,R10
	xcall _LCD_DisplayString
	.dbline -2
L39:
	.dbline 0 ; func end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产自产在线观看一区| 欧美色图天堂网| 一区二区在线观看视频在线观看| 欧美性做爰猛烈叫床潮| 国产1区2区3区精品美女| 婷婷夜色潮精品综合在线| 国产精品视频九色porn| 日韩视频在线永久播放| 91极品美女在线| 国产999精品久久久久久| 日韩电影免费一区| 亚洲激情中文1区| 国产精品久久二区二区| 日韩欧美久久一区| 欧美三电影在线| 9l国产精品久久久久麻豆| 韩日欧美一区二区三区| 亚洲成人久久影院| ...xxx性欧美| 久久伊99综合婷婷久久伊| 欧美精品粉嫩高潮一区二区| 91网址在线看| 成人午夜免费电影| 国产精品综合一区二区三区| 看电视剧不卡顿的网站| 亚洲国产你懂的| 亚洲综合一区二区| 亚洲免费伊人电影| 中文字幕在线播放不卡一区| 国产清纯在线一区二区www| 日韩午夜精品电影| 日韩视频在线你懂得| 91精品久久久久久久99蜜桃 | 日韩avvvv在线播放| 图片区日韩欧美亚洲| 亚洲免费在线电影| 亚洲三级在线看| 国产精品美女久久久久久| 欧美经典三级视频一区二区三区| 久久精品视频在线看| 日本不卡一二三区黄网| 久久久91精品国产一区二区精品| 综合久久给合久久狠狠狠97色| 国产欧美日韩亚州综合| 91在线观看高清| av成人免费在线| 99久久免费视频.com| 国产乱码一区二区三区| 国产人久久人人人人爽| 欧美大度的电影原声| 91小视频在线免费看| 成人aa视频在线观看| 国产不卡视频在线观看| 国产精品一二三四| 久久99精品国产.久久久久| 麻豆精品久久精品色综合| 日韩精品欧美精品| 久久超级碰视频| 日韩中文字幕区一区有砖一区| 日韩1区2区3区| 久久99精品国产.久久久久久| 国产精品一区二区91| 风间由美中文字幕在线看视频国产欧美 | 综合激情网...| 亚洲乱码中文字幕综合| 亚洲欧美偷拍卡通变态| 一区二区三区自拍| 日日摸夜夜添夜夜添精品视频| 麻豆91免费观看| 成人福利视频网站| 欧美亚洲国产一区二区三区 | 欧美一区二区三区爱爱| 精品国产免费一区二区三区四区| 日本一区二区久久| 亚洲综合清纯丝袜自拍| 久久激情综合网| av电影一区二区| 91麻豆精品91久久久久久清纯| 精品国产1区二区| 亚洲欧美另类在线| 麻豆精品久久精品色综合| 丰满亚洲少妇av| 欧美日韩的一区二区| 国产欧美日韩精品一区| 天天操天天色综合| 国产成人欧美日韩在线电影| 在线精品亚洲一区二区不卡| 精品久久一二三区| 亚洲女与黑人做爰| 国产一区三区三区| 欧美日韩一区精品| 国产欧美日韩久久| 视频在线观看91| 成人h动漫精品一区二区| 在线播放91灌醉迷j高跟美女 | 欧美一区二区网站| 国产精品三级久久久久三级| 午夜欧美电影在线观看| 99热99精品| 337p日本欧洲亚洲大胆色噜噜| 亚洲欧洲中文日韩久久av乱码| 蜜臀av性久久久久蜜臀aⅴ流畅| 91一区在线观看| 久久综合色播五月| 日本伊人午夜精品| 91福利精品视频| 中日韩av电影| 国产一区二区在线看| 666欧美在线视频| 亚洲免费av高清| 成人免费毛片高清视频| 日韩美女视频一区二区在线观看| 亚洲线精品一区二区三区八戒| youjizz久久| 国产欧美日韩另类一区| 国产一区二区三区综合| 日韩一区二区三区视频| 亚洲视频 欧洲视频| 懂色av噜噜一区二区三区av| 日韩免费视频一区| 五月婷婷欧美视频| 欧美综合亚洲图片综合区| 国产欧美综合色| 午夜日韩在线电影| 欧美老肥妇做.爰bbww| 亚洲乱码国产乱码精品精小说 | 不卡视频在线看| 中文字幕乱码久久午夜不卡| 国产黄色精品视频| 26uuu亚洲综合色欧美| 久久国产精品99久久久久久老狼| 欧美精品日韩精品| 日日摸夜夜添夜夜添国产精品| 欧美性猛交xxxx乱大交退制版| 亚洲夂夂婷婷色拍ww47| 欧美在线观看视频一区二区三区| 亚洲日韩欧美一区二区在线| 99综合影院在线| 日韩美女久久久| 色香蕉成人二区免费| 一区二区三区欧美亚洲| 在线免费观看日韩欧美| 亚洲一区国产视频| 欧美喷潮久久久xxxxx| 手机精品视频在线观看| 欧美成人国产一区二区| 激情综合网最新| 中文字幕+乱码+中文字幕一区| 国产精品99久久不卡二区| 久久人人爽人人爽| 成人免费va视频| 亚洲人午夜精品天堂一二香蕉| 91免费国产视频网站| 亚洲自拍与偷拍| 日韩丝袜情趣美女图片| 国产精品亚洲成人| 国产精品久久久久久久久久免费看| av中文字幕不卡| 一区二区三区精品久久久| 欧美天堂一区二区三区| 日本欧美大码aⅴ在线播放| 欧美www视频| 北条麻妃一区二区三区| 亚洲国产一区二区在线播放| 日韩一区二区在线观看| 国产经典欧美精品| 亚洲男人电影天堂| 91精品国产色综合久久不卡电影| 国内久久婷婷综合| ...xxx性欧美| 91精品在线麻豆| 成人午夜视频免费看| 亚洲一区二区三区影院| 精品日韩在线观看| 99麻豆久久久国产精品免费| 亚洲成人综合在线| 久久免费电影网| 欧美影院午夜播放| 国产福利一区在线观看| 亚洲靠逼com| 亚洲精品一区二区三区精华液| 99久久久久久| 日本aⅴ亚洲精品中文乱码| 国产欧美日韩三区| 欧美久久久一区| 不卡大黄网站免费看| 美国毛片一区二区三区| 亚洲精品免费看| 久久综合九色欧美综合狠狠| 91豆麻精品91久久久久久| 精品一区二区久久| 一区二区久久久| 国产日韩精品一区| 欧美一区二区免费观在线| 99久久婷婷国产综合精品电影 | 欧美日韩国产一区二区三区地区| 国产在线视视频有精品| 亚洲国产成人91porn| 欧美韩国日本不卡| 欧美一区午夜视频在线观看|