/* 此显示程序适用于自制温湿度计P0做段选,P2.1做wei1 P2.2做wei2 P2.3做wei3 P2.6做wei4
I/O为P2.0
将显示扫描移到定时器内运行,每次扫描时间相同,解决了闪烁现象,同时通过调整扫描时间,做到虚拟PWM调光功能
3.7脚为检测脚,加下拉光敏电阻,若为低电平认为白天,亮度高,反之认为黑夜,亮度低*/
#include
#include
typedef unsigned char U8;
typedef unsigned int U16;
U8 code table[]={ // 此处为共阳码表
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
sbit P2_0 = P2^0 ;
sbit wei1 = P2^1 ;
sbit wei2 = P2^2;
sbit wei3 = P2^3 ;
sbit wei4 = P2^6 ;
sbit dian = P2^4 ;//温度与湿度之间显示点
sbit text = P3^7; //接光敏电阻
unsigned int a,b;
U8 U8FLAG,U8temp;
U8 shidu_shi,shidu_ge,wendu_shi,wendu_ge;
U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
U8 U8comdata;
void Delay(U16 z)
{
U8 x,y;
for(x=z;x0;x--)
for(y=40;y0;y--);
}
void Delay_10us(void)
{
U8 i;
i--;
i--;
i--;
i--;
i--;
i--;
i--;
i--;
i--;
i--;
i--;
i--; i--; i--;
}
void COM(void)
{
U8 i;
for(i=0;i
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。