資源簡介
此次實驗用了5根杜邦線。
dht11的data端接在STM32的PG11上;
dht11的VCC端接在STM32的J27的3.3V上;
dht11的GND端接在STM32的J27的GND上;
小風扇負極接在J18的GND上;小風扇的正極接在STM32的PA6上;當程序下載到開發板以后,在程序設置了溫度達到20度-25度時,小風扇轉動;所以當溫度達到20度-25度時,小風扇轉動;溫度低于20度時或高于25度時,小風扇不轉。

代碼片段和文件信息
#include?“24cxx.h“?
#include?“delay.h“? ?
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//ALIENTEK戰艦STM32開發板V3
//24CXX驅動?代碼(適合24C01~24C256) ???
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//創建日期:2015/1/15
//版本:V1.0
//版權所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved ??
//////////////////////////////////////////////////////////////////////////////////
//初始化IIC接口
void?AT24CXX_Init(void)
{
IIC_Init();
}
//在AT24CXX指定地址讀出一個數據
//ReadAddr:開始讀數的地址??
//返回值??:讀到的數據
u8?AT24CXX_ReadOneByte(u16?ReadAddr)
{ ??
u8?temp=0; ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ???//發送寫命令
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr>>8);//發送高地址 ????
}else?IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));???//發送器件地址0XA0寫數據? ???
IIC_Wait_Ack();?
????IIC_Send_Byte(ReadAddr%256);???//發送低地址
IIC_Wait_Ack(); ????
IIC_Start();?? ? ???
IIC_Send_Byte(0XA1);???????????//進入接收模式 ???
IIC_Wait_Ack(); ?
????temp=IIC_Read_Byte(0); ???
????IIC_Stop();//產生一個停止條件 ????
return?temp;
}
//在AT24CXX指定地址寫入一個數據
//WriteAddr??:寫入數據的目的地址????
//DataToWrite:要寫入的數據
void?AT24CXX_WriteOneByte(u16?WriteAddru8?DataToWrite)
{ ??? ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ????//發送寫命令
IIC_Wait_Ack();
IIC_Send_Byte(WriteAddr>>8);//發送高地址 ??
}else?IIC_Send_Byte(0XA0+((WriteAddr/256)<<1));???//發送器件地址0XA0寫數據? ?
IIC_Wait_Ack(); ???
????IIC_Send_Byte(WriteAddr%256);???//發送低地址
IIC_Wait_Ack();? ? ?? ???
IIC_Send_Byte(DataToWrite);?????//發送字節 ???
IIC_Wait_Ack();?? ???? ???
????IIC_Stop(); //產生一個停止條件?
delay_ms(10); ? //EEPROM的寫入速度比較慢,加入延遲
}?
//檢查AT24CXX是否正常
//這里用了24XX的最后一個地址(255)來存儲標志字.
//如果用其他24C系列這個地址要修改
//返回1:檢測失敗
//返回0:檢測成功
u8?AT24CXX_Check(void)
{
u8?temp;
temp=AT24CXX_ReadOneByte(255);//避免每次開機都寫AT24CXX ???
if(temp==0X55)return?0; ???
else//排除第一次初始化的情況
{
AT24CXX_WriteOneByte(2550X55);
????temp=AT24CXX_ReadOneByte(255); ??
if(temp==0X55)return?0;
}
return?1; ??
}
//在AT24CXX里面的指定地址開始讀出指定個數的數據
//ReadAddr?:開始讀出的地址?對24c02為0~255
//pBuffer??:數據數組首地址
//NumToRead:要讀出數據的個數
void?AT24CXX_Read(u16?ReadAddru8?*pBufferu16?NumToRead)
{
while(NumToRead)
{
*pBuffer++=AT24CXX_ReadOneByte(ReadAddr++);
NumToRead--;
}
}??
//在AT24CXX里面的指定地址開始寫入指定個數的數據
//WriteAddr?:開始寫入的地址?對24c02為0~255
//pBuffer???:數據數組首地址
//NumToWrite:要寫入數據的個數
void?AT24CXX_Write(u16?WriteAddru8?*pBufferu16?NumToWrite)
{
while(NumToWrite--)
{
AT24CXX_WriteOneByte(WriteAddr*pBuffer);
WriteAddr++;
pBuffer++;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3117??2015-02-27?19:11??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\24CXX\24cxx.c
?????文件???????1326??2015-02-27?19:06??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\24CXX\24cxx.h
?????文件???????2794??2015-01-15?14:13??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\24CXX\myiic.c
?????文件???????1373??2015-01-15?14:18??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\24CXX\myiic.h
?????文件???????5086??2015-02-27?15:32??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\ADC\adc.c
?????文件???????1303??2015-02-27?15:13??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\ADC\adc.h
?????文件????????756??2015-01-10?22:24??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\BEEP\beep.c
?????文件????????696??2015-01-10?22:24??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\BEEP\beep.h
?????文件???????7865??2015-01-15?18:59??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\CAN\can.c
?????文件???????1101??2015-01-15?19:05??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\CAN\can.h
?????文件???????1316??2019-01-03?16:04??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DAC\dac.c
?????文件????????683??2015-01-15?12:54??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DAC\dac.h
?????文件???????2537??2019-01-02?16:43??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DHT11\dht11.c
?????文件???????1129??2015-02-28?20:41??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DHT11\dht11.h
?????文件???????1803??2015-01-15?12:56??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DMA\dma.c
?????文件????????780??2015-01-15?12:56??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DMA\dma.h
?????文件???????3670??2015-01-16?22:22??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DS18B20\ds18b20.c
?????文件???????1235??2015-01-16?22:15??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\DS18B20\ds18b20.h
?????文件???????1878??2015-01-10?22:24??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\EXTI\exti.c
?????文件????????651??2015-01-10?22:24??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\EXTI\exti.h
?????文件???????1563??2015-03-21?16:57??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\JOYPAD\joypad.c
?????文件????????860??2015-03-21?17:38??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\JOYPAD\joypad.h
?????文件???????1507??2015-01-10?22:23??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\KEY\key.c
?????文件????????904??2015-01-10?22:24??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\KEY\key.h
?????文件??????35016??2014-11-30?20:05??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LCD\FONT.H
?????文件??????83123??2015-04-25?16:08??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LCD\ILI93xx.c
?????文件???????7524??2015-04-25?16:08??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LCD\lcd.h
?????文件???????1096??2019-01-03?16:50??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LED\led.c
?????文件????????751??2019-01-03?16:50??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LED\led.h
?????文件???????1013??2015-01-14?19:14??溫控風扇-組6-15-3吳秋霞-15-3董兵團-15-4莫小婷\溫度調節風扇1\HARDWARE\LSENS\lsens.c
............此處省略135個文件信息
- 上一篇:STM32F413原理圖
- 下一篇:Linux API 幫助文檔
評論
共有 條評論