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

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

?? lcd12864_st7920.lst

?? 此為12864液晶顯示器的驅動程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(0052) 2.VCC		--------	VCC
(0053) 3.V0		--------	V0
(0054) 4.RS(CS)	--------	VCC
(0055) 5.R/W(SID)	--------	MOSI/PB5
(0056) 6.E(SCLK)	--------	SCK/PB7
(0057) 7.D0		--------	NC
(0058) 8.D1		--------	NC
(0059) 9.D2		--------	NC
(0060) 10.D3		--------	NC
(0061) 11.D4		--------	NC
(0062) 12.D5		--------	NC
(0063) 13.D6		--------	NC
(0064) 14.D7		--------	NC
(0065) 15.PSB		--------	GND
(0066) 16.NC		--------	NC
(0067) 17.RST		--------	NC
(0068) 18.NC		--------	NC
(0069) 19.LED+		--------	VCC
(0070) 20.LED-		--------	GND
(0071) 
(0072) 說明:
(0073) (1)使用ATmega16的硬件SPI操作LCD12864_ST7920
(0074) (2)PIN4/CS接VCC,其實也可接到特定的IO口,但外部程序需要指定
(0075) --------------------------------------------------------------------*/
(0076) 
(0077) #ifndef LCD12864_ST7920_H
(0078) #define LCD12864_ST7920_H
(0079) 
(0080) #include "D:\ICC_H\CmmIcc.h"
(0081) 
(0082) void SPI_init()
(0083) {
(0084) 	DDRB |= 0xB0;
_SPI_init:
    0209 B387      IN	R24,0x17
    020A 6B80      ORI	R24,0xB0
    020B BB87      OUT	0x17,R24
(0085) 	SPCR = 0x50;	//setup SPI
    020C E580      LDI	R24,0x50
    020D B98D      OUT	0x0D,R24
(0086) 	SPSR = 0x01;	//setup SPI
    020E E081      LDI	R24,1
    020F B98E      OUT	0x0E,R24
(0087) 	SEI();			
    0210 9478      BSET	7
    0211 9508      RET
(0088) }
(0089) 
(0090) void lcd_wrByte(uint8 data)
(0091) {  
(0092) 	SPDR = data;        
_lcd_wrByte:
  data                 --> R16
    0212 B90F      OUT	0x0F,R16
(0093) 	while ((SPSR & 0x80) == 0);  
    0213 9B77      SBIS	0x0E,7
    0214 CFFE      RJMP	0x0213
    0215 9508      RET
_lcd_wrCmd:
  LC                   --> R20
  HC                   --> R22
    0216 940E048C  CALL	push_gset2
    0218 2F42      MOV	R20,R18
    0219 2F60      MOV	R22,R16
(0094) }
(0095) 
(0096) void lcd_wrCmd(uint8 HC,uint8 LC)
(0097) {
(0098) 	lcd_wrByte(0xF8);
    021A EF08      LDI	R16,0xF8
    021B DFF6      RCALL	_lcd_wrByte
(0099) 	lcd_wrByte(HC);		//傳輸高四位
    021C 2F06      MOV	R16,R22
    021D DFF4      RCALL	_lcd_wrByte
(0100) 	lcd_wrByte(LC);		//傳輸低四位
    021E 2F04      MOV	R16,R20
    021F DFF2      RCALL	_lcd_wrByte
    0220 940E047A  CALL	pop_gset2
    0222 9508      RET
_lcd_wrDat:
  LD                   --> R20
  HD                   --> R22
    0223 940E048C  CALL	push_gset2
    0225 2F42      MOV	R20,R18
    0226 2F60      MOV	R22,R16
(0101) }
(0102) 
(0103) void lcd_wrDat(uint8 HD,uint8 LD)
(0104) {
(0105) 	lcd_wrByte(0xFA);
    0227 EF0A      LDI	R16,0xFA
    0228 DFE9      RCALL	_lcd_wrByte
(0106) 	lcd_wrByte(HD);		//傳輸高四位
    0229 2F06      MOV	R16,R22
    022A DFE7      RCALL	_lcd_wrByte
(0107) 	lcd_wrByte(LD);		//傳輸低四位
    022B 2F04      MOV	R16,R20
    022C DFE5      RCALL	_lcd_wrByte
    022D 940E047A  CALL	pop_gset2
    022F 9508      RET
_lcd_set_xy:
  adr                  --> R20
  y                    --> R22
  x                    --> R20
    0230 940E048C  CALL	push_gset2
    0232 2F62      MOV	R22,R18
    0233 2F40      MOV	R20,R16
(0108) } 
(0109) 
(0110) /*
(0111) x表示在第幾行顯示,y表示在第幾列顯示
(0112) */
(0113) void lcd_set_xy(uint8 x,uint8 y) 
(0114) {
(0115) 	uint8 adr;
(0116) 
(0117) 	switch(x)
    0234 2755      CLR	R21
    0235 3041      CPI	R20,1
    0236 E0E0      LDI	R30,0
    0237 075E      CPC	R21,R30
    0238 F069      BEQ	0x0246
    0239 3042      CPI	R20,2
    023A E0E0      LDI	R30,0
    023B 075E      CPC	R21,R30
    023C F061      BEQ	0x0249
    023D 3043      CPI	R20,3
    023E E0E0      LDI	R30,0
    023F 075E      CPC	R21,R30
    0240 F059      BEQ	0x024C
    0241 3044      CPI	R20,4
    0242 E0E0      LDI	R30,0
    0243 075E      CPC	R21,R30
    0244 F051      BEQ	0x024F
    0245 C00B      RJMP	0x0251
(0118) 	{
(0119) 	case 1: adr = 0x7F + y;
    0246 2F46      MOV	R20,R22
    0247 5841      SUBI	R20,0x81
(0120) 		break;		//在第1行y列顯示
    0248 C008      RJMP	0x0251
(0121) 	case 2: adr = 0x8F + y;
    0249 2F46      MOV	R20,R22
    024A 5741      SUBI	R20,0x71
(0122) 		break;		//在第2行y列顯示
    024B C005      RJMP	0x0251
(0123) 	case 3: adr = 0x87 + y;
    024C 2F46      MOV	R20,R22
    024D 5749      SUBI	R20,0x79
(0124) 		break;		//在第3行y列顯示
    024E C002      RJMP	0x0251
(0125) 	case 4: adr = 0x97 + y;
    024F 2F46      MOV	R20,R22
    0250 5649      SUBI	R20,0x69
(0126) 		break;		//在第4行y列顯示
(0127) 	default:	;
(0128) 	}
(0129) 	lcd_wrCmd(adr&0xF0,(adr&0x0F)<<4);
    0251 2F24      MOV	R18,R20
    0252 702F      ANDI	R18,0xF
    0253 702F      ANDI	R18,0xF
    0254 9522      SWAP	R18
    0255 2F04      MOV	R16,R20
    0256 7F00      ANDI	R16,0xF0
    0257 DFBE      RCALL	_lcd_wrCmd
    0258 940E047A  CALL	pop_gset2
    025A 9508      RET
_lcd_putc:
  ch                   --> Y+4
  y                    --> R22
  x                    --> R20
    025B 940E048C  CALL	push_gset2
    025D 2F62      MOV	R22,R18
    025E 2F40      MOV	R20,R16
(0130) }
(0131) 
(0132) void lcd_putc(uint8 x,uint8 y,uint8 ch)
(0133) {
(0134) 	lcd_set_xy(x,y);
    025F 2F26      MOV	R18,R22
    0260 2F04      MOV	R16,R20
    0261 DFCE      RCALL	_lcd_set_xy
(0135) 	delay50us(20); 
    0262 E104      LDI	R16,0x14
    0263 E010      LDI	R17,0
    0264 DF7C      RCALL	_delay50us
(0136) 	lcd_wrDat(ch&0xF0,(ch&0x0F)<<4);
    0265 812C      LDD	R18,Y+4
    0266 702F      ANDI	R18,0xF
    0267 702F      ANDI	R18,0xF
    0268 9522      SWAP	R18
    0269 810C      LDD	R16,Y+4
    026A 7F00      ANDI	R16,0xF0
    026B DFB7      RCALL	_lcd_wrDat
    026C 940E047A  CALL	pop_gset2
    026E 9508      RET
_lcd_putd0:
  i                    --> R20
  length               --> Y+9
  dat                  --> Y+5
  y                    --> R22
  x                    --> R20
    026F 940E048C  CALL	push_gset2
    0271 2F62      MOV	R22,R18
    0272 2F40      MOV	R20,R16
    0273 9721      SBIW	R28,1
(0137) }
(0138) 
(0139) void lcd_putd0(uint8 x,uint8 y,uint32 dat,uint8 length)
(0140) {
(0141) 	sint8 i;
(0142) 
(0143) 	speaData(dat,length);
    0274 8409      LDD	R0,Y+9
    0275 8208      STD	Y+0,R0
    0276 01FE      MOVW	R30,R28
    0277 8105      LDD	R16,Z+5
    0278 8116      LDD	R17,Z+6
    0279 8127      LDD	R18,Z+7
    027A 8530      LDD	R19,Z+8
    027B DDDE      RCALL	_speaData
(0144) 	lcd_set_xy(x,y);
    027C 2F26      MOV	R18,R22
    027D 2F04      MOV	R16,R20
    027E DFB1      RCALL	_lcd_set_xy
(0145) 	delay50us(40);
    027F E208      LDI	R16,0x28
    0280 E010      LDI	R17,0
    0281 DF5F      RCALL	_delay50us
(0146) 	for(i=length-1;i>=0;i--)
    0282 8549      LDD	R20,Y+9
    0283 5041      SUBI	R20,1
    0284 C01E      RJMP	0x02A3
(0147) 	{
(0148) 		lcd_wrDat( (dataElem[i]+0x30)&0xF0 ,( (dataElem[i]+0x30)&0x0F )<<4 );
    0285 E78D      LDI	R24,0x7D
    0286 E090      LDI	R25,0
    0287 2FE4      MOV	R30,R20
    0288 27FF      CLR	R31
    0289 FDE7      SBRC	R30,7
    028A 95F0      COM	R31
    028B 0FE8      ADD	R30,R24
    028C 1FF9      ADC	R31,R25
    028D 8180      LDD	R24,Z+0
    028E 2799      CLR	R25
    028F 96C0      ADIW	R24,0x30
    0290 2F28      MOV	R18,R24
    0291 702F      ANDI	R18,0xF
    0292 7030      ANDI	R19,0
    0293 0F22      LSL	R18
    0294 1F33      ROL	R19
    0295 0F22      LSL	R18
    0296 1F33      ROL	R19
    0297 0F22      LSL	R18
    0298 1F33      ROL	R19
    0299 0F22      LSL	R18
    029A 1F33      ROL	R19
    029B 2F08      MOV	R16,R24
    029C 7F00      ANDI	R16,0xF0
    029D 7010      ANDI	R17,0
    029E DF84      RCALL	_lcd_wrDat
(0149) 		delay50us(40); 
    029F E208      LDI	R16,0x28
    02A0 E010      LDI	R17,0
    02A1 DF3F      RCALL	_delay50us
    02A2 954A      DEC	R20
    02A3 3040      CPI	R20,0
    02A4 F704      BGE	0x0285
    02A5 9621      ADIW	R28,1
    02A6 940E047A  CALL	pop_gset2
    02A8 9508      RET
_lcd_putd:
  effectLen            --> R12
  i                    --> R10
  length               --> Y+15
  dat                  --> Y+11
  y                    --> R14
  x                    --> R10
    02A9 940E0486  CALL	push_gset5
    02AB 2EE2      MOV	R14,R18
    02AC 2EA0      MOV	R10,R16
    02AD 9721      SBIW	R28,1
(0150) 	}
(0151) }
(0152) 
(0153) void lcd_putd(uint8 x,uint8 y,uint32 dat,uint8 length)
(0154) {
(0155) 	sint8 i;
(0156) 	sint8 effectLen;
(0157) 
(0158) 	if(dat>999999)
    02AE E34F      LDI	R20,0x3F
    02AF E452      LDI	R21,0x42
    02B0 E06F      LDI	R22,0xF
    02B1 E070      LDI	R23,0
    02B2 01FE      MOVW	R30,R28
    02B3 8423      LDD	R2,Z+11
    02B4 8434      LDD	R3,Z+12
    02B5 8445      LDD	R4,Z+13
    02B6 8456      LDD	R5,Z+14
    02B7 1542      CP	R20,R2
    02B8 0553      CPC	R21,R3
    02B9 0564      CPC	R22,R4
    02BA 0575      CPC	R23,R5
    02BB F418      BCC	0x02BF
(0159) 		effectLen=7;
    02BC E087      LDI	R24,7
    02BD 2EC8      MOV	R12,R24
    02BE C057      RJMP	0x0316
(0160) 	else if(dat>99999)
    02BF E94F      LDI	R20,0x9F
    02C0 E856      LDI	R21,0x86
    02C1 E061      LDI	R22,1
    02C2 E070      LDI	R23,0
    02C3 01FE      MOVW	R30,R28
    02C4 8423      LDD	R2,Z+11
    02C5 8434      LDD	R3,Z+12
    02C6 8445      LDD	R4,Z+13
    02C7 8456      LDD	R5,Z+14
    02C8 1542      CP	R20,R2
    02C9 0553      CPC	R21,R3
    02CA 0564      CPC	R22,R4
    02CB 0575      CPC	R23,R5
    02CC F418      BCC	0x02D0
(0161) 		effectLen=6;
    02CD E086      LDI	R24,6
    02CE 2EC8      MOV	R12,R24
    02CF C046      RJMP	0x0316
(0162) 	else if(dat>9999)
    02D0 E04F      LDI	R20,0xF
    02D1 E257      LDI	R21,0x27
    02D2 E060      LDI	R22,0
    02D3 E070      LDI	R23,0
    02D4 01FE      MOVW	R30,R28
    02D5 8423      LDD	R2,Z+11
    02D6 8434      LDD	R3,Z+12
    02D7 8445      LDD	R4,Z+13
    02D8 8456      LDD	R5,Z+14
    02D9 1542      CP	R20,R2
    02DA 0553      CPC	R21,R3
    02DB 0564      CPC	R22,R4
    02DC 0575      CPC	R23,R5
    02DD F418      BCC	0x02E1
(0163) 		effectLen=5;
    02DE E085      LDI	R24,5
    02DF 2EC8      MOV	R12,R24
    02E0 C035      RJMP	0x0316
(0164) 	else if(dat>999)
    02E1 EE47      LDI	R20,0xE7
    02E2 E053      LDI	R21,3
    02E3 E060      LDI	R22,0
    02E4 E070      LDI	R23,0
    02E5 01FE      MOVW	R30,R28
    02E6 8423      LDD	R2,Z+11
    02E7 8434      LDD	R3,Z+12
    02E8 8445      LDD	R4,Z+13
    02E9 8456      LDD	R5,Z+14
    02EA 1542      CP	R20,R2
    02EB 0553      CPC	R21,R3
    02EC 0564      CPC	R22,R4
    02ED 0575      CPC	R23,R5
    02EE F418      BCC	0x02F2
(0165) 		effectLen=4;
    02EF E084      LDI	R24,4
    02F0 2EC8      MOV	R12,R24
    02F1 C024      RJMP	0x0316
(0166) 	else if(dat>99)
    02F2 E643      LDI	R20,0x63
    02F3 E050      LDI	R21,0
    02F4 E060      LDI	R22,0
    02F5 E070      LDI	R23,0
    02F6 01FE      MOVW	R30,R28
    02F7 8423      LDD	R2,Z+11
    02F8 8434      LDD	R3,Z+12
    02F9 8445      LDD	R4,Z+13
    02FA 8456      LDD	R5,Z+14
    02FB 1542      CP	R20,R2
    02FC 0553      CPC	R21,R3
    02FD 0564      CPC	R22,R4
    02FE 0575      CPC	R23,R5
    02FF F418      BCC	0x0303
(0167) 		effectLen=3;
    0300 E083      LDI	R24,3
    0301 2EC8      MOV	R12,R24
    0302 C013      RJMP	0x0316
(0168) 	else if(dat>9)
    0303 E049      LDI	R20,0x9
    0304 E050      LDI	R21,0
    0305 E060      LDI	R22,0
    0306 E070      LDI	R23,0
    0307 01FE      MOVW	R30,R28
    0308 8423      LDD	R2,Z+11
    0309 8434      LDD	R3,Z+12

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产a级| 91亚洲精品久久久蜜桃网站| 成人综合婷婷国产精品久久| 欧美伊人精品成人久久综合97 | 久久99精品久久久久久| 91日韩在线专区| 日本一区二区电影| 激情成人综合网| 欧美一区二区三区婷婷月色| 亚洲综合无码一区二区| www.欧美亚洲| 久久久综合九色合综国产精品| 视频一区二区不卡| 欧美色综合网站| 亚洲精品伦理在线| 91欧美一区二区| 1024国产精品| av在线不卡观看免费观看| 久久综合av免费| 韩国一区二区视频| 久久免费美女视频| 狠狠狠色丁香婷婷综合久久五月| 91精品国产入口| 日本中文在线一区| 91精品蜜臀在线一区尤物| 亚洲高清久久久| 日本道色综合久久| 亚洲福利一二三区| 欧美日韩国产大片| 天天av天天翘天天综合网| 日韩精品专区在线影院观看| 老司机精品视频一区二区三区| 欧美放荡的少妇| 免费成人在线网站| 精品女同一区二区| 国产精品自在在线| 国产精品乱人伦| 99国产精品99久久久久久| 国产精品国产a| 色999日韩国产欧美一区二区| 一二三区精品福利视频| 欧美理论在线播放| 久久99热这里只有精品| 久久午夜老司机| 不卡的av在线| 亚洲伦理在线免费看| 色综合久久久久| 日韩精品一区第一页| 日韩一级高清毛片| 国产99久久久国产精品免费看| 国产精品久久久久久久第一福利| av网站免费线看精品| 一区二区三区欧美激情| 日韩一区二区三区四区 | 亚洲bt欧美bt精品777| 欧美日高清视频| 国产一区二区成人久久免费影院| 日本一区二区三区视频视频| 一本到不卡精品视频在线观看| 香蕉成人啪国产精品视频综合网 | 欧美日韩国产成人在线免费| 麻豆久久久久久| 国产精品国产三级国产三级人妇 | 99久久综合狠狠综合久久| 亚洲一区免费观看| 26uuu精品一区二区| 色综合久久88色综合天天6| 奇米影视一区二区三区| 亚洲视频免费看| 日韩午夜精品视频| 91蝌蚪porny九色| 麻豆成人免费电影| 综合久久久久久| 日韩欧美国产麻豆| 欧洲视频一区二区| 国产69精品一区二区亚洲孕妇| 伊人夜夜躁av伊人久久| 精品久久人人做人人爱| 欧美性视频一区二区三区| 国产乱码精品1区2区3区| 亚洲一二三四在线观看| 中文字幕 久热精品 视频在线| 欧美日本一区二区在线观看| 成人黄色a**站在线观看| 日本免费在线视频不卡一不卡二 | 欧美视频自拍偷拍| 国产精品1区2区| 老司机精品视频导航| 亚洲午夜精品久久久久久久久| 中文字幕av一区二区三区高 | 欧美精品第一页| 99re在线精品| 国产成人一区在线| 韩国女主播一区| 男人操女人的视频在线观看欧美| 一区二区成人在线视频| 亚洲丝袜自拍清纯另类| 国产精品久久久久国产精品日日| 久久天天做天天爱综合色| 欧美一区二区三区不卡| 欧美天天综合网| 欧美三级日韩三级| 91成人免费在线视频| 色综合天天综合网天天看片| 懂色av噜噜一区二区三区av| 国产一区二区不卡| 国产精品综合av一区二区国产馆| 奇米亚洲午夜久久精品| 毛片一区二区三区| 蜜桃av一区二区| 久久精品国产秦先生| 麻豆视频观看网址久久| 国产在线不卡视频| 国产一区二区三区日韩| 国产福利一区二区三区| 国产成人av资源| 91亚洲午夜精品久久久久久| 色天使久久综合网天天| 欧美影院一区二区| 欧美日韩成人综合| 日韩免费看的电影| 久久久夜色精品亚洲| 国产精品电影院| 一区二区成人在线| 奇米精品一区二区三区在线观看一 | av在线不卡免费看| 欧洲精品一区二区三区在线观看| 欧美日韩视频第一区| 日韩无一区二区| 久久久精品黄色| 亚洲欧美另类小说| 日韩极品在线观看| 国产精品一区二区视频| www.日韩av| 欧美丰满高潮xxxx喷水动漫| 国产日韩精品一区| 日韩欧美中文字幕一区| 久久先锋影音av鲁色资源网| 欧美韩国日本综合| 午夜在线电影亚洲一区| 韩国av一区二区三区| 色综合久久综合网97色综合| 69久久夜色精品国产69蝌蚪网| 精品久久国产97色综合| 亚洲欧美一区二区三区国产精品| 无码av中文一区二区三区桃花岛| 国产精品伊人色| 欧美色图第一页| 国产亚洲欧洲一区高清在线观看| 亚洲欧美乱综合| 久久99久久精品| 欧美亚洲愉拍一区二区| 2024国产精品| 亚洲高清久久久| 成人免费毛片aaaaa**| 欧美高清hd18日本| 亚洲欧洲综合另类| 国产一区二区调教| 欧美私人免费视频| 中文字幕中文字幕一区二区| 美女网站在线免费欧美精品| 日本福利一区二区| 欧美国产一区在线| 黄色日韩三级电影| 欧美日本一区二区| 亚洲男人的天堂在线观看| 国产在线一区观看| 日韩一区二区在线观看| 亚洲欧美色图小说| 成人午夜激情影院| 亚洲主播在线观看| 丁香一区二区三区| 日韩欧美一二区| 亚洲成av人**亚洲成av**| 色婷婷综合久久久久中文一区二区 | 久久久五月婷婷| 五月天精品一区二区三区| 91蝌蚪porny九色| 国产精品第13页| 国产精品亚洲成人| 精品国产精品一区二区夜夜嗨 | 亚洲免费在线电影| 成人在线视频一区| 久久精品人人做人人爽97| 美腿丝袜亚洲一区| 日韩久久精品一区| 久久国产欧美日韩精品| 欧美久久一区二区| 亚洲二区视频在线| 欧美疯狂性受xxxxx喷水图片| 亚洲午夜在线电影| 欧美日韩小视频| 日韩高清在线不卡| 日韩精品最新网址| 国内偷窥港台综合视频在线播放| 精品国产乱码久久久久久久久| 寂寞少妇一区二区三区| 精品国产免费人成电影在线观看四季| 日本在线不卡一区| 日韩欧美成人一区二区|