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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dm12864m串行.s

?? EEPROM讀寫程序: 先向EEPROM寫入一幅圖片數(shù)據(jù)
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module dm12864m串行.c
	.area text(rom, con, rel)
	.dbfile E:\學(xué)習(xí)專區(qū)\AVR專區(qū)\個人創(chuàng)作區(qū)\AVR單片機(jī)開發(fā)平臺\EEPROM讀寫演示程序\dm12864m串行.c
	.dbfunc e dm12864_inputbyte _dm12864_inputbyte fV
;            mid -> R20
;              i -> R22
;           comm -> R16
	.even
_dm12864_inputbyte::
	xcall push_gset2
	.dbline -1
	.dbline 33
; /****************************************************************************************
;            LCM(DM12864M-帶字庫,ST7920控制芯片)顯示程序   
; 		                                                
;              程序功能:該程序是用AVR來控制對DM12864M
; 			           讀寫信號等的操作.
;              硬件連接:采用串行方式顯示,分配PA.0,PA.1,PA.2
; 			           三個I/O口分別作為LCM片選CS,數(shù)據(jù)SID,時鐘信
; 					   號CLK的控制。PA3置為低電平,用來串行選擇信號。
; 		                PA4置位時開啟背光。                                           
;  
; ****************************************************************************************/
; 
; #include <iom16v.h>
; #include <macros.h>
; #include <stdio.h>  
; #define LCDDDR        DDRA
; #define LCDDDR_IN     LCDDDR&=~BIT(PA1);
; #define LCDDDR_OUT    LCDDDR|=BIT(PA0)|BIT(PA1)|BIT(PA2)|BIT(PA3)|BIT(PA4);
; /*===============================================================*/
; #define LCDCTL      PORTA   
; #define LCD_RS_H    LCDCTL |= BIT(PA0)  //片選               
; #define LCD_RS_L    LCDCTL &= ~BIT(PA0)                                           
; #define LCD_RW_H    LCDCTL |= BIT(PA1)  //數(shù)據(jù)                            
; #define LCD_RW_L    LCDCTL &= ~BIT(PA1)  
; #define LCD_EN_H    LCDCTL |= BIT(PA2)  //時鐘                          
; #define LCD_EN_L    LCDCTL &= ~BIT(PA2) 
; #define LCD_PSB     LCDCTL &= ~BIT(PA3) //串行選擇
; #define LCD_AK      LCDCTL |= BIT(PA4)  //開啟背光
; #define  uchar unsigned char
; /***********************函數(shù)體部分*********************************/
; 
; void dm12864_inputbyte(uchar comm)  // 寫入一字節(jié)數(shù)據(jù)
; {
	.dbline 36
;  	 uchar i;
; 	 uchar mid;
; 	 for (i=0;i<8;i++)
	clr R22
	xjmp L5
L2:
	.dbline 37
; 	 {
	.dbline 38
; 	  	 mid=comm&0x80;
	mov R20,R16
	andi R20,128
	.dbline 39
; 		 if (mid==0)
	brne L6
	.dbline 40
; 		 LCD_RW_L ;
	cbi 0x1b,1
	xjmp L7
L6:
	.dbline 42
; 		 else
; 		 LCD_RW_H ;
	sbi 0x1b,1
L7:
	.dbline 43
	sbi 0x1b,2
	.dbline 45
	cbi 0x1b,2
	.dbline 46
	lsl R16
	.dbline 47
L3:
	.dbline 36
	inc R22
L5:
	.dbline 36
	cpi R22,8
	brlo L2
	.dbline -2
L1:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r mid 20 c
	.dbsym r i 22 c
	.dbsym r comm 16 c
	.dbend
	.dbfunc e dm12864_outputbyte _dm12864_outputbyte fc
;              i -> R16
;            mid -> R18
	.even
_dm12864_outputbyte::
	.dbline -1
	.dbline 50
; 		 LCD_EN_H ;
; 		 //delay(15);
; 		 LCD_EN_L; 
; 		 comm=comm<<1;
; 	  }
; }
; uchar dm12864_outputbyte(void)  //讀取一字節(jié)數(shù)據(jù)
; {
	.dbline 51
;  	  uchar i,mid=0;
	clr R18
	.dbline 52
; 	  for (i=0;i<8;i++)
	clr R16
	xjmp L12
L9:
	.dbline 53
; 	  {
	.dbline 55
; 	   	  //delay(15);
;  		  LCDDDR_IN;
	cbi 0x1a,1
	.dbline 55
	.dbline 56
; 		  LCD_RS_H ;
	sbi 0x1b,0
	.dbline 57
; 		  mid=mid<<1;
	lsl R18
	.dbline 58
; 		  if ((PINA&0x02)==0)
	sbic 0x19,1
	rjmp L13
	.dbline 59
; 		  mid&=~BIT(PD0);
	andi R18,254
	xjmp L14
L13:
	.dbline 61
; 		  else
; 		  mid|=BIT(PD0);
	ori R18,1
L14:
	.dbline 62
	in R24,0x1a
	ori R24,31
	out 0x1a,R24
	.dbline 62
	.dbline 63
	sbi 0x1b,2
	.dbline 65
	cbi 0x1b,2
	.dbline 66
L10:
	.dbline 52
	inc R16
L12:
	.dbline 52
	cpi R16,8
	brlo L9
	.dbline 67
;  		  LCDDDR_OUT;
; 		  LCD_EN_H ;
; 		  //delay(15);
; 		  LCD_EN_L; 
; 	 }
; 	 return(mid);
	mov R16,R18
	.dbline -2
L8:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbsym r mid 18 c
	.dbend
	.dbfunc e DetectLCMBusyState _DetectLCMBusyState fV
;             BF -> R20
	.even
_DetectLCMBusyState::
	xcall push_gset1
	.dbline -1
	.dbline 72
; }
; 
; /*-----------------讀取標(biāo)志位,判斷控制器是否為忙狀態(tài)--------------*/
; void DetectLCMBusyState()
; {
	.dbline 73
;   	 char BF = 0x00;
	clr R20
	.dbline 74
;   	 LCDDDR_OUT;
	in R24,0x1a
	ori R24,31
	out 0x1a,R24
	.dbline 74
	.dbline 75
; 	 LCD_RS_H ;
	sbi 0x1b,0
	.dbline 76
; 	 LCD_EN_L ;
	cbi 0x1b,2
L16:
	.dbline 78
; 	 do
;     {
	.dbline 79
; 	   dm12864_inputbyte(0xfc);
	ldi R16,252
	xcall _dm12864_inputbyte
	.dbline 80
; 	   BF=dm12864_outputbyte();
	xcall _dm12864_outputbyte
	mov R20,R16
	.dbline 81
L17:
	.dbline 81
;     } while(BF==0x80);
	cpi R20,128
	breq L16
	.dbline 82
; 	LCD_RS_L ;
	cbi 0x1b,0
	.dbline 83
; 	LCD_EN_H ;
	sbi 0x1b,2
	.dbline -2
L15:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r BF 20 c
	.dbend
	.dbfunc e LCMWriteCommand _LCMWriteCommand fV
;              b -> R20
;              a -> R22
;     DisplayCmd -> R20
	.even
_LCMWriteCommand::
	xcall push_gset2
	mov R20,R16
	.dbline -1
	.dbline 89
; 	//delay(15);
; }
; 
; /*----------------------------寫入命令-----------------------------*/
; void LCMWriteCommand(char DisplayCmd)
; {
	.dbline 91
;  	 uchar a,b;
; 	 a=DisplayCmd&0xf0;
	mov R22,R20
	andi R22,240
	.dbline 92
; 	 b=(DisplayCmd<<4)&0xf0;
	mov R24,R20
	andi R24,#0x0F
	swap R24
	andi R24,240
	mov R20,R24
	.dbline 93
;  	 LCDDDR_OUT;
	in R24,0x1a
	ori R24,31
	out 0x1a,R24
	.dbline 93
	.dbline 94
; 	 LCD_RS_H ;
	sbi 0x1b,0
	.dbline 95
; 	 LCD_EN_L ;
	cbi 0x1b,2
	.dbline 96
; 	 dm12864_inputbyte(0xf8);
	ldi R16,248
	xcall _dm12864_inputbyte
	.dbline 97
; 	 dm12864_inputbyte(a);
	mov R16,R22
	xcall _dm12864_inputbyte
	.dbline 98
; 	 dm12864_inputbyte(b);
	mov R16,R20
	xcall _dm12864_inputbyte
	.dbline 99
; 	 LCD_EN_H ;
	sbi 0x1b,2
	.dbline 100
; 	 LCD_RS_L ;
	cbi 0x1b,0
	.dbline -2
L19:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r b 20 c
	.dbsym r a 22 c
	.dbsym r DisplayCmd 20 c
	.dbend
	.dbfunc e LCMWriteData _LCMWriteData fV
;              b -> R20
;              a -> R22
;    DisplayData -> R20
	.even
_LCMWriteData::
	xcall push_gset2
	mov R20,R16
	.dbline -1
	.dbline 106
; 	 //delay(15);
; }
; 
; /*-----------------------寫入一字節(jié)數(shù)據(jù)--------------------------*/
; void LCMWriteData(char DisplayData)
; {
	.dbline 108
;  	 uchar a,b;
; 	 a=DisplayData&0xf0;
	mov R22,R20
	andi R22,240
	.dbline 109
; 	 b=(DisplayData<<4)&0xf0;
	mov R24,R20
	andi R24,#0x0F
	swap R24
	andi R24,240
	mov R20,R24
	.dbline 110
;  	 LCDDDR_OUT;
	in R24,0x1a
	ori R24,31
	out 0x1a,R24
	.dbline 110
	.dbline 111
; 	 LCD_RS_H ;
	sbi 0x1b,0
	.dbline 112
; 	 LCD_EN_L ;
	cbi 0x1b,2
	.dbline 113
; 	 dm12864_inputbyte(0xfa);
	ldi R16,250
	xcall _dm12864_inputbyte
	.dbline 114
; 	 dm12864_inputbyte(a);
	mov R16,R22
	xcall _dm12864_inputbyte
	.dbline 115
; 	 dm12864_inputbyte(b);
	mov R16,R20
	xcall _dm12864_inputbyte
	.dbline 116
; 	 LCD_EN_H ;
	sbi 0x1b,2
	.dbline 117
; 	 LCD_RS_L ;
	cbi 0x1b,0
	.dbline -2
L20:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r b 20 c
	.dbsym r a 22 c
	.dbsym r DisplayData 20 c
	.dbend
	.dbfunc e LCMSetXYAddress _LCMSetXYAddress fV
;     DisplayRow -> R22
;     DisplayCol -> R20
	.even
_LCMSetXYAddress::
	xcall push_gset2
	mov R22,R18
	mov R20,R16
	.dbline -1
	.dbline 123
; 	 //delay(15);
; }
; 
; /*------------設(shè)置顯示位置DisplayCol(1~8),DisplayRow(1~4)---------*/
; void LCMSetXYAddress(char DisplayCol,char DisplayRow)
; {
	.dbline 124
;     switch(DisplayRow)
	clr R23
	cpi R22,1
	ldi R30,0
	cpc R23,R30
	breq L25
	cpi R22,2
	ldi R30,0
	cpc R23,R30
	breq L26
	cpi R22,3
	ldi R30,0
	cpc R23,R30
	breq L27
	cpi R22,4
	ldi R30,0
	cpc R23,R30
	breq L28
	xjmp L22
X0:
	.dbline 125
;     {
L25:
	.dbline 126
;         case 1:LCMWriteCommand(0x7f + DisplayCol);
	mov R16,R20
	subi R16,129    ; addi 127
	xcall _LCMWriteCommand
	.dbline 127
;         break;
	xjmp L23
L26:
	.dbline 128
;         case 2:LCMWriteCommand(0x8f + DisplayCol);
	mov R16,R20
	subi R16,113    ; addi 143
	xcall _LCMWriteCommand
	.dbline 129
;         break;
	xjmp L23
L27:
	.dbline 130
;         case 3:LCMWriteCommand(0x87 + DisplayCol);
	mov R16,R20
	subi R16,121    ; addi 135
	xcall _LCMWriteCommand
	.dbline 131
;         break;
	xjmp L23
L28:
	.dbline 132
;         case 4:LCMWriteCommand(0x97 + DisplayCol);
	mov R16,R20
	subi R16,105    ; addi 151
	xcall _LCMWriteCommand
	.dbline 133
; 	    break;
L22:
L23:
	.dbline -2
L21:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r DisplayRow 22 c
	.dbsym r DisplayCol 20 c
	.dbend
	.dbfunc e LCMDisplayASC _LCMDisplayASC fV
;   ASCCharacter -> y+4
;     DisplayRow -> R22
;     DisplayCol -> R20
	.even
_LCMDisplayASC::

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆免费精品视频| 久久免费精品国产久精品久久久久| 一区二区三区波多野结衣在线观看| 色狠狠av一区二区三区| 蜜桃免费网站一区二区三区| 欧美性xxxxx极品少妇| 51精品视频一区二区三区| 国产欧美精品一区二区色综合朱莉 | 欧美视频第二页| 综合久久给合久久狠狠狠97色| 国产成人午夜视频| 国产精品久久久久久亚洲伦 | 欧美私人免费视频| 爽爽淫人综合网网站| 日韩一级视频免费观看在线| 国产曰批免费观看久久久| 亚洲精品一区二区三区福利| 国产成人免费av在线| 国产精品久久久久婷婷二区次| 91伊人久久大香线蕉| 亚洲成av人片观看| 久久久久久99久久久精品网站| 成人午夜激情视频| 日韩电影在线一区二区三区| 国产精品网曝门| 老司机午夜精品| 床上的激情91.| 91麻豆精品国产| 亚洲18女电影在线观看| 国产91高潮流白浆在线麻豆| 在线看国产日韩| 丝袜诱惑制服诱惑色一区在线观看| 欧美自拍偷拍午夜视频| 精品一区二区三区不卡| 日韩毛片视频在线看| 日韩三级免费观看| av影院午夜一区| 国产在线精品一区二区三区不卡 | 99热精品一区二区| 精品制服美女丁香| 亚洲成av人片一区二区梦乃| 国产亚洲一本大道中文在线| 欧美性生交片4| 99riav久久精品riav| 国产精品亚洲成人| 韩国av一区二区三区四区| 亚洲国产成人精品视频| 亚洲精品成人天堂一二三| 久久精品欧美日韩精品| 日韩欧美一级特黄在线播放| 在线观看中文字幕不卡| 日本精品裸体写真集在线观看| 国产精品一区二区在线观看不卡| 麻豆高清免费国产一区| 欧美aaa在线| 麻豆91在线播放免费| 裸体健美xxxx欧美裸体表演| 日日摸夜夜添夜夜添精品视频 | 色综合久久中文字幕综合网| 成人免费的视频| a在线欧美一区| 91啦中文在线观看| 欧美日韩一区二区三区四区五区| 色欧美乱欧美15图片| 欧美日韩精品电影| 欧美久久一区二区| 日韩亚洲欧美高清| 国产精品女上位| 亚洲激情校园春色| 日本欧美一区二区在线观看| 韩国女主播成人在线| 成人久久视频在线观看| 欧美婷婷六月丁香综合色| 88在线观看91蜜桃国自产| 日韩午夜在线观看视频| 欧美—级在线免费片| 亚洲一区日韩精品中文字幕| 日韩高清在线一区| www.性欧美| 日韩午夜激情视频| 亚洲欧美国产三级| 国产一区二区久久| 欧美疯狂做受xxxx富婆| 国产欧美日产一区| 美女网站色91| 99久久国产综合精品麻豆| 日韩精品一区二| 亚洲第一会所有码转帖| 成人动漫精品一区二区| 亚洲精品在线观| 日韩电影在线免费观看| 色综合久久综合| 欧美激情资源网| 国产乱一区二区| 亚洲精品一区二区三区影院 | 日韩一级欧美一级| 午夜激情一区二区| 91精品办公室少妇高潮对白| 国产亚洲一二三区| 国产成人精品一区二| 精品粉嫩aⅴ一区二区三区四区| 亚洲成人免费影院| 欧美无乱码久久久免费午夜一区| ●精品国产综合乱码久久久久| 国内精品久久久久影院色| 日韩精品一区二区三区在线播放| 一区二区视频在线| 欧美视频在线观看一区| 亚洲国产你懂的| 制服丝袜亚洲色图| 久久99国产精品久久99 | 欧美精品一卡二卡| 日韩经典一区二区| 日韩精品一区二区三区在线播放| 蜜桃精品视频在线观看| 精品日产卡一卡二卡麻豆| 韩国成人在线视频| 亚洲天堂av一区| 7777精品伊人久久久大香线蕉| 久久99精品一区二区三区三区| 精品国产乱码久久久久久蜜臀 | 亚洲综合一区在线| 欧美成人bangbros| 99视频一区二区三区| 亚洲超碰精品一区二区| 久久久精品免费免费| 91丨porny丨首页| 17c精品麻豆一区二区免费| 成人国产精品免费观看动漫| 国产精品 欧美精品| 国产成人午夜视频| 国产精品18久久久久久vr| 国产99精品视频| 豆国产96在线|亚洲| 国产精品主播直播| 国产91在线观看丝袜| 成人av网站在线观看免费| 一本色道久久综合狠狠躁的推荐 | 色www精品视频在线观看| 在线视频中文字幕一区二区| 欧美精品在欧美一区二区少妇| 正在播放亚洲一区| 日本一区二区免费在线| 亚洲欧洲精品一区二区精品久久久| 精品av综合导航| 亚洲三级理论片| 日本亚洲三级在线| 国产久卡久卡久卡久卡视频精品| 成人av网站大全| 日韩一级在线观看| 亚洲婷婷综合色高清在线| 午夜久久久久久| 岛国av在线一区| 777奇米四色成人影色区| 国产欧美精品一区二区色综合朱莉 | 日韩视频在线你懂得| 国产精品久久久久天堂| 奇米精品一区二区三区四区| 99精品热视频| 久久精品一级爱片| 爽好多水快深点欧美视频| zzijzzij亚洲日本少妇熟睡| 日韩欧美你懂的| 亚洲精品写真福利| 国产成人综合视频| 欧美一级久久久久久久大片| 亚洲激情六月丁香| 99精品视频中文字幕| 精品粉嫩aⅴ一区二区三区四区| 亚洲成人一区二区在线观看| 粉嫩一区二区三区在线看| 日韩欧美在线网站| 亚洲高清一区二区三区| 欧美在线视频全部完| 亚洲色欲色欲www在线观看| 丁香婷婷综合五月| 国产精品青草久久| 成人免费黄色大片| 国产精品国产三级国产a| 91丝袜高跟美女视频| 成人免费一区二区三区视频| 99亚偷拍自图区亚洲| 亚洲欧洲精品一区二区三区 | 亚洲乱码国产乱码精品精小说| 国产盗摄视频一区二区三区| 日韩精品一区二区三区三区免费 | 亚洲一级不卡视频| 91麻豆国产在线观看| 最新国产精品久久精品| 国产在线精品一区二区| 精品粉嫩aⅴ一区二区三区四区| 天天影视涩香欲综合网 | 成人高清免费观看| 欧美国产日韩精品免费观看| 国精产品一区一区三区mba视频 | 日本欧美久久久久免费播放网| 欧美人xxxx| 激情久久五月天| 国产精品网站导航| 91在线国产福利|