品諾電子STC15W4K-實驗29-ADC溫敏電阻測量溫度
單片機源程序如下:
- /************************************************************************************
- *
- * 實驗平臺:品諾電子STC15W4K核心板 + 品諾電子"開拓者"擴展板
- * 時鐘選擇:內部IRC時鐘22.1184M
- * 功能說明:該實驗通過ADC功能,使用擴展板上的溫敏電阻測量當前溫度,溫度值顯示在數碼管上。溫敏電阻相對于DS18B20溫度傳感器,價格低的多。
- *
- ************************************************************************************/
- #include "stc15f2k60s2.h"
- #include "my_type.h"
- #include "main.h"
- #include "num.h"
- #include "adc.h"
- #include "ntc_temp.h"
- /********************************************************************
- 函數功能:對IAP15W4K,STC15W4K的IO口初始化為準雙向IO口。
- 入口參數:無。
- 返 回:無。
- 備 注:STC15W4K系列的芯片,上電后所有與PWM相關的IO口(P0.6/P0.7
- /P1.6/P1.7/P2.1/P2.2/P2.3/P2.7/P3.7/P4.2/P4.4/P4.5)均為高
- 阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用。
- ********************************************************************/
- void InitIO(void)
- {
- //初始化 P0 P1 P2 P3 P4 為準雙向IO口
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- }
- /**///////////////////////Pino Electronics////////////////////////**/
- /********************************************************************
- 函數功能:主函數。
- 入口參數:無。
- 返 回:無。
- 備 注:無。
- ********************************************************************/
- void main (void)
- {
- u8 temp;
- InitIO();
- InitTimer0();
- InitADC(ADC_CHANNEL_TMP);
- EA=1; //允許所有中斷
- while(1){
- if(GetAdcUpdatedFlag()){
- temp=AdcDatToTemp(GetAdcData());
- SetNumDisplayDecimal(temp);
- InitADC(ADC_CHANNEL_TMP);
- }
- if(GetSecondFlag()){
- Led2Tog();
- }
- }
- }
- /**///////////////////////Pino Electronics////////////////////////**/
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
STC15W4K-ADC溫敏電阻測量溫度.rar
(70.83 KB, 下載次數: 141)
2018-6-7 15:27 上傳
點擊文件名下載附件
|