|
5黑币
- #include "reg52.h"//此文件中定义了单片机的一些特殊功能寄存器
- #include "XPT2046.h"
- #include "lcd.h"
- typedef unsigned int u16; //对数据类型进行声明定义
- typedef unsigned char u8;
- unsigned char PuZh[12]=" GQ: "; //第一行
- u8 disbuffgq[4]; //用来显示数字
- unsigned char code ASCII[10]={'0','1','2','3','4','5','6','7','8','9'};
- void delayms(unsigned int ms)
- {
- unsigned char i=100,j;
- for(;ms;ms--)
- {
- while(--i)
- {
- j=10;
- while(--j);
- }
- }
- }
- void datapros()
- {
- u16 temp; //temp就是读取到的光敏电阻数据值
- static u8 i;
- if(i==50) //意思是每隔一段时间读取一次
- {
- i=0;
- temp = Read_AD_Data(0xA4); // AIN2 光敏电阻 读取光敏电阻的模拟信号转换成数字信号
- }
- i++;
- disbuffgq[0]=ASCII[temp/1000]; //千位
- disbuffgq[1]=ASCII[temp%1000/100]; //百位
- disbuffgq[2]=ASCII[temp%1000%100/10]; //十位
- disbuffgq[3]=ASCII[temp%1000%100%10]; //个位
-
- DisplayOneChar(7,0,ASCII[disbuffgq[0]]);
- DisplayOneChar(8,0,ASCII[disbuffgq[1]]);
- DisplayOneChar(9,0,ASCII[disbuffgq[2]]);
- DisplayOneChar(10,0,ASCII[disbuffgq[3]]);
-
-
- }
- void main(void)
- {
- LcdInit();
- LcdShowStr(0,0,PuZh);
- while(1)
- {
-
- datapros(); //数据处理函数
- delayms(80);
- }
- }
复制代码 就是想用lcd显示光敏的值,结果却显示图片的情况望解答
|
最佳答案
查看完整内容
disbuffgq[0]=ASCII[temp/1000]; //千位
disbuffgq[1]=ASCII[temp%1000/100]; //百位
disbuffgq[2]=ASCII[temp%1000%100/10]; //十位
disbuffgq[3]=ASCII[temp%1000%100%10]; //个位
// 上面代码已经把数据分解并转换为ASCII码保存在disbuffgq[ ]中
// 下面直接直接显示disbuffgq[ ]中ASCII码即可,若再次转换即出错
DisplayOneChar( 7,0,disbuffgq[0]);
DisplayOneChar( 8,0,disbuffgq[1]);
...
|