📄 lcd.c
字号:
#include"at89x52.h"
#include"code.h"
#define uchar unsigned char
void timer1_init();
void send_date(uchar date);
void LCD_dispaly(uchar row_date,uchar cloum_date);
void print(uchar dispaly_character);
uchar dispaly_buffer[8];
uchar ptr_bit=0x00;
uchar count_temp;
/**********************************************************
函数名:main
功能:主函数,程序入口
返回值:无
************************************************************/
void main()
{
timer1_init();
while(1);
}
/**********************************************************
函数名:send_date
功能:发送数据
参数:将要发送的数据 date
************************************************************/
void send_date(uchar date)
{
for(count_temp=0x00;count_temp<0x08;count_temp++)
{
P1_7=0;
P1_6=date&(0x80>>count_temp);
P1_7=1;
}
}
/**********************************************************
函数名:LCD_dispaly
功能:点阵的显示
参数:行列的数据row_date,cloum_date
************************************************************/
void LCD_dispaly(uchar row_date,uchar cloum_date)
{
P1_5=0;
send_date(cloum_date);
send_date(row_date);
P1_5=1;
}
/**********************************************************
函数名:timer1_init
功能:定时器
返回值:无
************************************************************/
void timer1_init()
{
TL1=0xbf;
TH1=0xf0;
TCON=0x40;
TMOD=0x10;
IE=0x88;
}
/**********************************************************
函数名:timer1_over
功能:中断
返回值:无
************************************************************/
void timer1_over() interrupt 3
{
print('H');
LCD_dispaly(dispaly_buffer[0x07-ptr_bit],cloum_san_bit[ptr_bit]);
ptr_bit++;
if(ptr_bit==0x08)
{ptr_bit=0x00;}
TL1=0xbf;
TH1=0xf0;
}
/**********************************************************
函数名:print
功能:将要显示的字符数据防入缓冲区
参数:要显示的字符
************************************************************/
void print(uchar dispaly_character)
{
for(count_temp=0x00;count_temp<0x08;count_temp++)
{
dispaly_buffer[count_temp]=row_code[dispaly_character-33][count_temp];/////////
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -