⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2x16lcd.h

📁 attendace system on 8051 chipset from intel.
💻 H
字号:
#ifndef _2x16LCD_H
#define _2x16LCD_H

#include "reg52\reg52.h"

/*F16 New Card*/
sbit ENABLE  = 0xA4;                 //Enable           Pin 23
sbit RS      = 0xA2;                 //RS               Pin 24
sbit RW      = 0xB4;
sfr LCD_DATA = 0x80;

#define DELAY 10

#define ENABLE_LCD() CE = 1; RW = 0;
#define DISABLE_LCD() CE = 0

void lcddelay(int milliseconds)
{
        for(; milliseconds > 0; milliseconds--);
}

void init2x16lcd()
{
        ENABLE_LCD();

        RS = 0;
        LCD_DATA = 0x38; /*Dual lined / 8 bits*/
        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;
        lcddelay(DELAY);      

        RS = 0;
        LCD_DATA = 0x0E; /*Init display*/
        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;                   
        lcddelay(DELAY);
                
        RS = 0;
        LCD_DATA = 0x01; /*Clear display*/
        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;
        lcddelay(DELAY);
        
        RS = 0;
        LCD_DATA = 0x06;
        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;
        lcddelay(DELAY);

        RS = 0;
        LCD_DATA = 0x80;
        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;
        lcddelay(DELAY);

        DISABLE_LCD();
}

void gotoxy(unsigned char x, unsigned char y)
{
        ENABLE_LCD();

        if(y == 1)
        {
                RS = 0;
                LCD_DATA = 0x80;
                ENABLE = 1;
                lcddelay(DELAY);
                ENABLE = 0;
        }
        else
        {
                RS = 0;
                LCD_DATA = 0xC0;
                ENABLE = 1;
                lcddelay(DELAY);
                ENABLE = 0;
        }
        for(; x >= 1; x--)
        {
                RS = 0;
                LCD_DATA = 0x14;
                ENABLE = 0;
                lcddelay(DELAY);
                ENABLE = 1;
                lcddelay(DELAY);
        }

        DISABLE_LCD();
}

void putch(char ch)
{
        ENABLE_LCD();

        RS = 1;
        LCD_DATA = ch;

        ENABLE = 1;
        lcddelay(DELAY);
        ENABLE = 0;
        lcddelay(DELAY);

        DISABLE_LCD();

        return;
}

void putstring(unsigned char vi1, unsigned char vi2, char* string)
{
        for(; vi1 < vi2; vi1++)
        {
                putch(string[vi1]);
        }
}

void clearlcd()
{
        gotoxy(1,1);
        putstring(0,16,"                ");
        gotoxy(1,2);
        putstring(0,16,"                ");
}

void puts(char *str)
{
        while(*str)
        {
                putch(*str);
                str++;
        }
}

/*
void delline(int line)
{
        if(line > 2)
        return;
        else
        {
                gotoxy(1,line);
                putstring(0,16,"                ");
        }
}
*/

/*
void writeString(unsigned char left, unsigned char top, char *str)
{
        gotoxy(left, top);
        puts(str);
}
*/

/*
void ____puts(char *str)
{
        while(*str)
        {
                putch(*str);
                str++;
        }
}

void __puts(char *str)
{
        while(*str)
        {
                putch(*str);
                str++;
        }
}
*/

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -