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

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

?? lcd.lis

?? avr icc 平臺開發的pwm模擬功能
?? LIS
?? 第 1 頁 / 共 3 頁
字號:
                        .module LCD.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\NEW\AVR_PWM\LCD.c
 0000                   .dbfunc e LCD_INIT _LCD_INIT fV
                        .even
 0000           _LCD_INIT::
 0000                   .dbline -1
 0000                   .dbline 52
 0000           ; // ************************************************
 0000           ; // *** 采用4位數據線的1602液晶驅動程序 ***
 0000           ; // *** LCD.C ***
 0000           ; // ************************************************
 0000           ; #define ENABLE_BIT_DEFINITIONS
 0000           ; #define LCD_C
 0000           ; #include "includes.h"
 0000           ; // ***** Define I/O pins ***** //
 0000           ; #define BIT7 0x80
 0000           ; #define BIT6 0x40
 0000           ; #define BIT5 0x20
 0000           ; #define BIT4 0x10
 0000           ; #define BIT3 0x08
 0000           ; #define BIT2 0x04
 0000           ; #define BIT1 0x02
 0000           ; #define BIT0 0x01
 0000           ; // *** Set port for LCD Data Bus 8 bit mode *** //
 0000           ; #define LCD_OP_PORT PORTB
 0000           ; #define LCD_IP_PORT PINB
 0000           ; #define LCD_DIR_PORT DDRB
 0000           ; // *** Set LCD Enable Port and Bit values *** //
 0000           ; //#define LCD_EN LCD_OP_PORT.2
 0000           ; // *** Set LCD Register Select Port and Bit values *** //
 0000           ; //#define LCD_RS LCD_OP_PORT.0
 0000           ; // *** Set LCD Read/Write Port and Bit values *** //
 0000           ; //#define LCD_RW LCD_OP_PORT.1
 0000           ; /****************************************************************/
 0000           ;  
 0000           ;  #define LCD_EN  (1 << 2)     //引腳定義
 0000           ;  #define LCD_RS (1 << 0)
 0000           ;  #define LCD_RW (1 << 1)
 0000           ;  
 0000           ;  #define lcd_set_e()  (LCD_OP_PORT |= LCD_EN)   //置位與清零
 0000           ;  #define lcd_set_rs() (LCD_OP_PORT |= LCD_RS)
 0000           ;  #define lcd_set_rw() (LCD_OP_PORT |= LCD_RW)
 0000           ;  #define lcd_clear_e()  (LCD_OP_PORT &= ~LCD_EN)
 0000           ;  #define lcd_clear_rs() (LCD_OP_PORT &= ~LCD_RS)
 0000           ;  #define lcd_clear_rw() (LCD_OP_PORT &= ~LCD_RW)
 0000           ; /****************************************************************/
 0000           ; 
 0000           ; #define LCD_ON 0x0C
 0000           ; #define LCD_CURS_ON 0x0D
 0000           ; #define LCD_OFF 0x08
 0000           ; #define LCD_HOME 0x02
 0000           ; #define LCD_CLEAR 0x01
 0000           ; #define LCD_NEW_LINE 0xC0
 0000           ; #define LCD_FUNCTION_SET 0x28
 0000           ; #define LCD_MODE_SET 0x06
 0000           ; 
 0000           ; 
 0000           ; void LCD_INIT(void)
 0000           ; {
 0000                   .dbline 53
 0000           ; LCD_DIR_PORT = 0xff; // LCD port output
 0000 8FEF              ldi R24,255
 0002 87BB              out 0x17,R24
 0004                   .dbline 54
 0004           ; LCD_OP_PORT = 0x30; // Load high-data to port
 0004 80E3              ldi R24,48
 0006 88BB              out 0x18,R24
 0008                   .dbline 55
 0008           ; lcd_clear_rw(); // Set LCD to write
 0008 C198              cbi 0x18,1
 000A                   .dbline 56
 000A           ; lcd_clear_rs(); // Set LCD to command
 000A C098              cbi 0x18,0
 000C                   .dbline 57
 000C           ; lcd_set_e(); // Write data to LCD
 000C C29A              sbi 0x18,2
 000E                   .dbline 58
 000E           ; asm("nop");
 000E 0000              nop
 0010                   .dbline 59
 0010           ; asm("nop");
 0010 0000              nop
 0012                   .dbline 60
 0012           ; lcd_clear_e(); // Disable LCD
 0012 C298              cbi 0x18,2
 0014                   .dbline 61
 0014           ; delay_nus(40);
 0014 08E2              ldi R16,40
 0016 10E0              ldi R17,0
 0018 0E940000          xcall _delay_nus
 001C                   .dbline 62
 001C           ; lcd_clear_rw() ; // Set LCD to write
 001C C198              cbi 0x18,1
 001E                   .dbline 63
 001E           ; lcd_clear_rs(); // Set LCD to command
 001E C098              cbi 0x18,0
 0020                   .dbline 64
 0020           ; lcd_set_e(); // Write data to LCD
 0020 C29A              sbi 0x18,2
 0022                   .dbline 65
 0022           ; asm("nop");
 0022 0000              nop
 0024                   .dbline 66
 0024           ; asm("nop");
 0024 0000              nop
 0026                   .dbline 67
 0026           ; lcd_clear_e(); // Disable LCD
 0026 C298              cbi 0x18,2
 0028                   .dbline 68
 0028           ; delay_nus(40);
 0028 08E2              ldi R16,40
 002A 10E0              ldi R17,0
 002C 0E940000          xcall _delay_nus
 0030                   .dbline 69
 0030           ; lcd_set_e(); // Write data to LCD
 0030 C29A              sbi 0x18,2
 0032                   .dbline 70
 0032           ; asm("nop");
 0032 0000              nop
 0034                   .dbline 71
 0034           ; asm("nop");
 0034 0000              nop
 0036                   .dbline 72
 0036           ; lcd_clear_e(); // Disable LCD
 0036 C298              cbi 0x18,2
 0038                   .dbline 73
 0038           ; delay_nus(40);
 0038 08E2              ldi R16,40
 003A 10E0              ldi R17,0
 003C 0E940000          xcall _delay_nus
 0040                   .dbline 74
 0040           ; LCD_OP_PORT = 0x20;
 0040 80E2              ldi R24,32
 0042 88BB              out 0x18,R24
 0044                   .dbline 75
 0044           ; lcd_set_e(); // Write data to LCD
 0044 C29A              sbi 0x18,2
 0046                   .dbline 76
 0046           ; asm("nop");
 0046 0000              nop
 0048                   .dbline 77
 0048           ; asm("nop");
 0048 0000              nop
 004A                   .dbline 78
 004A           ; lcd_clear_e(); // Disable LCD
 004A C298              cbi 0x18,2
 004C                   .dbline 79
 004C           ; delay_nus(40);
 004C 08E2              ldi R16,40
 004E 10E0              ldi R17,0
 0050                   .dbline -2
 0050                   .dbline 80
 0050           ; }
 0050           L1:
 0050                   .dbline 0 ; func end
 0050 0C940000          xjmp _delay_nus
 0054                   .dbend
 0054                   .dbfunc e LCD_Busy _LCD_Busy fV
 0054           ;            low -> R20
 0054           ;           high -> R22
 0054           ;           temp -> R10
                        .even
 0054           _LCD_Busy::
 0054 0E940000          xcall push_gset3
 0058                   .dbline -1
 0058                   .dbline 85
 0058           ; //*****************************************************//
 0058           ; // This routine will return the busy flag from the LCD //
 0058           ; //*****************************************************//
 0058           ; void LCD_Busy ( void )
 0058           ; {
 0058                   .dbline 88
 0058           ; unsigned char temp,high;
 0058           ; unsigned char low;
 0058           ; LCD_DIR_PORT = 0x0f; // Make I/O Port input
 0058 8FE0              ldi R24,15
 005A 87BB              out 0x17,R24
 005C           L3:
 005C                   .dbline 90
 005C           ; do
 005C           ; {
 005C                   .dbline 91
 005C           ; temp=LCD_OP_PORT;
 005C A8B2              in R10,0x18
 005E                   .dbline 92
 005E           ; temp=temp&BIT3;
 005E 8A2D              mov R24,R10
 0060 8870              andi R24,8
 0062 A82E              mov R10,R24
 0064                   .dbline 93
 0064           ; LCD_OP_PORT=temp;
 0064 88BB              out 0x18,R24
 0066                   .dbline 94
 0066           ; lcd_set_rw(); // Set LCD to READ
 0066 C19A              sbi 0x18,1
 0068                   .dbline 95
 0068           ; lcd_clear_rs();
 0068 C098              cbi 0x18,0
 006A                   .dbline 96
 006A           ; lcd_set_e();
 006A C29A              sbi 0x18,2
 006C                   .dbline 97
 006C           ; delay_nus(3);
 006C 03E0              ldi R16,3
 006E 10E0              ldi R17,0
 0070 0E940000          xcall _delay_nus
 0074                   .dbline 98
 0074           ; high = LCD_IP_PORT; // read the high nibble.
 0074 66B3              in R22,0x16
 0076                   .dbline 99
 0076           ; lcd_clear_e(); // Disable LCD
 0076 C298              cbi 0x18,2
 0078                   .dbline 100
 0078           ; lcd_set_e();
 0078 C29A              sbi 0x18,2
 007A                   .dbline 101
 007A           ; asm("nop");
 007A 0000              nop
 007C                   .dbline 102
 007C           ; asm("nop");
 007C 0000              nop
 007E                   .dbline 103
 007E           ; low = LCD_IP_PORT; // read the low nibble.
 007E 46B3              in R20,0x16
 0080                   .dbline 104
 0080           ; lcd_clear_e(); // Disable LCD
 0080 C298              cbi 0x18,2
 0082                   .dbline 105
 0082           L4:
 0082                   .dbline 105
 0082           ; } while(high & 0x80);
 0082 67FD              sbrc R22,7
 0084 EBCF              rjmp L3
 0086                   .dbline 106
 0086           ; delay_nus(20);
 0086 04E1              ldi R16,20
 0088 10E0              ldi R17,0
 008A 0E940000          xcall _delay_nus
 008E                   .dbline -2
 008E                   .dbline 107
 008E           ; }
 008E           L2:
 008E 0E940000          xcall pop_gset3
 0092                   .dbline 0 ; func end
 0092 0895              ret
 0094                   .dbsym r low 20 c
 0094                   .dbsym r high 22 c
 0094                   .dbsym r temp 10 c
 0094                   .dbend
 0094                   .dbfunc e LCD_WriteControl _LCD_WriteControl fV
 0094           ;           temp -> R20
 0094           ;            CMD -> R22
                        .even
 0094           _LCD_WriteControl::
 0094 0E940000          xcall push_gset2
 0098 602F              mov R22,R16
 009A                   .dbline -1
 009A                   .dbline 112
 009A           ; // ********************************************** //
 009A           ; // *** Write a control instruction to the LCD *** //
 009A           ; // ********************************************** //
 009A           ; void LCD_WriteControl (unsigned char CMD)
 009A           ; {
 009A                   .dbline 114
 009A           ; char temp;
 009A           ; LCD_Busy(); // Test if LCD busy
 009A DCDF              xcall _LCD_Busy
 009C                   .dbline 115
 009C           ; LCD_DIR_PORT = 0xff; // LCD port output
 009C 8FEF              ldi R24,255
 009E 87BB              out 0x17,R24
 00A0                   .dbline 116
 00A0           ; temp=LCD_OP_PORT;
 00A0 48B3              in R20,0x18
 00A2                   .dbline 117
 00A2           ; temp=temp&BIT3;
 00A2 4870              andi R20,8
 00A4                   .dbline 118
 00A4           ; LCD_OP_PORT =(CMD & 0xf0)|temp; // Load high-data to port
 00A4 862F              mov R24,R22
 00A6 807F              andi R24,240
 00A8 842B              or R24,R20
 00AA 88BB              out 0x18,R24

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色欲色欲www| 欧美精品自拍偷拍| 亚洲1区2区3区4区| 欧美mv和日韩mv国产网站| 91国偷自产一区二区三区成为亚洲经典 | 久久99久久99小草精品免视看| 亚洲国产高清aⅴ视频| 欧美一区二区三区视频免费播放 | 91国偷自产一区二区开放时间| 国产在线精品一区二区不卡了| 亚洲午夜一区二区| 亚洲人123区| 久久蜜桃av一区精品变态类天堂| 在线观看欧美精品| av高清不卡在线| 国产大片一区二区| 精品一区二区三区欧美| 亚洲第一会所有码转帖| 亚洲欧美自拍偷拍| 中文字幕av一区二区三区高| 精品久久久网站| 欧美成人一区二区三区片免费| 欧美色图12p| 在线观看亚洲专区| 一本久道中文字幕精品亚洲嫩| 成人高清免费观看| 成人一级片在线观看| 国产精品18久久久| 国产一区二区三区在线观看免费视频| 日韩国产精品大片| 日本女人一区二区三区| 性欧美大战久久久久久久久| 亚洲mv在线观看| 偷拍日韩校园综合在线| 亚洲电影一区二区三区| 亚洲精品久久7777| 亚洲精品国产精华液| 亚洲一区二区三区在线看| 亚洲精品视频在线看| 亚洲乱码一区二区三区在线观看| 中文字幕一区不卡| 一区二区视频在线看| 亚洲男人的天堂av| 亚洲一区二区美女| 日本视频一区二区三区| 麻豆极品一区二区三区| 另类小说色综合网站| 经典一区二区三区| 国产一区二区三区蝌蚪| 国产91高潮流白浆在线麻豆| av在线不卡免费看| 色天天综合色天天久久| 欧美日韩中文国产| 欧美一区二区福利在线| 26uuu国产日韩综合| 国产精品色在线| 一区二区三区在线播放| 日韩高清在线观看| 精品一区二区三区影院在线午夜| 国产在线观看一区二区| 丰满少妇在线播放bd日韩电影| 99久久久久久| 9191久久久久久久久久久| 精品欧美一区二区三区精品久久| 久久日一线二线三线suv| 亚洲欧洲精品一区二区三区不卡| 亚洲伊人伊色伊影伊综合网| 天堂一区二区在线| 国产精品88av| 在线国产电影不卡| 精品国产乱码久久久久久蜜臀| 国产欧美一区二区精品性色超碰| 亚洲男同1069视频| 久久99久久99| av高清不卡在线| 欧美一区二区美女| 中文字幕国产精品一区二区| 亚洲二区视频在线| 国产91丝袜在线18| 欧美日韩aaa| 国产精品乱码久久久久久| 亚洲大片免费看| 国产精品夜夜嗨| 欧美视频一区二区三区四区| 欧美精品一区二区三区在线播放| 亚洲人妖av一区二区| 奇米色一区二区三区四区| 99精品视频一区二区三区| 日韩欧美国产一二三区| 亚洲日本青草视频在线怡红院| 久久精品久久综合| 欧洲在线/亚洲| 欧美国产乱子伦| 蜜桃传媒麻豆第一区在线观看| av成人动漫在线观看| 欧美zozozo| 亚洲成人免费视| 成人国产视频在线观看| 欧美不卡一区二区| 亚洲一区二三区| 99精品国产视频| 亚洲精品一区二区三区在线观看| 一区二区三区91| 成人久久视频在线观看| 日韩视频在线永久播放| 奇米影视7777精品一区二区| 99精品欧美一区二区三区小说 | 972aa.com艺术欧美| 欧美日韩一区二区电影| 国产日韩欧美麻豆| 麻豆传媒一区二区三区| 欧美色手机在线观看| 日韩伦理免费电影| 成人免费视频国产在线观看| 日韩欧美卡一卡二| 日韩经典中文字幕一区| 欧美天堂亚洲电影院在线播放| 亚洲欧美综合网| 不卡高清视频专区| 欧美国产一区二区| 国产自产高清不卡| 日韩欧美中文一区| 奇米影视在线99精品| 欧美日本乱大交xxxxx| 亚洲国产一区二区在线播放| 99vv1com这只有精品| 国产精品久久三区| 成人午夜av影视| 久久久久久麻豆| 国产精品一卡二卡在线观看| 久久众筹精品私拍模特| 九色综合狠狠综合久久| 欧美大片免费久久精品三p| 日日夜夜精品视频天天综合网| 欧美亚洲国产bt| 天涯成人国产亚洲精品一区av| 在线亚洲高清视频| 亚洲愉拍自拍另类高清精品| 色欧美片视频在线观看| 亚洲一区影音先锋| 欧美精选在线播放| 蜜桃视频免费观看一区| 精品久久国产字幕高潮| 国产精品夜夜嗨| 国产精品视频一二| 91在线无精精品入口| 一区二区成人在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲成av人片www| 这里只有精品99re| 紧缚奴在线一区二区三区| 国产嫩草影院久久久久| 成人福利电影精品一区二区在线观看| 中文字幕一区日韩精品欧美| 99精品国产99久久久久久白柏| 亚洲免费在线视频一区 二区| 91国内精品野花午夜精品| 日韩激情一二三区| 久久综合色之久久综合| 97久久精品人人做人人爽| 香蕉加勒比综合久久| 日韩欧美成人午夜| 国v精品久久久网| 亚洲精品视频一区| 欧美一级在线免费| 成人美女视频在线观看18| 亚洲精品大片www| 欧美大尺度电影在线| 粉嫩一区二区三区性色av| 中文字幕一区免费在线观看| 欧美日韩电影一区| 国产精品一区二区不卡| 亚洲精品视频在线看| 日韩美女一区二区三区四区| 99综合影院在线| 日韩av一区二区在线影视| 国产无遮挡一区二区三区毛片日本| www.亚洲色图| 美脚の诱脚舐め脚责91| 国产精品高清亚洲| 欧美一级日韩不卡播放免费| 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧美色综合| 欧美成人aa大片| 欧美亚洲综合另类| 成人激情免费电影网址| 青娱乐精品视频| 亚洲私人影院在线观看| 精品少妇一区二区三区在线视频| 97久久精品人人澡人人爽| 开心九九激情九九欧美日韩精美视频电影 | 国产宾馆实践打屁股91| 亚洲成av人片在线观看| 国产精品毛片无遮挡高清| 欧美一卡在线观看| 日本久久电影网| 粉嫩av一区二区三区粉嫩| 奇米精品一区二区三区在线观看一 | 性久久久久久久| 亚洲天堂av一区|