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

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

?? tg_4bitlcd.c

?? 嵌入式LCD驅動程序的實現top01_pac01
?? C
?? 第 1 頁 / 共 3 頁
字號:
//===================================================================
// This file contains some basic LCD functions (4bit mode).         =
// The R/W-pin of the LCD is permanently set to "write".            =
//                                                                  =
// Used MCU : Intel D87C51FA ( 256 Byte RAM, 8 KByte EPROM,         =
//                             3 Timer, UART, @ 11.0592 MHz )       =
//                                                                  =
// Compiler commandline : sdcc program.c --stack-after-data         =
// Compiler version SDCC V2.19Ba                                    =
//===================================================================

//===================================================================
// Port-map of the MCU :                                            =
//                                                                  =
// P0_0 -> unused                                                   =
// P0_1 -> unused                                                   =
// P0_2 -> unused                                                   =
// P0_3 -> unused                                                   =
// P0_4 -> unused                                                   =
// P0_5 -> unused                                                   =
// P0_6 -> unused                                                   =
// P0_7 -> unused                                                   =
//                                                                  =
// P1_0 -> unused                                                   =
// P1_1 -> unused                                                   =
// P1_2 -> unused                                                   =
// P1_3 -> unused                                                   =
// P1_4 -> unused                                                   =
// P1_5 -> unused                                                   =
// P1_6 -> unused                                                   =
// P1_7 -> unused                                                   =
//                                                                  =
// P2_0 -> unused                                                   =
// P2_1 -> unused                                                   =
// P2_2 -> LCD RS                                                   =
// P2_3 -> LCD E                                                    =
// P2_4 -> LCD D4                                                   =
// P2_5 -> LCD D5                                                   =
// P2_6 -> LCD D6                                                   =
// P2_7 -> LCD D7                                                   =
//                                                                  =
// P3_0 -> [RXD]  unused                                            =
// P3_1 -> [TXD]  unused                                            =
// P3_2 -> [INT0] unused                                            =
// P3_3 -> [INT1] unused                                            =
// P3_4 -> [T0]   unused                                            =
// P3_5 -> [T1]   unused                                            =
// P3_6 -> [WR]   unused                                            =
// P3_7 -> [RD]   unused                                            =
//                                                                  =
//===================================================================


// INCLUDES =========================================================
#include <regc51fx.h>     // Definitions of registers, SFRs and Bits
// END INCLUDES =====================================================


// DEFINES ==========================================================
#define LCD_DATA  P2      // Dataport of LCD-Display (D4..D7) 
#define LCD_RS    P2_2    // Register Select of LCD-Display
#define LCD_E     P2_3    // Enable of LCD-Display
#define CTRL_REG  0       // Select instruction register
#define DATA_REG  1       // Select data register
#define BLINK     0x01    // Alias for blinking cursor
#define NOBLINK   0x00    // Alias for non blinking cursor
#define SHOW      0x02    // Alias for cursor on
#define HIDE      0x00    // Alias for cursor off
#define ON        0x04    // Alias for display on
#define OFF       0x00    // Alias for display off
                                                                                    
// END DEFINES ======================================================


// ISR-Prototypes ===================================================
void External0_ISR(void) interrupt 0;         // ISR for the external input INT0
void Timer0_ISR(void)    interrupt 1 using 2; // ISR for Timer0 overflow
void External1_ISR(void) interrupt 2;         // ISR for the external input INT1
void Timer1_ISR(void)    interrupt 3 using 3; // ISR for Timer1 overflow
void Serial_ISR(void)    interrupt 4 using 1; // ISR for serial reception
void Timer2_ISR(void)    interrupt 5;         // ISR for Timer2 overflow
// END ISR-Prototypes ===============================================


// Prototypes =======================================================
void init_MCU(void);                    // Initialize the MCU

void delay(unsigned int time_100us);    // Timer dependend delay-routine
void putchar(unsigned char value);      // Send a character via UART
void UART_puts(unsigned char *text);    // Sends a string to the UART
void init_LCD(void);                    // Initialize the LCD display
void clrscr(void);                      // Clears LCD screen
void LCD_putchar(unsigned char value);  // Writes a character to display
// Prints a text to x/y position
void LCD_printxy(unsigned char x,unsigned char y, unsigned char *text);
// Controls the display
void control_LCD(unsigned char dsp,unsigned char blink,unsigned char cursor);
// Sets LCD write position
void gotoxy(unsigned char x,unsigned char y);

// END Prototypes ===================================================


// Globals ==========================================================

// Table to select DD-RAM address (including instruction and address)
// 0x00..0x0F -> Line 1, 0x40..0x4F -> Line 2
static unsigned char code LOCATION[2][16] = { {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
                                               0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F},
                                              {0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
                                               0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF} };

volatile unsigned int  DELAY;                   // Global delaytime

// END Globals ======================================================


/********************************************************************/
/* Function    : External0_ISR()                                ISR */
/*------------------------------------------------------------------*/
/* Description : Interrupt-Service-Routine on vector #0 for         */
/*               handling interrupt requests on external pin P3_2.  */
/*------------------------------------------------------------------*/
/* Author      : Thorsten Godau  NT8                                */
/*------------------------------------------------------------------*/
/* Input       : none                                               */
/*------------------------------------------------------------------*/
/* Returnvalue : none                                               */
/*------------------------------------------------------------------*/
/* History     : 06/99    V1.0 Basic routine                        */
/*                                                                  */
/********************************************************************/
void External0_ISR(void) interrupt 0 
{
// Safety-routine
_asm
  nop
_endasm;
 
return;  
}


/********************************************************************/
/* Function    : Timer0_ISR()                                   ISR */
/*------------------------------------------------------------------*/
/* Description : Interrupt-Service-Routine on vector #1 for         */
/*               handling Timer0 interrupts. Register set #2 is     */
/*               used to store important registers.                 */
/*               The routine is called every 200祍.                 */
/*------------------------------------------------------------------*/
/* Author      : Thorsten Godau  NT8                                */
/*------------------------------------------------------------------*/
/* Input       : none                                               */
/*------------------------------------------------------------------*/
/* Returnvalue : none                                               */
/*------------------------------------------------------------------*/
/* History     : 06/99    V1.0 Basic routine                        */
/*                                                                  */
/********************************************************************/
void Timer0_ISR(void) interrupt 1 using 2
{
ET0 = 0;                     // Disable Timer0-interrupt

if ( DELAY > 0 ) DELAY--;    // Timebase ticks for delay-routine

ET0 = 1;                     // Enable Timer0-interrupt

return;
}


/********************************************************************/
/* Function    : External1_ISR()                                ISR */
/*------------------------------------------------------------------*/
/* Description : Interrupt-Service-Routine on vector #2 for         */
/*               handling interrupt requests on external pin P3_3.  */
/*               Free for further use.                              */
/*------------------------------------------------------------------*/
/* Author      : Thorsten Godau  NT8                                */
/*------------------------------------------------------------------*/
/* Input       : none                                               */
/*------------------------------------------------------------------*/
/* Returnvalue : none                                               */
/*------------------------------------------------------------------*/
/* History     : 06/99    V1.0 Basic routine                        */
/*                                                                  */
/********************************************************************/
void External1_ISR(void) interrupt 2
{
// Safety-routine
_asm
  nop
_endasm;
  
return;
}


/********************************************************************/
/* Function    : Timer1_ISR()                                   ISR */
/*------------------------------------------------------------------*/
/* Description : Interrupt-Service-Routine on vector #3 for         */
/*               handling Timer1 interrupts. Register set #3 is     */
/*               used to store important registers.                 */
/*               Free for further use.                              */
/*------------------------------------------------------------------*/
/* Author      : Thorsten Godau  NT8                                */
/*------------------------------------------------------------------*/
/* Input       : none                                               */
/*------------------------------------------------------------------*/
/* Returnvalue : none                                               */
/*------------------------------------------------------------------*/
/* History     : 06/99    V1.0 Basic routine                        */
/*                                                                  */
/********************************************************************/
void Timer1_ISR(void) interrupt 3 using 3
{
ET1 = 0;                     // Disable Timer1-interrupt

// Safety-routine
_asm
  nop

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频一区二区三区在线观看| 精品国产三级电影在线观看| 久久国产精品72免费观看| 国产精品每日更新在线播放网址| 欧美视频一区在线| av在线一区二区三区| 国产在线精品一区二区三区不卡| 亚洲高清免费在线| 中文字幕一区二区三区不卡在线 | 国产精一区二区三区| 一区二区成人在线| 国产区在线观看成人精品| 蜜桃久久精品一区二区| 亚洲欧美日韩国产成人精品影院 | 久久一夜天堂av一区二区三区| 欧美性猛交xxxxxx富婆| 99久久99精品久久久久久| 精品中文av资源站在线观看| 日韩精品一二三四| 亚洲国产成人高清精品| 自拍偷拍欧美激情| 中文字幕精品三区| 久久久久97国产精华液好用吗| 欧美一区二区视频免费观看| 在线一区二区三区四区五区| 成人综合婷婷国产精品久久免费| 久久超碰97中文字幕| 日本亚洲三级在线| 亚洲一区二区偷拍精品| 夜夜嗨av一区二区三区网页| 亚洲视频免费看| 最新不卡av在线| 亚洲视频在线观看三级| 亚洲欧美日韩在线| 亚洲精品高清在线| 伊人一区二区三区| 亚洲综合在线电影| 亚洲一区二区黄色| 视频一区视频二区中文| 亚洲成av人片在线观看无码| 亚洲综合另类小说| 视频一区在线播放| 久久99精品久久久久婷婷| 久久er精品视频| 国产精品一区专区| 成人少妇影院yyyy| 91视频免费观看| 色噜噜夜夜夜综合网| 欧美视频一区二区| 日韩欧美国产一区二区在线播放| 亚洲国产日韩a在线播放性色| 亚洲线精品一区二区三区| 亚洲一区在线观看视频| 香蕉久久夜色精品国产使用方法| 日韩在线一区二区| 激情综合色综合久久| 大陆成人av片| 欧洲人成人精品| 欧美日韩国产首页在线观看| 日韩美女视频在线| 精品88久久久久88久久久| 国产清纯白嫩初高生在线观看91| 中文字幕一区二区三区精华液| 亚洲综合自拍偷拍| 奇米在线7777在线精品 | 欧美群妇大交群的观看方式| 欧美一区二区精美| 中文字幕欧美日本乱码一线二线| 亚洲欧美中日韩| 日韩激情在线观看| 福利视频网站一区二区三区| 欧美伊人久久久久久午夜久久久久| 欧美一级在线免费| 国产精品入口麻豆九色| 亚洲国产婷婷综合在线精品| 精品一区在线看| 欧洲一区二区三区免费视频| 日韩精品高清不卡| 不卡av免费在线观看| 51精品秘密在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 午夜电影一区二区| 高清不卡一区二区在线| 欧美日韩夫妻久久| 国产精品二三区| 免费成人性网站| 在线观看中文字幕不卡| 久久久久国产精品人| 五月综合激情婷婷六月色窝| 国产福利一区二区| 欧美精品丝袜中出| 国产精品乱人伦| 久久国产日韩欧美精品| 在线免费不卡视频| 中文字幕国产一区二区| 久久激情综合网| 欧美日本高清视频在线观看| 中文字幕五月欧美| 国产裸体歌舞团一区二区| 91黄色激情网站| 欧美国产综合色视频| 久久99精品国产91久久来源| 欧美色老头old∨ideo| 国产精品拍天天在线| 国内久久精品视频| 日韩欧美中文一区二区| 亚洲va国产va欧美va观看| 色综合久久久久综合99| 国产午夜精品一区二区三区视频 | 中文在线一区二区| 极品少妇xxxx偷拍精品少妇| 欧美高清dvd| 亚洲一区二区欧美日韩| 色婷婷亚洲精品| 中文字幕欧美区| 国产精品白丝jk白祙喷水网站| 555夜色666亚洲国产免| 五月天中文字幕一区二区| 91传媒视频在线播放| 亚洲卡通欧美制服中文| 99久久婷婷国产综合精品电影 | 日韩欧美一级片| 午夜精品一区在线观看| 欧美视频日韩视频| 亚洲综合一二区| 欧美日韩在线免费视频| 亚洲午夜在线电影| 欧美在线一区二区三区| 亚洲男同1069视频| 色视频欧美一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 成人妖精视频yjsp地址| 国产精品毛片久久久久久久| 成人福利视频在线看| 中文字幕一区视频| 色悠悠久久综合| 亚洲午夜精品在线| 欧美视频自拍偷拍| 日韩成人精品在线| 制服丝袜亚洲色图| 日本不卡123| 日韩精品资源二区在线| 国产精品69毛片高清亚洲| 国产偷国产偷精品高清尤物| 成人av资源在线观看| 一区二区三区中文字幕精品精品 | 国产欧美日本一区二区三区| 成人中文字幕合集| 国产精品护士白丝一区av| 色综合色综合色综合| 亚洲一区二区三区视频在线 | 欧美高清性hdvideosex| 免费成人美女在线观看.| 久久综合九色综合97_久久久| 成人永久aaa| 亚洲国产aⅴ天堂久久| 欧美一区二区三区日韩| 国产一区二区影院| 亚洲婷婷在线视频| 欧美一二三区精品| 成人午夜大片免费观看| 一区二区三区在线观看网站| 91精品国产黑色紧身裤美女| 国产一区二区三区| 亚洲精品五月天| 精品日本一线二线三线不卡| 成人性视频免费网站| 亚洲国产aⅴ天堂久久| 久久久久久久久久美女| 色丁香久综合在线久综合在线观看| 丝袜诱惑制服诱惑色一区在线观看| 26uuu另类欧美亚洲曰本| 91同城在线观看| 麻豆成人免费电影| 亚洲欧美另类综合偷拍| 日韩精品中文字幕一区| 99精品国产一区二区三区不卡| 欧美aⅴ一区二区三区视频| 国产精品天干天干在线综合| 欧美日韩国产美| 懂色av一区二区在线播放| 午夜国产精品影院在线观看| 国产欧美日韩亚州综合 | 亚洲精品午夜久久久| 精品久久一二三区| 91九色最新地址| 东方aⅴ免费观看久久av| 日韩精品91亚洲二区在线观看| 国产精品妹子av| 欧美mv日韩mv国产网站app| 色一情一乱一乱一91av| 国产精品1区2区3区| 天天综合天天做天天综合| 综合亚洲深深色噜噜狠狠网站| www一区二区| 日韩一二三区不卡| 欧美日韩视频专区在线播放| av在线免费不卡| 粉嫩欧美一区二区三区高清影视 | 亚洲成人1区2区|