2 baidu 34427722 baidu_34427722 于 2016.04.01 22:45 提问

请求帮我详细解释下这个程序,谢谢了

#include
#include
#define uchar unsigned char
#define uint unsigned int

#define WCOMM XBYTE[0x0000]
#define RCOMM XBYTE[0x0001]
#define WDATA XBYTE[0x0002]
#define RDATA XBYTE[0x0003]
void BusyWait()
{
while((RCOMM & 0x80) != 0x00);
}
void Write_Command(uchar cmd)
{
BusyWait();
WCOMM=cmd;
}
void Write_Data(uchar dat)
{
BusyWait();WDATA=dat;
}
void Initialse()
{
Write_Command(0x30);
Write_Command(0x01);
Write_Command(0x06);
Write_Command(0x0c);
}
void ShowString(uchar *str)
{
uchar i=0;
Write_Command(0x80);
while(str[i]!='\0'&&! Write_Data(str[i++]);
for(;i }
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code Prompt[]="Please press K1 and wait for a while,Current Frequency will
show on the LCD...";
uchar LCD_Disp_Buffer[]="Frequency------HZ";
uchar Count=0;
sbit K1=P1^0;
void Initialse();
void ShowString(uchar str[]);
void Delay(uchar ms)
{
uchar i;
while (ms--) for (i=0;i<120;i++);
}
void main()
{
uchar i=0;
Initialise();
while (Prompt[i]!='\0')
{
ShowString(Prompt+i);
i++;
Delay(15);
}
IE=0x8A;
TMOD=0x51;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{
if(K1==0)
{
Delay(10);
if(K1==0)
{
TR1=TR0=1;
}
}
ShowString(LCD_Disp_Buffer);
}
}
void INT_T0() interrupt 1
{
uint Tmp,i;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++Count==20)
{
TR1=TR0=0;
Count=0;
Tmp=TH1*256+TL1;
LCD_Disp_Buffer[9]=Tmp/10000+'0';
LCD_Disp_Buffer[10]=Tmp/1000%10+'0';
LCD_Disp_Buffer[11]=Tmp/100%10+'0';
LCD_Disp_Buffer[12]=Tmp%100/10+'0';
LCD_Disp_Buffer[13]=Tmp%10+'0';
if(LCD_Disp_Buffer[9]=='0') LCD_Disp_Buffer[9]=' ';
i=10;
while(LCD_Disp_Buffer[i]=='0' &&
LCD_Disp_Buffer[i-1]==' ' &&
i != 13)
{
LCD_Disp_Buffer[i++]=' ';
}
TH1=TL1=0;
}
}

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.01 22:58

这是单片机的C吧,用来在LCD显示器输出文字
LCD_Disp_Buffer放的是每个字符的ascii码,TH0 TL0放的是读取出来的频率数据。
这代码具体要看你的硬件手册。

baidu_34427722
baidu_34427722 程序一长,就完全找不到东南西北了
一年多之前 回复
visoncomputer
visoncomputer   2016.04.01 23:42

你自己要把基本的看懂啊,然后再问哪里没看懂。

baidu_34427722
baidu_34427722 看来还是我基础没掌握好
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片