int main( void )
{
Device_Init();
TIM6_T0_Init();//定时器T6-T0初始化
IRQ_Init();//中断初始化
//外部中断配置
PA_INT_ENABLE(10);//开启PA10中断
PA_INT_EDGE(10);//配置为边沿中断
PA_INT_BE_DISABLE(10);//配置为单边沿触发
PA_INT_POL_LOW(10);//配置为下降沿触发
PA_INT_FLAG_CLR(10);//清除中断标志
PB -> OUTEN |= 0xf0ff;//PB输出使能
PB -> OUT |= 0xffff;
PA_OUT_ENABLE(12);//蜂鸣器端口输出使能,上电复位提示
//LCD12864============================
delay_ms(500);
LCD_GPIO_Init();//LCD12864 GPIO口初始化
PSB_0;
CS_1;
lcd_init();//LCD12864初始化
delay_ms(100);
lcd_clear();//清屏
delay_ms(100);
lcd_wstr(1, 1, "恒温控制系统");//字符显示
lcd_wstr(2, 0, "当前温度");//字符显示
lcd_wstr(3, 0, "当前状态");//字符显示
lcd_wstr(4, 2, "@LUNTEK");//字符显示
write_figer(2,5,0);
lcd_wstr(2,6,"℃");
lcd_wstr(3, 4, "NO CMD");//字符显示
//LCD12864============================
while(1)
{
//矩阵键盘
i = Key_Value;//读取键盘扫描函数返回值
if(1 == i) //按键1触发
{
LED3_ON;
lcd_wstr(3, 4, "LED3 ON");//字符显示
}
else
{
LED3_OFF;
}
if(5 == i) //按键5触发
{
LED4_ON;
lcd_wstr(3, 4, "LED4 ON");//字符显示
}
else
{
LED4_OFF;
}
if(9 == i ) //按键9触发
{
LED5_ON;
lcd_wstr(3, 4, "LED5 ON");//字符显示
}
else
{
LED5_OFF;
}
if(13 == i ) //按键D触发
{
BUZZER_ON;
lcd_wstr(3, 4, "BUZ ON");//字符显示
}
else
{
BUZZER_OFF;
}
if(20 == i)
lcd_wstr(3, 4, "NO CMD ");//字符显示
//工作状态指示
LED1_ON;
ST_delay_ms(500);
LED1_OFF;
ST_delay_ms(500);
//DS18B20 温度采集
DS18B20_Temp = DS18B20_Get_Temp();
write_figer(2,4,DS18B20_Temp);
printf( "当前温度:%F℃\r\n", DS18B20_Temp );
printf( "----------TestFinished----------\r\n" );
// UartSendByte(65);
// UartSendString("hello");
// UartSentUint32ToASCII(64);
// ReadUartBuf();
// SendResponse();
// UartSendStart();
}
}
同样废码太多
int main( void )
{
Device_Init();
//外部中断配置
PA_INT_ENABLE(10);//开启PA10中断
PA_INT_EDGE(10);//配置为边沿中断
PA_INT_BE_DISABLE(10);//配置为单边沿触发
PA_INT_POL_LOW(10);//配置为下降沿触发
PA_INT_FLAG_CLR(10);//清除中断标志
PB -> OUTEN |= 0xf0ff;//PB输出使能
PB -> OUT |= 0xffff;
PA_OUT_ENABLE(12);//蜂鸣器端口输出使能,上电复位提示
//LCD12864============================
delay_ms(500);
LCD_GPIO_Init();//LCD12864 GPIO口初始化
PSB_0;
CS_1;
lcd_init();//LCD12864初始化
delay_ms(100);
lcd_clear();//清屏
delay_ms(100);
lcd_wstr(1, 1, "恒温控制系统");//字符显示
lcd_wstr(2, 0, "当前温度");//字符显示
lcd_wstr(3, 0, "当前状态");//字符显示
lcd_wstr(4, 2, "@LUNTEK");//字符显示
write_figer(2,5,0);
lcd_wstr(2,6,"℃");
lcd_wstr(3, 4, "NO CMD");//字符显示
//LCD12864============================
while(1)
{
//DS18B20 温度采集
DS18B20_Temp = DS18B20_Get_Temp();
write_figer(2,4,DS18B20_Temp);
printf( "当前温度:%F℃\r\n", DS18B20_Temp );
printf( "----------TestFinished----------\r\n" );
}
}
没有用到按键,删除!
* @brief 单总线温度传感器 接线说明
* @param SC32F5832 -> 温度传感器模块
* PA15 -> CN2-DSO
* @brief LCD12864接线说明
* @param SC32F5832 -> LCD12864
* PC6 -> CN3-RS
* PC4 -> CN3-RW
* PC3 -> CN3-E
* PC7 -> CN3-PSB
* PC15 -> CN3-RST
*/