RSPIN=1;
RWPIN=0;
P2=databuf;
EPIN=1;
_nop_();
EPIN=0;
//选择数据寄存器
//选择写
//把数据字送入 P2
//使能线电平变化,命令送入 1602 的 8 位数据口
//恢复使能线电平
}
void lcd_write_address(unsigned char x,unsigned char y)
{
x&=0x0f;
y&=0x01;
if(y==0x00)
//列地址限制在 0-15
//行地址限制在 0-1
lcd_write_com_busy(x|0x80);
//第一行的列地址写入
else
lcd_write_com_busy((x+0x40)|0x80);
//第二行的列地址写入
}
void lcdreset()
{
delay(150);
lcd_write_com(0x38);
delay(50);
lcd_write_com(0x38);
delay(50);
lcd_write_com(0x38);
lcd_write_com_busy(0x38);
lcd_write_com_busy(0x08);
lcd_write_com_busy(0x01);
lcd_write_com_busy(0x06);
lcd_write_com_busy(0x0c);
//8 位数据,双列,5*7 字形
//显示功能关,无光标
//清屏指令
//写入新的数据后,光标右移,显示屏不移动
//显示功能开,无光标,
}
void lcd_write_line(unsigned char dat[],int byte)
{
char i;
for(i=0;i
kc=MJTemp*100;
lcd_write_com(0x80+8);
lcd_write_data(0x30+kc/1000);
lcd_write_data(0x30+kc/100%10);
lcd_write_data('.');
lcd_write_data(0x30+kc%100/10);
lcd_write_data(0x30+kc%10);
lcd_write_data('C');
}
void xianshih()
{
unsigned int kH;
delay(10) ;
lcd_write_com(0x80+0x40);
lcd_write_line("HJTemp:",7);
kH=HJTemp*100;
lcd_write_com(0x80+0x40+8);
lcd_write_data(0x30+kH/1000);
lcd_write_data(0x30+kH/100%10);
lcd_write_data('.');
lcd_write_data(0x30+kH%100/10);
lcd_write_data(0x30+kH%10);
lcd_write_data('C');
}
void tndelay_60us(int k)
{
;
int i,j
for(i=0;i
TN_Data_Buff[j]=TN_Data_Buff[j]<<1;
TN_Data_Buff[j]=TN_Data_Buff[j]|BitState;
while(!clk);
}
}
if(TN_Data_Buff[0]==Item)
k=8;
}
tn=1;
}
void tndelay_600us(int k)
{
;
int i,j
for(i=0;i
{
int k;
lcdreset();
HJTemp=10;
tn=1;
{
TN_IR_GetData(0x66);
HJTemp = iTemp;
TN_IR_GetData(0x4c);
MJTemp = iTemp;
xianshim();
xianshih();
}
}