#include <TypeDef.h>
#include <delay.h>
#include <1602.h>
#include <eeprom.h>
#include <ads1110.h>
#include <stdio.h>
sbit LCD_BACKLIGHT = P4^5;
#define LCD_ON LCD_BACKLIGHT = 1;
#define LCD_OFF LCD_BACKLIGHT = 0;
#define LCD_OFF_JUDGE (LCD_BACKLIGHT == 0)
u16 power_saving_timer = 0;//节电模式计时器
void main(void)
{
LCD_ON;
P0M0 = 0; P0M1 = 0;
P1M0 = 0; P1M1 = 0;
P2M0 = 0; P2M1 = 0;
P3M0 = 0; P3M1 = 0;
P4M0 = 0x20; P4M1 = 0;
P5M0 = 0; P5M1 = 0;
P37=0;
Delay_ms(100);
Zero_Coeff_Init();
lcd_system_reset();
ads_initial();
Delay_ms(100);
string_write(0, 0, " 20200115138 ");
string_write(0, 1, " ");
Delay_ms(3500);
string_write(0, 0, "Range:10mV ");
string_write(0, 1, "Volt:0.000mVDC ");
ads_convert();
while (1)
{
Delay_ms(100);
//熄屏省电判断
if(++power_saving_timer > 299){//30秒熄屏
LCD_OFF;
}}
这是一小段,程序没有错误。在我原先设计的焊接板上能熄灭lcd。但是下载到新的STC8H8K64U的最小系统里检测,5分钟再测P45引脚,也还是高电平。没有想象中输出低电平是什么原因。
|