📄 lcd.c
字号:
/** *********************************************************
FICHIER : lcd.c
Date 11/02/2009
Version 1.0
********************************************************** **/
#include <p33Fxxxx.h>
#include "lcd.h"
#include "temps.h"
#include "string.h"
#include "stdio.h"
void init_lcd(void)
{
TRISBbits.TRISB5 = 0;
TRISBbits.TRISB6 = 0;
TRISBbits.TRISB7 = 0;
TRISBbits.TRISB8 = 0;
TRISBbits.TRISB9 = 0;
TRISBbits.TRISB10 = 0;
TRISBbits.TRISB11 = 0;
TRISBbits.TRISB12 = 0;
TRISBbits.TRISB13 = 0;
TRISBbits.TRISB14 = 0;
TRISBbits.TRISB15 = 0;
envoie_cmd_lcd(0x38);
envoie_cmd_lcd(0x38);
envoie_cmd_lcd(0x38);
envoie_cmd_lcd(0x01);
envoie_cmd_lcd(0x02);
envoie_cmd_lcd(0x06);
envoie_cmd_lcd(0x0F);
envoie_cmd_lcd(0x14);
}
void envoie_cmd_lcd(unsigned char envoie)
{
E = 1;
donnee = donnee2(envoie);
RW=0;
RS = 0;
tempo(1e-3); //1ms
E = 0;
tempo(1e-3); //1ms
}
void envoie_octet_lcd(unsigned char ad, unsigned char envoie)
{
E = 1;
ad |= 0x80;
donnee = donnee2(ad);
RW=0;
RS = 0;
tempo(1e-3); //1ms
E = 0;
tempo(1e-3); //1ms
E = 1;
donnee = donnee2(envoie);
RW=0;
RS = 1;
tempo(1e-3); //1ms
E = 0;
tempo(1e-3); //1ms
}
void envoie_octet_lcd2(unsigned char envoie)
{
E = 1;
donnee = donnee2(envoie);
RW=0;
RS = 1;
tempo(1e-3); //1ms
E = 0;
tempo(1e-3); //1ms
}
void envoie_string_lcd(unsigned char ad, char *envoie)
{
int i=0;
if(envoie == 0) return;
if(envoie[i] == '\0') return;
envoie_octet_lcd(ad, envoie[i++]);
while(envoie[i] != '\0')
{
envoie_octet_lcd2(envoie[i++]);
}
}
void affiche_double_lcd(unsigned char position, double donnee)
{
char sbuf[20];
int y;
y = sprintf(sbuf, "%.6f ", donnee);
envoie_string_lcd(position,sbuf);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -