我现在遇到这个问题,不知道怎么办?
方法1: SWITCH(key_num) // 检测按键 { case KEY_LCD: // 如果是液晶控制按键按下 { if((IO0PIN&LCD_DYKZ)==0) IO0SET = LCD_DYKZ; // 液晶熄灭 else IO0CLR = LCD_DYKZ; // 点亮液晶 break; } ... ... ... } 方法2: SWITCH(key_num) // 检测按键 { case KEY_LCD: // 如果是液晶控制按键按下 { if((IO0PIN&LCD_DYKZ)==0) IO0SET = LCD_DYKZ; // 液晶熄灭 Delay(12000000); // 延时1S IO0CLR = LCD_DYKZ; // 点亮液晶 break; } ... ... ... } 注释:LCD_DYKZ:是单片机给液晶提供电源的一个口线,所用单片机是ARM 问题是:方法1能彻底让液晶熄灭,但方法2却不能让液晶彻底掉电(就象是把背光掉了,但它不是又控制背光的), 我量过板子上始终有2.2V的电压(方法2时),我想是不是哪儿漏的电,但是方法1却能断掉液晶的电源,我怀疑编译器有问题, 但似乎不太可能,实在不知道什么原因,望大家指点,谢谢! 2.2V 的电压来自一个芯片TPS1100D,是单片机控制的,相当于开关作用.
|