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

📄 lcd.c

📁 Who to use ECAN network with dsPIC33F, Microchip microcontroller.
💻 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 + -