导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[beyondmw1983]LCD显示,数据采集器,高手帮忙!(ke



No.80928
作者:beyondmw1983
邮件:beyondwm1983@163.com
ID:36939
登陆:1次
文章数:1篇
最后登陆IP:61.175.228.135
最后登陆:2005/7/7 2:03:27
注册:2005/7/7 2:00:44
财富:105
发帖时间:2005/7/7 2:03:27
发贴者IP:61.175.228.135
标题:beyondmw1983:LCD显示,数据采集器,高手帮忙!(keil C51)
摘要:No.80928LCD显示,数据采集器,高手帮忙!(keil C51) 希望那位高手帮忙修改下下面的程序,程序已经测试成功,环境Keil C51,最好能把下面的
程序简化下,比如模块话一下,等等,谢谢各位大虾
----------------------------------------------------------------------
#include   <stdio.h>  
#include   <at89x51.h>  
#include   <absacc.h>  
////////////////////////////////////////////////////////////////////////////////
//////////////////////
#define RS P2_3       //lcd命令数据状态口
#define RW P2_4       //lcd读写口
#define E  P2_5       //lcd使能口

#define ADC_add XBYTE[0x7800]     
//预定义ad0809的地址
#define uchar unsigned char
//////////////////////////////////////////////////////////////函数声明
void lcd_init();
void lcd_command(unsigned char);  //lcd命令字写入
void lcd_data(unsigned char );    //lcd显示数据写入
void delay(unsigned char);        //延时
unsigned char check_key();        //扫描按键
void calc(unsigned char);         //采集数据处理转换
void time();
void timeToDisplay();

unsigned char time_index=0,adc0809_index=0,adc0809_value[8]={0},adcv[6]=
{0},sec1=0,sec2=0;
unsigned int tt=0x0000;
unsigned  char sec100,sec,min,hour,flag;

void main(void)
{
unsigned char key_value=0,p;
// 0x80----第一行,第一列显?
//0xC0   0H设定显示地址为第二行?

    lcd_init();
    lcd_data(0x54);
    lcd_data(0x69);
    lcd_data(0x6d);
    lcd_data(0x65);
    lcd_data(0x20);
    lcd_data(0x69);
    lcd_data(0x73);
lcd_data(0x20);
EA=1;
EX1=1;
TMOD=0x00;
TH0=0x63;
TL0=0x18;
ET0=1;
TR0=1;
hour =0;// 小时的初始值
min = 0;// 分钟的初始值
sec = 0;// 秒的初始值
flag=0;
sec100=0;

lcd_command(0xc0);
lcd_data(0x31);
lcd_data(0x3a);

while(1)
{
if((p=check_key())!=0)
{
key_value=p;
lcd_command(0xc0);
lcd_data(0x30+key_value);
lcd_data(0x3a);
delay(100);
while(P1!=0xff);

}
if(sec1==1)
{
calc(adc0809_value[key_value-1]);
lcd_command(0xc3);
lcd_command(0xc3);
lcd_command(0xc3);
lcd_data(0x30+adcv[0]);
lcd_data(0x30+adcv[1]);
lcd_data(0x30+adcv[2]);
lcd_data(0x30+adcv[3]);
lcd_data(0x2e);
lcd_data(0x30+adcv[4]);
lcd_data(0x30+adcv[5]);
lcd_data(0x20);
lcd_data(0x20);
lcd_data(0x6d);
lcd_data(0x76);
lcd_data(0x20);
lcd_data(0x20);
sec1=0;
}
if(sec2==1)
{  
timeToDisplay();
sec2=0;
}


}
}
unsigned char check_key()
{

unsigned char temp,k=1;


temp=P1;
while(P1!=0xff);
delay(20);

te ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:5186毫秒 查询6次