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

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

?? project.lst

?? 點陣型lcd的驅動程序 針對于AVR單片機 稍微修改后可應用于51等型號單片機
?? LST
?? 第 1 頁 / 共 5 頁
字號:
__text_start:
__start:
    060C E5CF      LDI	R28,0x5F
    060D E0D4      LDI	R29,4
    060E BFCD      OUT	0x3D,R28
    060F BFDE      OUT	0x3E,R29
    0610 51C0      SUBI	R28,0x10
    0611 40D0      SBCI	R29,0
    0612 EA0A      LDI	R16,0xAA
    0613 8308      STD	Y+0,R16
    0614 2400      CLR	R0
    0615 E6E4      LDI	R30,0x64
    0616 E0F0      LDI	R31,0
    0617 E010      LDI	R17,0
    0618 36E4      CPI	R30,0x64
    0619 07F1      CPC	R31,R17
    061A F011      BEQ	0x061D
    061B 9201      ST	R0,Z+
    061C CFFB      RJMP	0x0618
    061D 8300      STD	Z+0,R16
    061E E1E4      LDI	R30,0x14
    061F E0FC      LDI	R31,0xC
    0620 E6A0      LDI	R26,0x60
    0621 E0B0      LDI	R27,0
    0622 E01C      LDI	R17,0xC
    0623 31E8      CPI	R30,0x18
    0624 07F1      CPC	R31,R17
    0625 F021      BEQ	0x062A
    0626 95C8      LPM
    0627 9631      ADIW	R30,1
    0628 920D      ST	R0,X+
    0629 CFF9      RJMP	0x0623
    062A 940E07EF  CALL	_main
_exit:
    062C CFFF      RJMP	_exit
FILE: E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\點陣型LCD顯示應用設計\app.c
(0001) //***************************************************************
(0002) // File Name : Gpio.c
(0003) // Author    : Steaven
(0004) // Created   : 2008-06-09
(0005) // Modified  : 
(0006) // Revision  : V0.0
(0007) //***************************************************************
(0008) 
(0009) #include "iom16v.h" 
(0010) #include "DataType.h"
(0011) #include "app.h"
(0012) 
(0013) //local function declaration
(0014) void Gpio_Init(void);
(0015) void Timer0_Init(void);
(0016) void Interrupt_Init(void);
(0017) 
(0018) //***************************************************************
(0019) // Function    : Hardware_Init
(0020) // Input       : none
(0021) // Output      : none
(0022) // Description : ATmega16 Hardware Initialization
(0023) //***************************************************************
(0024) void Hardware_Init(void)
(0025) {
(0026) 	Gpio_Init();
_Hardware_Init:
    062D D002      RCALL	_Gpio_Init
(0027)     Timer0_Init();
    062E D00F      RCALL	_Timer0_Init
(0028) 	Interrupt_Init();
(0029) }
    062F C01B      RJMP	_Interrupt_Init
(0030) 
(0031) //***************************************************************
(0032) // Function    : Gpio_Init
(0033) // Input       : none
(0034) // Output      : none
(0035) // Description : ATmega16 GPIO Initialization
(0036) //***************************************************************
(0037) void Gpio_Init(void)
(0038) {
(0039)     DDRA  = 0xFF; //PortA - Output
_Gpio_Init:
    0630 EF8F      LDI	R24,0xFF
    0631 BB8A      OUT	0x1A,R24
(0040)     PORTA = 0x00; //Output all 0
    0632 2422      CLR	R2
    0633 BA2B      OUT	0x1B,R2
(0041)     DDRB  = 0x0F; //PortB - PB[7:4]/Input,PB[3:0]/Output
    0634 E08F      LDI	R24,0xF
    0635 BB87      OUT	0x17,R24
(0042)     PORTB = 0xF0; //PB[7:4]/Input with pull-up,PB[3:0]/Output all 0
    0636 EF80      LDI	R24,0xF0
    0637 BB88      OUT	0x18,R24
(0043)     DDRC  = 0xFF; //PortC - Output
    0638 EF8F      LDI	R24,0xFF
    0639 BB84      OUT	0x14,R24
(0044)     PORTC = 0x00; //Output all 0
    063A BA25      OUT	0x15,R2
(0045)     DDRD  = 0xFF; //PortD - Output
    063B BB81      OUT	0x11,R24
(0046)     PORTD = 0x00; //Output all 0
    063C BA22      OUT	0x12,R2
(0047) }
    063D 9508      RET
(0048) 
(0049) //***************************************************************
(0050) // Function    : Timer0_Init
(0051) // Input       : none
(0052) // Output      : none
(0053) // Description : ATmega16 Timer0 Initialization,10ms Interval
(0054) //***************************************************************
(0055) void Timer0_Init(void)
(0056) {
(0057) 	TCCR0 = 0x0D;   //1024 division,8M/1024,CTC Mode
_Timer0_Init:
    063E E08D      LDI	R24,0xD
    063F BF83      OUT	0x33,R24
(0058) 	TCNT0 = 0x00;   //Clear Counter
    0640 2422      CLR	R2
    0641 BE22      OUT	0x32,R2
(0059) 	OCR0  = 78;     //78 * 1024/8M = 10ms 
    0642 E48E      LDI	R24,0x4E
    0643 BF8C      OUT	0x3C,R24
(0060) 	TIMSK |= 0x02;  //Enable OCIE0
    0644 B789      IN	R24,0x39
    0645 6082      ORI	R24,2
    0646 BF89      OUT	0x39,R24
(0061) 	TIFR  |= 0x02;  //Clear OCIF0
    0647 B788      IN	R24,0x38
    0648 6082      ORI	R24,2
    0649 BF88      OUT	0x38,R24
(0062) }
    064A 9508      RET
(0063) 
(0064) //***************************************************************
(0065) // Function    : Interrupt_Init
(0066) // Input       : none
(0067) // Output      : none
(0068) // Description : ATmega16 Interrupt Initialization
(0069) //***************************************************************
(0070) void Interrupt_Init(void)
(0071) {
(0072) 	SREG |= 0x80;   //Enable Global Interrupt
_Interrupt_Init:
    064B 9478      BSET	7
(0073) }
    064C 9508      RET
(0074) 
(0075) //***************************************************************
(0076) // Function    : Buzzer_ON/OFF
(0077) // Input       : none
(0078) // Output      : none
(0079) // Description : Buzzer ON/OFF Control
(0080) //***************************************************************
(0081) void Buzzer_ON(void)
(0082) {
(0083) 	PORTB |= 0x08;
_Buzzer_ON:
    064D 9AC3      SBI	0x18,3
(0084) }
    064E 9508      RET
(0085) 
(0086) void Buzzer_OFF(void)
(0087) {
(0088) 	PORTB &= ~0x08;
_Buzzer_OFF:
    064F 98C3      CBI	0x18,3
(0089) }
    0650 9508      RET
FILE: E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\點陣型LCD顯示應用設計\LCD.c
(0001) //******************************************************************************
(0002) // File Name : LCD.c
(0003) // Author    : Steaven
(0004) // Created   : 2008-07-27
(0005) // Modified  : 
(0006) // Revision  : V0.0
(0007) //******************************************************************************
(0008) 
(0009) //PIN DESCRIPTION
(0010) //01  2   3  4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20
(0011) //GND VCC V0 RS  RW  EN  D0  D1  D2  D3  D4  D5  D6  D7  CS1 CS2 RST VEE BLA BLK
(0012) //GND +5V V0 PB0 PB1 PB2 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PC6 PC5 PC7 VEE +5V GND
(0013) 
(0014) #include "iom16v.h" 
(0015) #include "DataType.h"
(0016) #include "LCD.h"
(0017) #include "macros.h" 
(0018) 
(0019) #define cLCD_X_MAX   64
(0020) #define cLCD_Y_MAX  128
(0021) 
(0022) //local functions declaration
(0023) void Set_DI(INT8U RS);
(0024) void Set_RW(INT8U RW);
(0025) void Set_EN(INT8U EN);
(0026) void Set_CS1(INT8U CS1);
(0027) void Set_CS2(INT8U CS2);
(0028) void Set_RST(INT8U RST);
(0029) void Set_Data(INT8U data);
(0030) void LCD_Command_DispOnOff(INT8U onoff);
(0031) void LCD_Command_SetStartLine(INT8U startline);
(0032) void LCD_Command_Set_X(INT8U x);
(0033) void LCD_Command_Set_Y(INT8U y);
(0034) void LCD_Command_WriteByte(INT8U data);
(0035) void LCD_Reset(void);
(0036) void LCD_Clear_Line(INT8U wStartLine,INT8U wEndLine);
(0037) void LCD_Init(void);
(0038) void WriteWord(INT8U const *disp,INT8U x,INT8U y);
(0039) void WriteCharacter(const INT8U *disp,INT8U x,INT8U y,INT8U cs);
(0040) void WritePIC(const INT8U *disp);
(0041) void LCD_Write_Char(INT8U y,INT8U x,const INT8U *pdata);
(0042) void LCD_Write_Dot(INT8U x,INT8U y);
(0043) void LCD_Write_Data(INT8U x,INT8U y,INT8U data);	
(0044) void LCD_Write_Picture(INT8U x1,INT8U y1,INT8U x2,INT8U y2,const INT8U *pdata);
(0045) 
(0046) //******************************************************************************
(0047) // Function    : Set_RS
(0048) // Input       : RS - RS Control Line Level
(0049) // Output      : none
(0050) // Description : LCD(1602) Low Level Interface Function
(0051) //******************************************************************************
(0052) void Set_DI(INT8U RS)
(0053) {
(0054) 	if(RS == 0)
_Set_DI:
  RS                   --> R16
    0651 2300      TST	R16
    0652 F411      BNE	0x0655
(0055) 	{
(0056) 		PORTB &= ~0x01;
    0653 98C0      CBI	0x18,0
(0057) 	}
    0654 C001      RJMP	0x0656
(0058) 	else
(0059) 	{
(0060) 		PORTB |= 0x01;
    0655 9AC0      SBI	0x18,0
(0061) 	}
(0062) }
    0656 9508      RET
(0063) 
(0064) //******************************************************************************
(0065) // Function    : Set_RW
(0066) // Input       : RW - RW Control Line Level
(0067) // Output      : none
(0068) // Description : Low Level Interface Function
(0069) //******************************************************************************
(0070) void Set_RW(INT8U RW)
(0071) {
(0072) 	if(RW == 0)
_Set_RW:
  RW                   --> R16
    0657 2300      TST	R16
    0658 F411      BNE	0x065B
(0073) 	{
(0074) 		PORTB &= ~0x02;
    0659 98C1      CBI	0x18,1
(0075) 	}
    065A C001      RJMP	0x065C
(0076) 	else
(0077) 	{
(0078) 		PORTB |= 0x02;
    065B 9AC1      SBI	0x18,1
(0079) 	}
(0080) }
    065C 9508      RET
(0081) 
(0082) //******************************************************************************
(0083) // Function    : Set_EN
(0084) // Input       : RW - RW Control Line Level
(0085) // Output      : none
(0086) // Description : Low Level Interface Function
(0087) //******************************************************************************
(0088) void Set_EN(INT8U EN)
(0089) {
(0090) 	if(EN == 0)
_Set_EN:
  EN                   --> R16
    065D 2300      TST	R16
    065E F411      BNE	0x0661
(0091) 	{
(0092) 		PORTB &= ~0x04;
    065F 98C2      CBI	0x18,2
(0093) 	}
    0660 C001      RJMP	0x0662
(0094) 	else
(0095) 	{
(0096) 		PORTB |= 0x04;
    0661 9AC2      SBI	0x18,2
(0097) 	}
(0098) }
    0662 9508      RET
(0099) 
(0100) //******************************************************************************
(0101) // Function    : Set_CS2
(0102) // Input       : CS2 - CS2 Control Line Level
(0103) // Output      : none
(0104) // Description : Low Level Interface Function
(0105) //******************************************************************************
(0106) void Set_CS2(INT8U CS2)
(0107) {
(0108) 	if(CS2 == 0) 
_Set_CS2:
  CS2                  --> R16
    0663 2300      TST	R16
    0664 F411      BNE	0x0667
(0109) 	{
(0110) 		PORTC &= ~0x20;
    0665 98AD      CBI	0x15,5
(0111) 	}
    0666 C001      RJMP	0x0668
(0112)  	else
(0113)  	{
(0114)  		PORTC |= 0x20;
    0667 9AAD      SBI	0x15,5
(0115)  	}
(0116) }
    0668 9508      RET
(0117) 
(0118) //******************************************************************************
(0119) // Function    : Set_CS1
(0120) // Input       : CS1 - CS1 Control Line Level
(0121) // Output      : none
(0122) // Description : Low Level Interface Function
(0123) //******************************************************************************
(0124) void Set_CS1(INT8U CS1)
(0125) {
(0126) 	if(CS1 == 0)
_Set_CS1:
  CS1                  --> R16
    0669 2300      TST	R16
    066A F411      BNE	0x066D
(0127) 	{
(0128) 		PORTC &= ~0x40;
    066B 98AE      CBI	0x15,6
(0129) 	}
    066C C001      RJMP	0x066E
(0130) 	else
(0131) 	{
(0132) 		PORTC |= 0x40;
    066D 9AAE      SBI	0x15,6
(0133) 	}
(0134) }
    066E 9508      RET
(0135) 
(0136) 
(0137) //******************************************************************************
(0138) // Function    : Set_CS1
(0139) // Input       : CS1 - CS1 Control Line Level
(0140) // Output      : none
(0141) // Description : Low Level Interface Function
(0142) //******************************************************************************
(0143) void Set_RST(INT8U RST)
(0144) {
(0145) 	if(RST == 0)
_Set_RST:
  RST                  --> R16
    066F 2300      TST	R16
    0670 F411      BNE	0x0673
(0146) 	{
(0147) 		PORTC &= ~0x80;
    0671 98AF      CBI	0x15,7
(0148) 	}
    0672 C001      RJMP	0x0674
(0149) 	else
(0150) 	{
(0151) 		PORTC |= 0x80;
    0673 9AAF      SBI	0x15,7
(0152) 	}
(0153) }
    0674 9508      RET
(0154)  
(0155) //******************************************************************************
(0156) // Function    : Set_Data
(0157) // Input       : data - Data Line Level
(0158) // Output      : none
(0159) // Description : Low Level Interface Function
(0160) //******************************************************************************
(0161) void Set_Data(INT8U data)
(0162) {
(0163) 	PORTA  = data;
_Set_Data:
  data                 --> R16

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久不卡影院| 91黄视频在线观看| 久久综合狠狠综合| 国产剧情av麻豆香蕉精品| 精品91自产拍在线观看一区| 韩国精品免费视频| 国产精品视频一二三区| 99国产精品久久久久久久久久久| 亚洲你懂的在线视频| 欧美视频一区二区三区四区| 秋霞午夜鲁丝一区二区老狼| 欧美videossexotv100| 国产成人精品免费网站| 亚洲视频一二三区| 欧美另类久久久品| 精彩视频一区二区| 国产精品乱码久久久久久| 在线欧美一区二区| 免费成人在线视频观看| 中文字幕第一区综合| 91国产免费看| 精品一区二区三区不卡| 中文字幕一区二区三区视频| 欧美久久久久久久久久| 国产精品中文欧美| 亚洲一区二区中文在线| 欧美大片日本大片免费观看| 成人av高清在线| 日日欢夜夜爽一区| 中文字幕精品—区二区四季| 欧美日韩精品欧美日韩精品| 国产成人综合在线播放| 亚洲va欧美va国产va天堂影院| 久久夜色精品一区| 在线视频国内一区二区| 国产高清一区日本| 午夜精品福利一区二区蜜股av| 久久精品视频一区| 欧美三级蜜桃2在线观看| 国产精品一品视频| 日韩精品91亚洲二区在线观看| 亚洲国产成人午夜在线一区| 欧美日韩精品福利| 不卡免费追剧大全电视剧网站| 日韩精品国产欧美| 亚洲精品免费播放| 国产日韩高清在线| 欧美一区二区美女| 欧美亚洲一区二区在线| 成人性生交大片免费| 麻豆国产欧美一区二区三区| 一区二区三区在线视频免费| 国产午夜三级一区二区三| 欧美电影影音先锋| 在线观看成人小视频| 成人av免费在线观看| 国产激情偷乱视频一区二区三区| 日韩二区三区在线观看| 樱桃视频在线观看一区| 国产精品久久久久婷婷二区次| 欧美精品一区二区久久久| 欧美美女直播网站| 欧美亚洲图片小说| 在线免费一区三区| 91在线观看高清| 本田岬高潮一区二区三区| 国产在线国偷精品产拍免费yy| 日韩国产欧美在线视频| 亚洲国产综合人成综合网站| 亚洲激情综合网| 一区二区三区四区亚洲| 亚洲日本乱码在线观看| 亚洲欧洲美洲综合色网| 国产精品免费久久| 国产精品天干天干在线综合| 国产三级精品视频| 久久亚洲欧美国产精品乐播| 久久亚洲免费视频| 久久精品一区二区三区不卡牛牛| 亚洲精品一区二区在线观看| 精品不卡在线视频| 久久久久久久电影| 亚洲国产精品国自产拍av| 欧美国产亚洲另类动漫| 国产精品久久久久aaaa| 国产精品黄色在线观看| 1024国产精品| 一个色在线综合| 亚洲午夜久久久久久久久电影院| 亚洲成人在线观看视频| 人人狠狠综合久久亚洲| 韩国av一区二区三区| 高清shemale亚洲人妖| 成人av电影免费在线播放| 91丨porny丨国产| 欧美日韩中文国产| 日韩视频在线永久播放| 国产午夜一区二区三区| 亚洲欧美日韩小说| 五月天亚洲婷婷| 国内精品第一页| 成a人片亚洲日本久久| 色久综合一二码| 欧美高清视频一二三区| 精品国产乱码久久久久久牛牛| 欧美精彩视频一区二区三区| 亚洲激情在线播放| 久久成人久久爱| av电影在线观看一区| 欧美午夜精品久久久久久孕妇| 日韩午夜在线观看视频| 国产精品家庭影院| 日韩在线卡一卡二| 成人免费看视频| 欧美日韩精品福利| 国产农村妇女毛片精品久久麻豆| 亚洲激情在线播放| 国产一区二区三区四| 日本精品免费观看高清观看| 精品精品国产高清a毛片牛牛| 国产精品蜜臀av| 日本欧美一区二区三区乱码| 99精品偷自拍| 欧美一级理论片| 亚洲免费电影在线| 狠狠色丁香久久婷婷综合_中| 色婷婷av一区二区三区gif| 欧美变态tickling挠脚心| 亚洲精品中文在线观看| 国产裸体歌舞团一区二区| 欧美亚洲国产bt| 国产精品乱人伦| 久久精品国产999大香线蕉| 91久久免费观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲成人午夜影院| 成人性生交大片免费看中文网站| 欧美一区二区三区日韩| 亚洲综合免费观看高清完整版| 国产经典欧美精品| 日韩欧美亚洲一区二区| 亚洲国产一二三| 91蝌蚪porny成人天涯| 国产精品99久久久| 欧美三级视频在线观看| 日韩精品一区二区三区三区免费| 久久99精品久久久久久国产越南 | 日韩片之四级片| 亚洲黄色小说网站| 99久久伊人网影院| 国产亚洲午夜高清国产拍精品| 免费日本视频一区| 欧美日韩精品三区| 亚洲已满18点击进入久久| www.色综合.com| 中文字幕乱码久久午夜不卡 | 日本一区二区视频在线| 久久国产精品99精品国产| 91精品国产综合久久久蜜臀图片 | 久久男人中文字幕资源站| 久久爱另类一区二区小说| 91精品午夜视频| 午夜视频在线观看一区| 在线观看中文字幕不卡| 亚洲乱码国产乱码精品精98午夜| 99re这里只有精品视频首页| 国产精品久久久久一区| av中文字幕一区| 亚洲精品综合在线| 91麻豆.com| 一区二区三区不卡视频在线观看| 91视视频在线直接观看在线看网页在线看| 日本一区二区不卡视频| va亚洲va日韩不卡在线观看| 一区视频在线播放| 色综合久久中文字幕综合网| 亚洲另类春色校园小说| 色香蕉久久蜜桃| 亚洲成人资源在线| 欧美一区二区免费视频| 麻豆久久久久久| 久久综合九色综合97婷婷女人| 国产精品一区一区| 国产精品视频免费| 在线观看免费一区| 日韩1区2区3区| 久久女同性恋中文字幕| 99久久777色| 亚洲国产美国国产综合一区二区| 91精品在线麻豆| 国产精品一区二区三区四区| 国产精品久久国产精麻豆99网站| 日本黄色一区二区| 蜜臀91精品一区二区三区| 国产片一区二区三区| 一本久久a久久精品亚洲| 日韩精品一二三四| 国产欧美日韩三级| 在线国产亚洲欧美| 国产一区二区三区精品欧美日韩一区二区三区 |