亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? c8051f31x

?? C8051F31X 采集溫度轉換成攝氏溫度串口發送
??
?? 第 1 頁 / 共 2 頁
字號:
//-----------------------------------------------------------------------------
// T2Cal31x.c
//-----------------------------------------------------------------------------
// Copyright (C) 2004 Silicon Laboratories, Inc.
//
// AUTH: PD
// DATE: 24 OCT 02
//
// This program is used to measure the temperature sensor on an 'F31x
// device.  It uses 1-point calibration and stores the offset value
// in FLASH memory.  The program outputs temperature values in 100ths
// of a degree Celsius with UART.
// Target: C8051F31x
// Tool chain: KEIL C51 6.03 / KEIL EVAL C51
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include <c8051f310.h>                 // SFR declarations
#include <intrins.h>
#include <stdio.h>

//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for 'F31x
//-----------------------------------------------------------------------------

sfr16 DP       = 0x82;                 // data pointer
sfr16 TMR2RL   = 0xca;                 // Timer2 reload value
sfr16 TMR2     = 0xcc;                 // Timer2 counter
sfr16 TMR3     = 0x94;                 // Timer3 counter
sfr16 TMR3RL   = 0x92;                 // Timer3 reload value
sfr16 PCA0CP0  = 0xfb;                 // PCA0 Module 0 Capture/Compare
sfr16 PCA0CP1  = 0xe9;                 // PCA0 Module 1 Capture/Compare
sfr16 PCA0CP2  = 0xeb;                 // PCA0 Module 2 Capture/Compare
sfr16 PCA0CP3  = 0xed;                 // PCA0 Module 3 Capture/Compare
sfr16 PCA0CP4  = 0xfd;                 // PCA0 Module 4 Capture/Compare
sfr16 PCA0     = 0xf9;                 // PCA0 counter
sfr16 ADC0     = 0xbd;                 // ADC Data Word Register
sfr16 ADC0GT   = 0xc3;                 // ADC0 Greater-Than
sfr16 ADC0LT   = 0xc5;                 // ADC0 Less-Than
//-----------------------------------------------------------------------------
// Temperature Sensor Calibration PARAMETERS
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

#define SYSCLK      24500000           // SYSCLK frequency in Hz
#define BAUDRATE        9600           // Baud rate of UART in bps
#define TIMER2_RATE     1000           // Timer 2 overflow rate in Hz


sbit LED = P3^3;                       // LED='1' means ON
//-----------------------------------------------------------------------------
// Temperature Sensor Calibration PARAMETERS
//-----------------------------------------------------------------------------
#define AMB_TEMP           25          // Ambient Calibration Temperature 
                                       // (degC)

#define TEMP_SENSOR_GAIN   3300        // Temp Sensor Gain in (uV / degC)

#define VREF               3300        // ADC Voltage Reference (mV)

#define SOAK_TIME          15          // Soak Time in Seconds


//-----------------------------------------------------------------------------
// Global VARIABLES
//-----------------------------------------------------------------------------

// TEMP_OFFSET allocates two bytes of code memory space in FLASH
// that will be used to store the calibrated temperature value
unsigned int code TEMP_OFFSET = 0xFFFF;

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------

void SYSCLK_Init (void);
void ADC0_Init (void);
void UART0_Init (void);
void PORT_Init (void);
void Timer2_Init (int);

int get_temp (void);
void calibrate(void);
unsigned int measure(void);
void wait_one_second (void);

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------

void main (void) {

   unsigned temperature;

   // Disable Watchdog timer
   PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer 
                                       // enable)
   PORT_Init();                        // Initialize Port I/O
   SYSCLK_Init ();                     // Initialize Oscillator

   ADC0_Init ();                       // Init ADC0
   Timer2_Init(SYSCLK/TIMER2_RATE);    // Init Timer 2 
   UART0_Init();

   AD0EN = 1;                          // Enable ADC0

   if (TEMP_OFFSET == 0xFFFF) {        // TRUE if first-time to execute
      printf ("Calibrating...\n");
      calibrate ();                    // execute calibration sequence
   } else {
      printf ("Not calibrating.\n");
   }

   while (1) {
      // example of how to read the temperature
      LED = 1;
      temperature = get_temp ();
      LED = 0;
      printf ("Temperature = %+02d hundredths degrees C\n", temperature);
   }
}

//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports.
//
// P0.4 - UART TX
// P0.5 - UART RX
// P3.3 - LED

void PORT_Init (void)
{
   XBR0    = 0x01;                     // Enable UART on P0.4(RX) and P0.5(TX)                     
   XBR1    = 0x40;                     // Enable crossbar and enable 
                                       // weak pull-ups
   P0MDOUT |= 0x10;                    // enable UTX as push-pull output
   P3MDOUT |= 0x08;                    // enable LED as push-pull output
}

//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
//
// This routine initializes the system clock to use the internal oscillator
// at its maximum frequency.
// Also enables the Missing Clock Detector.
//

void SYSCLK_Init (void)
{
   OSCICN |= 0x03;                     // Configure internal oscillator for
                                       // its maximum frequency
   RSTSRC = 0x04;                      // Enable missing clock detector

}

//-----------------------------------------------------------------------------
// ADC0_Init ADBUSY, LP tracking, no Interrupt, ADC disabled
//-----------------------------------------------------------------------------
//
// Configure ADC0 to use ADBUSY as conversion source, and to sense the output 
// of the temp sensor.  Disables ADC end of conversion interrupt. Leaves ADC 
// disabled.
//
void ADC0_Init (void)
{
   ADC0CN = 0x40;                      // ADC0 disabled; LP tracking
                                       // mode; ADC0 conversions are initiated 
                                       // on a write to ADBusy
   AMX0P  = 0x1E;                      // Temp sensor selected at + input
   AMX0N  = 0x1F;                      // Single-ended mode

   ADC0CF = (SYSCLK/3000000) << 3;     // ADC conversion clock <= 3MHz   

   ADC0CF &= ~0x04;                    // Make ADC0 right-justified
   REF0CN = 0x0e;                      // enable temp sensor, VREF = VDD, bias
                                       // generator is on.

   EIE1 &= ~0x08;                      // Disable ADC0 EOC interrupt
}

2樓 admin 發表于:2006-8-11 17:31:00
//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
//
// Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
//
void UART0_Init (void)
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线播放| 久久综合久久综合九色| 日韩美女视频一区二区| 粉嫩av一区二区三区在线播放| 欧美一级日韩一级| 日韩av网站在线观看| 在线不卡的av| 美国毛片一区二区三区| 日韩欧美一级二级三级久久久| 免费成人av在线| 精品国精品国产| 国产91在线看| 亚洲欧美日韩国产中文在线| 欧美丝袜丝交足nylons图片| 婷婷久久综合九色综合伊人色| 欧美电影在线免费观看| 卡一卡二国产精品 | 亚洲国产一区二区三区| 欧美日韩成人一区二区| 日本美女视频一区二区| 久久这里只有精品6| 成人av在线网| 偷偷要91色婷婷| 精品少妇一区二区三区日产乱码| 久久97超碰色| 国产精品不卡一区| 欧美日韩激情在线| 国产一区二区调教| 亚洲精选免费视频| 欧美一级在线观看| 成人av网站在线观看| 首页国产欧美久久| 亚洲在线观看免费| 日韩欧美在线网站| 成人av在线影院| 日韩va欧美va亚洲va久久| 久久久www成人免费毛片麻豆| 91蜜桃网址入口| 日韩电影一二三区| 中文字幕一区二区不卡| 欧美一区二区在线视频| 成人蜜臀av电影| 奇米一区二区三区| 日韩一区有码在线| 欧美xxxxx牲另类人与| 93久久精品日日躁夜夜躁欧美| 丝袜美腿亚洲色图| 亚洲欧美偷拍三级| 久久久99精品免费观看不卡| 欧美日韩国产高清一区| 91网页版在线| 国产乱子伦一区二区三区国色天香| 亚洲柠檬福利资源导航| 337p粉嫩大胆色噜噜噜噜亚洲| 色哟哟国产精品免费观看| 国内成人精品2018免费看| 亚洲图片自拍偷拍| 亚洲国产高清在线| 欧美videofree性高清杂交| 色欧美片视频在线观看| 成人成人成人在线视频| 狠狠色丁香婷婷综合| 日韩高清中文字幕一区| 亚洲另类色综合网站| 国产亚洲美州欧州综合国| 日韩欧美一级精品久久| 欧美日韩国产小视频| 91在线你懂得| 99视频超级精品| 懂色av中文字幕一区二区三区| 久久电影网站中文字幕| 日韩专区欧美专区| 亚洲午夜在线视频| 一区2区3区在线看| 亚洲最大的成人av| 一区二区三区美女视频| 亚洲男人的天堂网| 亚洲欧美色综合| 自拍偷自拍亚洲精品播放| 日本一区免费视频| 久久综合色婷婷| 精品久久人人做人人爰| 欧美一级国产精品| 日韩一区二区三区电影| 91精品国产综合久久精品图片| 欧美性大战久久久久久久| 色综合天天做天天爱| 99国内精品久久| 色婷婷精品大在线视频| 色综合久久综合| 91日韩在线专区| 在线视频国产一区| 欧美日韩精品一区二区| 91精品在线免费观看| 91精品国产综合久久久久| 56国语精品自产拍在线观看| 91麻豆精品国产91久久久久久久久| 欧美日韩三级一区| 欧美高清性hdvideosex| 91精品蜜臀在线一区尤物| 在线电影院国产精品| 欧美一区二区精品在线| 欧美成人一区二区三区片免费 | 欧美在线免费观看亚洲| 欧美日韩一区二区在线视频| 91精品国产麻豆国产自产在线| 欧美卡1卡2卡| 日韩一区二区免费在线电影| 精品国产免费一区二区三区香蕉| 精品国产一区二区三区久久久蜜月| 欧美成人a视频| 国产欧美一区二区精品性色| 中文字幕亚洲精品在线观看| 亚洲激情图片小说视频| 五月激情综合色| 久久99深爱久久99精品| 成人小视频免费观看| 欧美三级韩国三级日本一级| 欧美一级生活片| 中文在线资源观看网站视频免费不卡 | 久久99精品国产.久久久久久| 国产一区二区导航在线播放| 99久久精品免费看国产| 欧美电影在线免费观看| 国产精品美女久久久久久久久 | 日本午夜一区二区| 国产精品996| 欧美色男人天堂| 欧美成人vps| 亚洲视频图片小说| 蜜桃久久精品一区二区| 成人福利视频网站| 5858s免费视频成人| 亚洲国产精品av| 日韩专区中文字幕一区二区| 成人在线一区二区三区| 欧美日韩国产片| 国产精品久久久久一区二区三区 | 久久综合网色—综合色88| 一区二区久久久久久| 国产经典欧美精品| 欧美精品久久一区二区三区| 欧美激情一区不卡| 奇米一区二区三区av| 91黄视频在线观看| 久久久美女艺术照精彩视频福利播放| 亚洲精选免费视频| 国产 欧美在线| 欧美成人vps| 亚洲r级在线视频| 99亚偷拍自图区亚洲| 久久午夜色播影院免费高清| 性欧美疯狂xxxxbbbb| av一区二区三区四区| 久久久午夜精品| 久久国产麻豆精品| 欧美精品丝袜中出| 亚洲一区二区三区美女| 成人国产电影网| xnxx国产精品| 美国三级日本三级久久99| 欧美怡红院视频| 亚洲免费观看高清完整| 国产成人一级电影| 精品对白一区国产伦| 热久久久久久久| 精品污污网站免费看| 玉足女爽爽91| 一本到三区不卡视频| 国产精品麻豆视频| 成人av在线资源| 亚洲欧洲av在线| 99久久夜色精品国产网站| 欧美激情在线观看视频免费| 国产麻豆日韩欧美久久| 久久久精品免费免费| 国产成人综合在线| 久久久久久久久久久久久女国产乱 | 69av一区二区三区| 日本不卡123| 日韩欧美国产午夜精品| 九九国产精品视频| 久久久久久99精品| 国产91精品一区二区| 国产精品丝袜一区| 91小视频在线| 亚洲图片欧美色图| 欧美一三区三区四区免费在线看 | 亚洲欧美怡红院| 91久久精品日日躁夜夜躁欧美| 一区二区欧美视频| 日韩一区二区在线看片| 国产一区二区三区免费在线观看| 久久久青草青青国产亚洲免观| 高清久久久久久| 亚洲伦在线观看| 欧美一区二区三区系列电影| 久久精品国产成人一区二区三区| 国产夜色精品一区二区av| 97久久久精品综合88久久|