⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 body_test.bak

📁 该程序是基于c8051f020的平台
💻 BAK
字号:
// Includes
//-----------------------------------------------------------------------------
#include <c8051f020.h>
#define uchar unsigned char
#define uint unsigned int

#include <Lcd1602.h>
#include <Key.h>
#include <DS18B20_Driver.h>

//uchar Times;

// Function Library
//-----------------------------------------------------------------------------
void SYSTEM_Init (void);
void PORT_Init (void);
void Temperature_Display(uint Temp);
//-----------------------------------------------------------------------------
extern void Timer1_Init(void);
extern void Timer3_Init (int counts);
extern uchar Puls_Counter(void);
extern void Display_Pusle(uchar times);


//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main (void)
{
 

  SYSTEM_Init ();
  PORT_Init ();
  Lcd1602_Ini();
  Timer1_Init();
  Timer3_Init (36864);// counts = 36864  T = 0.02s

  DS18B20_Init();
  EA = 1;

 
  while(1)
    {
       Lcd1602_Clear_Line(1);
       Lcd1602_Write_String(1,1," Press any key!");
       while(Key_Word()==0xff);
       Display_Pusle(Puls_Counter());  
    }




}         



void Temperature_Display(uint Temp)
{
   uint t,i;   uint a[5];
   t = Temp*6.25;
   

   a[0] = t/1000;
   a[1] = (t-a[0]*1000)/100;
   a[2] = '.'-'0';
   a[3] = (t-a[0]*1000-a[1]*100)/10;
   a[4] = (t-a[0]*1000-a[1]*100-a[3]*10);

   //Lcd1602_Clear_Line(2);
   Lcd1602_Write_String(2,9,"T:");
   for(i=0;i<5;i++){  Lcd1602_Write_char(a[i]+'0');   }
   Lcd1602_Write_char('C');  
} 



// SYSTEM_Init
void SYSTEM_Init (void)
{  
   int i; 
   WDTCN = 0xde;                       // disable watchdog timer
   WDTCN = 0xad;

   //OSCICN = 0x17;             // 选用内部振荡器 16MHZ

                                        // delay counter
   OSCXCN = 0x67;                      // start external oscillator with
                                       // 22.1184MHz crystal
   for (i=0; i < 256; i++) ;           // wait for XTLVLD to stabilize
   while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
   OSCICN = 0x88;                      // select external oscillator as SYSCLK
                                       // source and enable missing clock
                                       // detector
} 

//-----------------------------------------------------------------------------
// PORT_Init
void PORT_Init (void)
{
   XBR0    |= 0x00;                    
   XBR1    |= 0x08;                    // Enable Counter1
   XBR2    |= 0x40;                    // Enable crossbar and weak pull-ups

   P0MDOUT |= 0x00;                    // 键盘P1口配置位漏极方式
   P74OUT  |= 0xff;                     // 显示P4控制口,P5数据口,均配置为推挽方式
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -