📄 1621 me_c.c
字号:
#include "pic.h"
#define nop() asm("NOP")
#define lcd_cs RA5
#define lcd_data RB2
#define lcd_clk RB4
#define RC256 0x18 //系统时钟选择为片内RC振荡器
#define XTAL32K 0x14 //系统时钟选为外部晶振
#define SYSEN 0x01 //打开系统时钟
#define LCDON 0x03 //打开偏压发生器
#define BIAS_1_2 0x28 //1/2偏压
#define SYSDIS 0x00 //关闭系统时钟和偏压发生器
//void send_com(unsigned char command);
//void send_bit(unsigned char data,unsigned char bitcnt);
/*void delay1s()
{
unsigned char i;
unsigned int j;
for(i=0;i<10;i++)
for(j=0;j<1300;j++);
}*/
void lcd_init(void)
{
lcd_cs=0;
lcd_clk=1;
nop();
lcd_clk=0;
nop();
}
void send_bit(unsigned char data,unsigned char bitcnt)
{
unsigned char i;
for(i=bitcnt;i>0;--i)
{
if(data&0x80)
lcd_data=1;
else lcd_data=0;
lcd_clk=1;
nop();
nop();
lcd_clk=0;
nop();
nop();
#asm
RLF _data,1
MOVLW 0x01
ANDWF _data,1
#endasm
// data<<=1;
}
}
void send_com(unsigned char command)
{
lcd_init();
send_bit(0x80,4);
send_bit(command,8);
lcd_clk=1;
lcd_cs=1;
lcd_data=1;
}
void init_ht1621(void);
{
unsigned char com;
com=BIAS;
send_com(com);
com=RC256;
send_com(com);
com=SYSEN;
send_com(com);
com=LCDON;
send_com(com);
}
void main()
{
unsigned char j;
TRISA=0xdf;
TRISB=0xeb;
init_ht1621();
send_com(0xa0,4);
send_com(0x00,5);
for(j=16;--j;)
send_com(0xff,8);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -