|
剛做的實(shí)驗(yàn)
并行I/O口的輸入輸出實(shí)驗(yàn)
- /*--------------------------------------------------------------------------------------
- *工程名稱:DS18B20單總線數(shù)字溫度傳感器實(shí)驗(yàn)
- *開發(fā)環(huán)境:KEIL V4.70
- *主控芯片:STC89C52RC
- *編寫人員:余釗
- *編寫時(shí)間:2013/10/11
- *程序版本:v1.0
- ------------------------------------------------------------------------------------------
- 程序說明:
- 1、DS18B20使用IO P2.2,注意插接方向
- 實(shí)現(xiàn)功能:
- 1、在數(shù)碼管顯示模塊上前四個(gè)數(shù)碼管顯示當(dāng)前溫度
- -------------------------------------------------------------------------------*/
- #include <reg52.h>
- #include "ds18b20.h"
- #include "smg.h"
- //----------------------------宏定義----------------------------------------------//
- #define VTH0 ((65535-15000)>>8)
- #define VTL0 ((65535-15000)&0X00FF)
- //------------------------函數(shù)聲明---------------------------------------------//
- void Timer0Init(void);
- //========================主函數(shù)=================================================//
- void main(void)
- {
- Timer0Init();
- while(1)
- {
- EA = 0;
- TempChange();
- EA = 1;
- }
- }
- /****************************************************************************
- ***函數(shù)名稱:Timer0Init
- ***函數(shù)目的: 定時(shí)器0初始化
- ***入口參數(shù):無
- ***出口參數(shù):無
- ***其他說明:定時(shí)器中斷中顯示數(shù)碼管,不是使傳感器函數(shù)干擾顯示
- ******************************************************************************/
- void Timer0Init(void)
- {
- TMOD = 0X01;
- TH0 = VTH0;TL0 = VTL0;
- ET0 = 1;
- TR0 = 1;
- EA = 1;
- }
- /*-------------------------------------------------------------------------------
- 定時(shí)器中斷0處理函數(shù)
- --------------------------------------------------------------------------------*/
- void Timer0_deal(void) interrupt 1
- {
- TH0 = VTH0;TL0 = VTL0;
-
- Display(0,Temperdat18b20.shi);
- Display(1,Temperdat18b20.ge);
- Display(2,10);
- Display(3,Temperdat18b20.fen);
- }
復(fù)制代碼
|
|