📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: 4×20串行液晶演示
//-----------------------------------------------------------------
// 说明: 本例运行时,串行液晶前两行首先显示:
// 4x20 Serial LCD DEMO
// --------------------
// 当光标在第3行开始闪烁时,虚拟终端中输入的英文与数字字符将显示在
// LCD第3,4行上,输入过程中按下ESC键可清屏.
//
// 本例液晶各行DDRAM地址如下:
// 第1行: 80~93 第2行: C0~D3 第3行: 94~A7 第4行: D4~E7
//
//-----------------------------------------------------------------
#include <pic.h>
#include <ctype.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000UL
INT8U s_buff[41]; //串口字符接收缓冲
INT8U s_idx = 0; //缓冲字符索引
//-----------------------------------------------------------------
// 延时函数
//-----------------------------------------------------------------
void delay(INT8U x)
{
while (--x) __delay_ms(100);
}
//-----------------------------------------------------------------
// 串口初始化
//-----------------------------------------------------------------
void Serial_port_init()
{
}
//------------------------------------------------------------------
// 发送一个字符
//------------------------------------------------------------------
void PutChar(INT8U c)
{
}
//------------------------------------------------------------------
// 发送字符串
//------------------------------------------------------------------
void PutStr(INT8U s[])
{
}
//-----------------------------------------------------------------
// 写LCD命令
//-----------------------------------------------------------------
void Write_LCD_COMMAND(INT8U comm)
{
}
//-----------------------------------------------------------------
// 设置显示位置
//-----------------------------------------------------------------
void set_lcd_pos(INT8U x, INT8U y)
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
INT8U i = 0;
ADCON1 = 6; //RA端口设为数字端口
Serial_port_init(); //初始化串口
delay(4); //延时400ms等待液晶初始化完成
set_lcd_pos(1,0); //光标定位到第1行开始位置
PutStr((INT8U*)"4x20 Serial LCD DEMO"); //在LCD上显示提示字符串
set_lcd_pos(2,0); //光标定位到第2行开始位置
PutStr((INT8U*)"--------------------"); //在LCD上显示提示字符串
RCIE = 1; //使能接收中断
GIE = 1; //开放全局中断
PEIE = 1; //使能外部中断
while (1) //等待中断接收并显示
{
}
}
//------------------------------------------------------------------
// 串口接收中断函数
// 接收缓冲元素0~19对应第3行, 21~40为对应第4行, 20,41两个元素为'\0'
//------------------------------------------------------------------
void interrupt Serial_Port_Recv_ISR()
{
INT8U i, c;
if(RCIE && RCIF)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -