改写这段程序;#include ledh#include delayh#include sysh#include timerh#include usart1h#include LCD1602h#include keyh#include extih#include stringh#include stdiohu8 mode = 2;void keyscan u8 key; key = KEY_
#include "led.h" #include "delay.h" #include "sys.h" #include "timer.h" #include "usart1.h" #include "LCD1602.h" #include "key.h" #include "exti.h" #include "string.h" #include "stdio.h"
u8 mode = 2;
void keyscan() { u8 key; key = KEY_Scan(0); if(key == 1) { mode = 1;
LED1 = 0;
LED2 = 1;
LED3 = 1;
CD4052_B = 0;//电容档
CD4052_A = 0;
LCD_Write_String(0,0," MEASURE Cx ");
LCD_Write_String(0,1," 00000.0pF ");
}
if(key == 2)
{
mode = 2;
LED1 = 1;
LED2 = 0;
LED3 = 1;
CD4052_B = 0;//电阻档
CD4052_A = 1;
LCD_Write_String(0,0," MEASURE Rx ");
LCD_Write_String(0,1," 0000.000K ");
}
if(key == 3)
{
mode = 3;
LED1 = 1;
LED2 = 1;
LED3 = 0;
CD4052_B = 1;//电感档
CD4052_A = 0;
LCD_Write_String(0,0," MEASURE Lx ");
LCD_Write_String(0,1," 000000uH ");
}
}
extern unsigned long RX2; extern float CZ; extern float LZ;
int main(void) { unsigned int count;
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
delay_ms(300);
KEY_Init();
LED_Init();
CD4052_Init();
LCD_Init(); // 1602初始化
EXTIX_Init();
CD4052_B = 0;//电阻档
CD4052_A = 1;
LED1 = 1;
LED2 = 0;
LED3 = 1;
LCD_Write_String(0,0," MEASURE Rx ");
LCD_Write_String(0,1," 0000.000K ");
TIM2_Int_Init(999,7199); //定时器初始化,定时100MS
while(1)
{
keyscan();
if(count++ > 100)
{
if(mode == 1)//显示电容值
{
LCD_Write_Char(4,1,(long)CZ/100000+'0');
LCD_Write_Char(5,1,(long)CZ%100000/10000+'0');
LCD_Write_Char(6,1,(long)CZ%10000/1000+'0');
LCD_Write_Char(7,1,(long)CZ%1000/100+'0');
LCD_Write_Char(8,1,(long)CZ%100/10+'0');
LCD_Write_Char(10,1,(long)CZ%10+'0');
}
if(mode == 2)//显示电阻值
{
LCD_Write_Char(3,1,RX2/1000000+'0');
LCD_Write_Char(4,1,RX2%1000000/100000+'0');
LCD_Write_Char(5,1,RX2%100000/10000+'0');
LCD_Write_Char(6,1,RX2%10000/1000+'0');
LCD_Write_Char(8,1,RX2%1000/100+'0');
LCD_Write_Char(9,1,RX2%100/10+'0');
LCD_Write_Char(10,1,RX2%10+'0');
}
if(mode == 3)//显示电感值
{
LCD_Write_Char(4,1,(long)LZ/100000+'0');
LCD_Write_Char(5,1,(long)LZ%100000/10000+'0');
LCD_Write_Char(6,1,(long)LZ%10000/1000+'0');
LCD_Write_Char(7,1,(long)LZ%1000/100+'0');
LCD_Write_Char(8,1,(long)LZ%100/10+'0');
LCD_Write_Char(9,1,(long)LZ%10+'0');
}
}
delay_ms(1);
}
原文地址: https://www.cveoy.top/t/topic/iuKZ 著作权归作者所有。请勿转载和采集!