|
这是我的主函数代码:目前主要的问题是键盘扫描函数失效
#include<hong.h>
#include <lcd_1602.h>
#include <ad.h>
#include <iic.h>
#include <transfer_num.h>
#include <keyscan.h>
uchar u1=3,u2=0,u3=0;
uchar code dis4[] = {"T- . V "};
uchar code dis5[] = {"U- . V I- . A"};
main()
{
uchar ad=0;
uchar i,l;
delay(10); //延时
lcd_init(); //初始化LCD
lcd_pos(0); //设置显示位置为第一行的第1个字符
i = 0;
while(dis4[i] != '\0')
{ //显示字符
lcd_wdat(dis4[i]);
i++;
}
lcd_pos(0x40); //设置显示位置为第二行第1个字符
i = 0;
while(dis5[i] != '\0')
{
lcd_wdat(dis5[i]); //显示字符
i++;
}
while(1)
{
iicInit(); //I2C总线初始化
ADC_PCF8591(0x04);
if(SystemError == 1) //有错误,重新来
{
iicInit(); //I2C总线初始化
ADC_PCF8591(0x04);
}
for(l=0;l<4;l++)
{
show_value(receivebuf[2]); //显示通道2
lcd_pos(0x42);
lcd_wdat(dis[2]); //整数位显示
lcd_pos(0x44);
lcd_wdat(dis[1]); //第一位小数显示
lcd_pos(0x45);
lcd_wdat(dis[0]); //第二位小数显示
show_value(receivebuf[3]); //显示通道3
lcd_pos(0x4b);
lcd_wdat(dis[2]); //整数位显示
lcd_pos(0x4d);
lcd_wdat(dis[1]); //第一位小数显示
lcd_pos(0x4e);
lcd_wdat(dis[0]); //第二位小数显示
show_value_out(u1,u2,u3); //显示通道0
iicInit(); //I2C总线初始化
DAC_PCF8591(0x40,receivebuf[0]); //D/A输出
if(SystemError == 1) //有错误,重新来
{
iicInit(); //I2C总线初始化
DAC_PCF8591(0x40,receivebuf[0]); //D/A输出
}
//delay(50); //延时
}
add(u1) ;
}
}
|
|