📄 usermain.c
字号:
// design by Itachi Shay
#include "FS7805.h"
#include "FS7805Regs.h"
#include "user_main.h"
#include "intrins.h"
#include "lcd.h"
#define nop _nop_(void)
#define uint unsigned int
#define uchar unsigned char
#define disp_off 0x3e
#define disp_on 0x3f
#define disp_x 0xb8
#define disp_z 0xc0
#define disp_y 0x40
#define comm 0
#define dat 1
#define data_ora P3 //MCU P1<------> LCM
#define di P2_2 //Data or Instrument Select,H:写数据,L:写指令
#define rw P2_1 //Write or Read,H:read,L:write
#define e P2_0 //读写使能
#define cs1 P2_3 //cs1=H,选择左半屏
#define cs2 P2_4 //cs2=H,选择右半屏
#define rst P2_5 //Lcm reset,低有效
//sbit bf =P3^7;
//sbit res=P1^4;
/*---------------延时子程序----------------*/
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++)
;
}
/*------------写数据或命令到LCD--------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
// chk_busy ();
di=dat_comm;
delay1 (1);
rw=0;
delay1 (1);
e=1;
delay1 (1);
data_ora=content;
delay1 (1);
e=0;
delay1 (1);
}
void lat_disp (uchar data1,uchar data2)
{
uchar i,j;
cs1=1;cs2=1;
wr_lcd (comm,disp_on);
for(j=0;j<8;j++)
{
wr_lcd (comm,disp_x+j);
wr_lcd (comm,disp_z);
wr_lcd (comm,disp_y);
for(i=0;i<32;i++)
{
wr_lcd (dat,data1);
wr_lcd (dat,data2);
}
}
}
/*---指定位置(x,y)显示row_xl行(每行row_yl个)汉字(大小8xl*yl)---*/
/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=0;
// delay(50);
rst=1;
cs1=1;cs2=1;
wr_lcd (comm,disp_off);
wr_lcd (comm,disp_on);
}
/*------------------主程序--------------------*/
void usermain()
{
init_lcd ();
while (1)
{
lat_disp (0xff,0x00);
LCD_Menu();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -