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

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

?? lcd.s

?? avr icc 平臺開發(fā)的pwm模擬功能
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module LCD.c
	.area text(rom, con, rel)
	.dbfile D:\NEW\AVR_PWM\LCD.c
	.dbfunc e LCD_INIT _LCD_INIT fV
	.even
_LCD_INIT::
	.dbline -1
	.dbline 52
; // ************************************************
; // *** 采用4位數(shù)據(jù)線的1602液晶驅(qū)動程序 ***
; // *** LCD.C ***
; // ************************************************
; #define ENABLE_BIT_DEFINITIONS
; #define LCD_C
; #include "includes.h"
; // ***** Define I/O pins ***** //
; #define BIT7 0x80
; #define BIT6 0x40
; #define BIT5 0x20
; #define BIT4 0x10
; #define BIT3 0x08
; #define BIT2 0x04
; #define BIT1 0x02
; #define BIT0 0x01
; // *** Set port for LCD Data Bus 8 bit mode *** //
; #define LCD_OP_PORT PORTB
; #define LCD_IP_PORT PINB
; #define LCD_DIR_PORT DDRB
; // *** Set LCD Enable Port and Bit values *** //
; //#define LCD_EN LCD_OP_PORT.2
; // *** Set LCD Register Select Port and Bit values *** //
; //#define LCD_RS LCD_OP_PORT.0
; // *** Set LCD Read/Write Port and Bit values *** //
; //#define LCD_RW LCD_OP_PORT.1
; /****************************************************************/
;  
;  #define LCD_EN  (1 << 2)     //引腳定義
;  #define LCD_RS (1 << 0)
;  #define LCD_RW (1 << 1)
;  
;  #define lcd_set_e()  (LCD_OP_PORT |= LCD_EN)   //置位與清零
;  #define lcd_set_rs() (LCD_OP_PORT |= LCD_RS)
;  #define lcd_set_rw() (LCD_OP_PORT |= LCD_RW)
;  #define lcd_clear_e()  (LCD_OP_PORT &= ~LCD_EN)
;  #define lcd_clear_rs() (LCD_OP_PORT &= ~LCD_RS)
;  #define lcd_clear_rw() (LCD_OP_PORT &= ~LCD_RW)
; /****************************************************************/
; 
; #define LCD_ON 0x0C
; #define LCD_CURS_ON 0x0D
; #define LCD_OFF 0x08
; #define LCD_HOME 0x02
; #define LCD_CLEAR 0x01
; #define LCD_NEW_LINE 0xC0
; #define LCD_FUNCTION_SET 0x28
; #define LCD_MODE_SET 0x06
; 
; 
; void LCD_INIT(void)
; {
	.dbline 53
; LCD_DIR_PORT = 0xff; // LCD port output
	ldi R24,255
	out 0x17,R24
	.dbline 54
; LCD_OP_PORT = 0x30; // Load high-data to port
	ldi R24,48
	out 0x18,R24
	.dbline 55
; lcd_clear_rw(); // Set LCD to write
	cbi 0x18,1
	.dbline 56
; lcd_clear_rs(); // Set LCD to command
	cbi 0x18,0
	.dbline 57
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 58
; asm("nop");
	nop
	.dbline 59
; asm("nop");
	nop
	.dbline 60
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 61
; delay_nus(40);
	ldi R16,40
	ldi R17,0
	xcall _delay_nus
	.dbline 62
; lcd_clear_rw() ; // Set LCD to write
	cbi 0x18,1
	.dbline 63
; lcd_clear_rs(); // Set LCD to command
	cbi 0x18,0
	.dbline 64
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 65
; asm("nop");
	nop
	.dbline 66
; asm("nop");
	nop
	.dbline 67
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 68
; delay_nus(40);
	ldi R16,40
	ldi R17,0
	xcall _delay_nus
	.dbline 69
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 70
; asm("nop");
	nop
	.dbline 71
; asm("nop");
	nop
	.dbline 72
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 73
; delay_nus(40);
	ldi R16,40
	ldi R17,0
	xcall _delay_nus
	.dbline 74
; LCD_OP_PORT = 0x20;
	ldi R24,32
	out 0x18,R24
	.dbline 75
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 76
; asm("nop");
	nop
	.dbline 77
; asm("nop");
	nop
	.dbline 78
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 79
; delay_nus(40);
	ldi R16,40
	ldi R17,0
	.dbline -2
	.dbline 80
; }
L1:
	.dbline 0 ; func end
	xjmp _delay_nus
	.dbend
	.dbfunc e LCD_Busy _LCD_Busy fV
;            low -> R20
;           high -> R22
;           temp -> R10
	.even
_LCD_Busy::
	xcall push_gset3
	.dbline -1
	.dbline 85
; //*****************************************************//
; // This routine will return the busy flag from the LCD //
; //*****************************************************//
; void LCD_Busy ( void )
; {
	.dbline 88
; unsigned char temp,high;
; unsigned char low;
; LCD_DIR_PORT = 0x0f; // Make I/O Port input
	ldi R24,15
	out 0x17,R24
L3:
	.dbline 90
; do
; {
	.dbline 91
; temp=LCD_OP_PORT;
	in R10,0x18
	.dbline 92
; temp=temp&BIT3;
	mov R24,R10
	andi R24,8
	mov R10,R24
	.dbline 93
; LCD_OP_PORT=temp;
	out 0x18,R24
	.dbline 94
; lcd_set_rw(); // Set LCD to READ
	sbi 0x18,1
	.dbline 95
; lcd_clear_rs();
	cbi 0x18,0
	.dbline 96
; lcd_set_e();
	sbi 0x18,2
	.dbline 97
; delay_nus(3);
	ldi R16,3
	ldi R17,0
	xcall _delay_nus
	.dbline 98
; high = LCD_IP_PORT; // read the high nibble.
	in R22,0x16
	.dbline 99
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 100
; lcd_set_e();
	sbi 0x18,2
	.dbline 101
; asm("nop");
	nop
	.dbline 102
; asm("nop");
	nop
	.dbline 103
; low = LCD_IP_PORT; // read the low nibble.
	in R20,0x16
	.dbline 104
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 105
L4:
	.dbline 105
; } while(high & 0x80);
	sbrc R22,7
	rjmp L3
	.dbline 106
; delay_nus(20);
	ldi R16,20
	ldi R17,0
	xcall _delay_nus
	.dbline -2
	.dbline 107
; }
L2:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r low 20 c
	.dbsym r high 22 c
	.dbsym r temp 10 c
	.dbend
	.dbfunc e LCD_WriteControl _LCD_WriteControl fV
;           temp -> R20
;            CMD -> R22
	.even
_LCD_WriteControl::
	xcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 112
; // ********************************************** //
; // *** Write a control instruction to the LCD *** //
; // ********************************************** //
; void LCD_WriteControl (unsigned char CMD)
; {
	.dbline 114
; char temp;
; LCD_Busy(); // Test if LCD busy
	xcall _LCD_Busy
	.dbline 115
; LCD_DIR_PORT = 0xff; // LCD port output
	ldi R24,255
	out 0x17,R24
	.dbline 116
; temp=LCD_OP_PORT;
	in R20,0x18
	.dbline 117
; temp=temp&BIT3;
	andi R20,8
	.dbline 118
; LCD_OP_PORT =(CMD & 0xf0)|temp; // Load high-data to port
	mov R24,R22
	andi R24,240
	or R24,R20
	out 0x18,R24
	.dbline 119
; lcd_clear_rw(); // Set LCD to write
	cbi 0x18,1
	.dbline 120
; lcd_clear_rs(); // Set LCD to command
	cbi 0x18,0
	.dbline 121
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 122
; asm("nop");
	nop
	.dbline 123
; asm("nop");
	nop
	.dbline 124
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 125
; LCD_OP_PORT =(CMD<<4)|temp; // Load low-data to port
	mov R24,R22
	andi R24,#0x0F
	swap R24
	or R24,R20
	out 0x18,R24
	.dbline 126
; lcd_clear_rw(); // Set LCD to write
	cbi 0x18,1
	.dbline 127
; lcd_clear_rs(); // Set LCD to command
	cbi 0x18,0
	.dbline 128
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 129
; asm("nop");
	nop
	.dbline 130
; asm("nop");
	nop
	.dbline 131
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline -2
	.dbline 132
; }
L6:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbsym r CMD 22 c
	.dbend
	.dbfunc e LCD_WriteData _LCD_WriteData fV
;           temp -> R20
;           Data -> R22
	.even
_LCD_WriteData::
	xcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 137
; // ***************************************** //
; // *** Write one byte of data to the LCD *** //
; // ***************************************** //
; void LCD_WriteData (unsigned char Data)
; {
	.dbline 139
; char temp;
; LCD_Busy(); // Test if LCD Busy
	xcall _LCD_Busy
	.dbline 140
; LCD_DIR_PORT = 0xFF; // LCD port output
	ldi R24,255
	out 0x17,R24
	.dbline 141
; temp=LCD_OP_PORT;
	in R20,0x18
	.dbline 142
; temp=temp&BIT3;
	andi R20,8
	.dbline 143
; LCD_OP_PORT =(Data & 0xf0)|temp; // Load high-data to port
	mov R24,R22
	andi R24,240
	or R24,R20
	out 0x18,R24
	.dbline 144
; lcd_clear_rw() ; // Set LCD to write
	cbi 0x18,1
	.dbline 145
; lcd_set_rs(); // Set LCD to data
	sbi 0x18,0
	.dbline 146
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 147
; asm("nop");
	nop
	.dbline 148
; asm("nop");
	nop
	.dbline 149
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline 150
; LCD_OP_PORT = (Data << 4)|temp; // Load low-data to port
	mov R24,R22
	andi R24,#0x0F
	swap R24
	or R24,R20
	out 0x18,R24
	.dbline 151
; lcd_clear_rw() ; // Set LCD to write
	cbi 0x18,1
	.dbline 152
; lcd_set_rs(); // Set LCD to data
	sbi 0x18,0
	.dbline 153
; lcd_set_e(); // Write data to LCD
	sbi 0x18,2
	.dbline 154
; asm("nop");
	nop
	.dbline 155
; asm("nop");
	nop
	.dbline 156
; lcd_clear_e(); // Disable LCD
	cbi 0x18,2
	.dbline -2
	.dbline 157
; }
L7:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbsym r Data 22 c
	.dbend
	.dbfunc e Init_LCD _Init_LCD fV

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费高清视频| 精品少妇一区二区三区日产乱码 | 欧美精品一区二区三区蜜桃| 蜜臀久久久久久久| 久久久精品一品道一区| 成人av免费在线观看| 亚洲男人的天堂在线观看| 欧美日韩中文另类| 另类的小说在线视频另类成人小视频在线 | 久久精品日韩一区二区三区| 不卡高清视频专区| 婷婷成人激情在线网| 久久久久久久久久久黄色 | 欧美色电影在线| 久久99深爱久久99精品| 欧美国产欧美综合| 欧美日韩午夜影院| 国产成人日日夜夜| 亚洲成av人**亚洲成av**| 久久久不卡影院| 欧美亚洲国产一区二区三区| 狠狠色综合日日| 亚洲综合无码一区二区| 欧美不卡一区二区三区| 色综合激情久久| 久久99久国产精品黄毛片色诱| 国产精品第一页第二页第三页| 欧美日韩国产综合一区二区| 国产不卡视频一区| 日本成人在线网站| 亚洲视频一二区| 最新国产の精品合集bt伙计| 欧美一卡二卡三卡四卡| 91在线小视频| 国产高清亚洲一区| 免费人成精品欧美精品| 亚洲精品国产a久久久久久| 精品成a人在线观看| 欧美日韩免费一区二区三区视频| 国产成人免费视频精品含羞草妖精| 亚洲va欧美va国产va天堂影院| 国产欧美日本一区二区三区| 91麻豆精品久久久久蜜臀| www.av亚洲| 国产一区二区精品久久| 日韩激情视频网站| 亚洲一区中文日韩| 亚洲三级久久久| 国产午夜久久久久| 精品国产乱子伦一区| 欧美日韩精品是欧美日韩精品| 99精品视频一区| 成人精品视频一区二区三区 | 欧美一区二区久久久| 一本色道久久综合亚洲精品按摩| 国产一区二区三区在线看麻豆| 婷婷综合久久一区二区三区| 亚洲永久免费av| 一区二区三区蜜桃| 亚洲人123区| 日韩理论片中文av| 最新国产の精品合集bt伙计| 国产精品久久夜| 国产日韩av一区二区| 精品国产凹凸成av人导航| 制服丝袜亚洲色图| 欧美片在线播放| 欧美精品自拍偷拍| 欧美日韩国产小视频| 欧美日韩1234| 欧美裸体一区二区三区| 欧美三级视频在线观看| 欧美日韩二区三区| 欧美日韩激情一区二区| 欧美久久久久久蜜桃| 日韩一区二区电影| 精品久久久久一区| 久久综合五月天婷婷伊人| 亚洲精品一区二区三区99| 久久亚洲捆绑美女| 国产视频亚洲色图| 国产精品久久久久一区| 亚洲欧美国产77777| 亚洲二区在线视频| 日本欧美大码aⅴ在线播放| 免费不卡在线观看| 国产乱妇无码大片在线观看| 成人毛片在线观看| 欧美中文字幕一区二区三区 | 国产精品天干天干在线综合| 国产精品久久久久久久久图文区 | 色婷婷狠狠综合| 欧美亚洲图片小说| 欧美一级片在线看| 国产区在线观看成人精品 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产aⅴ综合色| 色噜噜狠狠色综合中国| 4438亚洲最大| 国产精品久久三| 亚洲一区中文日韩| 国产精品综合在线视频| 色婷婷精品大视频在线蜜桃视频 | 国产欧美久久久精品影院| 1024亚洲合集| 男人的j进女人的j一区| 国产成人在线视频播放| 日本二三区不卡| 欧美精品一区二区三区很污很色的| 国产精品美女久久久久久| 午夜激情综合网| 国产精品综合在线视频| 欧美性感一类影片在线播放| 久久婷婷国产综合国色天香| 亚洲激情校园春色| 国产乱码精品一区二区三 | 欧美电影免费观看高清完整版| 国产精品美日韩| 美女诱惑一区二区| 91激情在线视频| 久久久久久一二三区| 午夜私人影院久久久久| 99视频一区二区| 久久久久久麻豆| 丝袜亚洲另类欧美综合| 91在线观看下载| 精品国内片67194| 亚洲午夜久久久| 成人a级免费电影| 欧美v亚洲v综合ⅴ国产v| 亚洲在线中文字幕| 福利一区福利二区| 欧美成人精品高清在线播放| 亚洲综合在线免费观看| 成人的网站免费观看| 精品国产免费一区二区三区四区 | 另类小说图片综合网| 欧日韩精品视频| 日韩美女啊v在线免费观看| 国产剧情一区二区三区| 欧美一卡在线观看| 香蕉影视欧美成人| 在线一区二区观看| 日韩理论电影院| 成人免费福利片| 国产女人aaa级久久久级| 国内精品国产三级国产a久久 | 国产欧美日韩视频在线观看| 久久97超碰色| 欧美成人伊人久久综合网| 日韩高清一级片| 91麻豆精品国产91久久久久久久久| 亚洲另类春色国产| 日本精品一区二区三区四区的功能| 日本一区二区久久| 国产精品综合av一区二区国产馆| 欧美一区二区三区白人| 免费观看91视频大全| 日韩三级精品电影久久久| 日韩精品国产精品| 欧美一区二区三区在线视频| 日本欧美大码aⅴ在线播放| 911国产精品| 秋霞午夜av一区二区三区| 日韩网站在线看片你懂的| 蜜桃av一区二区| 久久综合999| 成人丝袜高跟foot| 亚洲欧洲精品一区二区精品久久久 | 日韩精品在线网站| 毛片av一区二区| 久久久久久久久伊人| 高清不卡一二三区| 亚洲免费电影在线| 欧美视频一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 91麻豆精品国产91久久久更新时间| 日日嗨av一区二区三区四区| 天天做天天摸天天爽国产一区| 国产精品日日摸夜夜摸av| 国产麻豆精品95视频| 欧美高清在线精品一区| 91小视频在线观看| 亚洲精品乱码久久久久久久久| 欧美午夜精品电影| 免费不卡在线视频| 久久精品亚洲麻豆av一区二区| 白白色 亚洲乱淫| 亚洲激情自拍偷拍| 日韩写真欧美这视频| 国产高清不卡一区| 伊人一区二区三区| 日韩欧美国产三级| 北条麻妃一区二区三区| 婷婷综合另类小说色区| 91视频国产资源| 日韩—二三区免费观看av| 久久综合九色综合久久久精品综合| av亚洲精华国产精华精华| 天天av天天翘天天综合网|