样例分析2-DS18B20v1.1

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
    */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值