📄 sed1565_s.h.bak
字号:
//程序是在AtmanAvr上调试通过的
/*
#ifndef _J_H_
#define _J_H_
#ifndef __AVR_ATmega8__
#define __AVR_ATmega8__
#endif
#define __MCU_CLOCK_FREQUENCY__ _8.0000_MHz
#include <io.h>
#include <wdt.h>
#include <sleep.h>
#include <Interrupt.h>
#include <sig-avr.h>
#include <inttypes.h>
#define uchar unsigned char
#define uint unsigned int
#endif
*/
#define cs 5
#define si 6
#define scl 7
#define CorD 4
void lcm_out(char a);
void wr_com(uchar a);
void wr_date(uchar a);
void InitLCD(void);
//PORTD.2-->片选
//PORTD.3-->数据
//PORTD.4-->时钟
void nop(void)
{
//_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
uchar i;
for (i=0;i<20;i++)
{
#asm("NOP") ;
}
}
void delay(uchar i)
{
uchar j;
for (j=0;j<i;j++)
nop();
}/*
int main(void)
{
io_init();
lcm_init();
//第一行80,第二行90,第三行88,第四行98
//第一行显示
wr_com(0x80);
wr_date('o');
wr_date('k');
while(1)
{
}
}
*/
/*****************************************
液晶发送子程序(串行)
输入数据:要发送的8位数据
输出:无
作者:文志刚
修改时间:2004-08-11
*****************************************/
void lcm_out(char a) //scl上升沿数据有效
{
char i,d;
for(i=0;i<8;i++)
{
PORTD&=~Bit(scl);
d=a&0x80;
if(d)
PORTD|=Bit(si);
else
PORTD&=~Bit(si);
a<<=1;
PORTD|=Bit(scl);
}
}
/*****************************************
液晶写控制字程序
输入数据:要写入的8位数据
输出:无
作者:文志刚
修改时间:2004-08-11
*****************************************/
void wr_com(uchar a)
{
/*
uchar s;
s=a&0xf0;
lcm_out(0xf8);
lcm_out(s);
s=a&0x0f;
s<<=4;
*/
lcm_out(a);
PORTD&=~Bit(CorD);
}
/*****************************************
液晶写数据字程序
输入数据:要写入的8位数据
输出:无
作者:文志刚
修改时间:2004-08-11
*****************************************/
void wr_date(uchar a)
{
/*
uchar s;
s=a&0xf0;
lcm_out(0xfa);
lcm_out(s);
s=a&0x0f;
s<<=4;
*/
lcm_out(a);
PORTD|=Bit(CorD);
}
/*****************************************
液晶初始化程序
输入数据:无
输出:无
作者:文志刚
修改时间:2004-08-11
*****************************************/
void InitLCD(void)
{
uchar i;
PORTD&=~Bit(cs);;//片选
wr_com(0xE2); //复位
wr_com(0xA3); //设置偏压比
wr_com(0x23); //设置rb/ra比
wr_com(0x2F); //选择内部电源操作模式
wr_com(0x81); //设置可编程电压调整模式
wr_com(0x27); //设置电压编程寄存器
wr_com(0xA0); //adc选择(a0:normal a1:左-右翻转)
wr_com(0xA6); //显示模式(0xa6正显 0xa7反显)
wr_com(0xA4); //设置全显(0xa4正常显 0xa5全显黑
wr_com(0xC0); //输出方向选择(0xc0 normal 0xc8上下翻转)
wr_com(0xAF); //显示开关0xaf:开0xae 关
wr_com(0x40); //开始行
wr_com(0xB0); //开始page
wr_com(0x10); //开始列
wr_date(0x00);
for (i=0;i<48;i++)
{ //wr_com(0x40);
wr_date(CirCode[0][i]);}
wr_com(0x41);
wr_com(0xB1); //开始page
wr_com(0x10); //开始列
wr_date(0x00);
for (i=0;i<128;i++)
{ //wr_com(0x40);
wr_date(0xff);}
// wr_date(0xff);
// wr_com(0x00);
// wr_date(0xff);
// wr_date(0xff);
//wr_date(0xff);
//wr_date('k');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -