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

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

?? time_and_tem0917.c

?? 我自己用高速單片機編寫的定時器和溫度顯示的代碼,希望有點用喲
?? C
字號:
//-----------------------------------------------------------------------------
// 版權所有長江大學
// 作者: 魏勇
// 日期: 2006年8月7日
//
// 此程序用高速單片機P5.0和P5.1口輸出深度信號,深度信號由中斷口
// 讀入單片機,計算脈沖個數,與深度初始值相加,經過計算后,顯示結果。
// 用P6和P7口輸出顯示結果,其中P6數碼管選擇端口,P7為段碼顯示端口。
// 最后用LED顯示深度信息。
//-----------------------------------------------------------------------------
// 包含文件
//-----------------------------------------------------------------------------
#include <c8051f020.h> // SFR聲明
#include <stdio.h>

//-----------------------------------------------------------------------------
// C8051F02X的16位SFR定義
//-----------------------------------------------------------------------------
sfr16 DP = 0x82; // 數據指針
sfr16 TMR3RL = 0x92; // 定時器3重裝值
sfr16 TMR3 = 0x94; // 定時器3計數器
sfr16 ADC0 = 0xbe; // ADC0數據
sfr16 ADC0GT = 0xc4; // ADC0大于窗口
sfr16 ADC0LT = 0xc6; // ADC0小于窗口
sfr16 RCAP2 = 0xca; // 定時器2捕捉/重裝
sfr16 T2 = 0xcc; // 定時器2
sfr16 RCAP4 = 0xe4; // 定時器4捕捉/重裝
sfr16 T4 = 0xf4; // 定時器4
sfr16 DAC0 = 0xd2; // DAC0數據
sfr16 DAC1 = 0xd5; // DAC1數據
//-----------------------------------------------------------------------------
// 全局常量
//-----------------------------------------------------------------------------
#define SYSCLK 22118400 // 系統時鐘頻率Hz


int Second=0;
int Minute=0;
int Hour=0;

//#define BAUDRATE 9600 // UART波特率bps
#define SAMPLERATE0 50000 // ADC0采樣頻率Hz
//sbit LED = P1^6; // LED='1' 意為ON
//sbit SW1 = P3^7; // SW1='0' 意為按下開關
//-----------------------------------------------------------------------------
// 函數原型
//-----------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT_Init (void);
void delay(count);

void ADC1_Init (void);
void Timer3_Init (int counts);
void ADC1_ISR (void);

void KEY(void);
void HEARD_AND_STAR(void);
void LED_SHOW(unsigned char xdata *tab);

void Time_and_Temp(unsigned char xdata *tab);

//big    lyp tab7=[0x0a=1,0x73=2,0x5b=3,0xca=4,0xd9=5,0xf9=6,0x0b=7,0xfb=8,0xdb=9]
//little lyp tab7=[0x06=1,0x73=2,0x57=3,0xc6=4,0xd5=5,0xf5=6,0x07=7,0xf7=8,0xd7=9]
unsigned xdata led[]={
			0x0a,0x73,0x5b,0xca,0xd9,0xf9,0x0b,0xfb,0xdb
			          };


unsigned xdata tab2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

unsigned char xdata result[8];



//-----------------------------------------------------------------------------





//-----------------------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------------------
void main (void)
{

//long voltage
//unsigned char xdata result[8]; // 電壓以mV為單位
	
unsigned char xdata tab[8]; //時間和溫度數據


WDTCN = 0xde; // 禁止看門狗定時器
WDTCN = 0xad;
SYSCLK_Init (); // 初始化振蕩器
PORT_Init (); // 初始化數據交叉開關和通用IO口
Timer3_Init (SYSCLK/SAMPLERATE0); // 初始化定時器3溢出作為采樣率
ADC1_Init (); // 初始化ADC1
ADC1CN |= 0x80; // 允許ADC
EA = 1; // 允許全局中斷
//-------------------------------
	while(1)
	{
	KEY();
	Time_and_Temp(tab);//時間和溫度計算
	LED_SHOW (tab); //溫度和時間顯示
	
//	HEARD_AND_STAR();



//	P6=0xaa;

//P7為段譯碼
//big    lyp tab7=[0x0a=1,0x73=2,0x5b=3,0xca=4,0xd9=5,0xf9=6,0x0b=7,0xfb=8,0xdb=9]
//little lyp tab7=[0x06=1,0x73=2,0x57=3,0xc6=4,0xd5=5,0xf5=6,0x07=7,0xf7=8,0xd7=9]
//P7=0xdb;



P2=0x55;
P3=0xaa;
P4=0x00;

	}

}







//-----------------------------------------------------------------------------





// 此程序初始化系統時鐘使用22.1184MHz晶體作為時鐘源
//
void SYSCLK_Init (void)
{
int i; // 延時計數器
OSCXCN = 0x67; // 起動外部振蕩器晶體為 22.1184MHz
for (i=0; i < 256; i++) ; // 等待振蕩器啟動(>1ms)
while (!(OSCXCN & 0x80)) ; // 等待晶體振蕩器穩定
OSCICN = 0x88; // 選擇外部振蕩器作為系統時鐘源并使能丟失時鐘檢測器
}
//-----------------------------------------------------------------------------
// IO口初始化
//-----------------------------------------------------------------------------
//
// 配置數據交叉開關和通用IO口
//
void PORT_Init (void)
{
XBR0 = 0x04; // 使能UART0
XBR1 = 0x00;
XBR2 = 0x40; // 允許數據交叉開關和弱上拉
P0MDOUT |= 0x01; // 允許TX0為推挽輸出

P1MDOUT |= 0x40; // 允許P1.6(LED)為推挽輸出

P74OUT=0x11;     //  P6and P7漏級開路方式輸出
}



//-----------------------------------------------------------------------------
//延時子程序
//-----------------------------------------------------------------------------
void delay(count)
  {	
  	int x=count;

	do{x=x-1;}

	while(x>1);
   }

//------------------------------------------------------------------------------



//-------------------------------------------------------------------------------
//顯示部分程序
//-------------------------------------------------------------------------------
void LED_SHOW(unsigned char xdata *tab)

 { int i;
for(i=0;i<8;i++)
	{
  
  //		 P7= led[tab[i]];

 	    /* P7= led[i];
		 P6=tab2[i];//8位循環顯示,考慮數碼管點的位置
		delay(1000000);
		delay(1000000);
		delay(1000000);
		delay(1000000);*/


	 	P7= led[tab[i]-1];
		P6=tab2[i];//8位循環顯示,考慮數碼管點的位置
		delay(100);

	}
  }






//-------------------------------------------------------------------------------
//脈沖記數程序
//-------------------------------------------------------------------------------

void Time_and_Temp(unsigned char xdata *tab)

{


char Hour_1,Hour_2,Minute_1,Minute_2,Second_1,Second_2;
char Temperature_1,Temperature_2;

Hour_1=(int)(Hour/10);
Hour_2=(int)(Hour-Hour_1*10);

Minute_1=(int)(Minute/10);
Minute_2=(int)(Minute-Minute_1*10);

Second_1=(int)(Second/10);
Second_2=(int)(Second-Second_1*10);

//Temperature_1=(int)(Temperature/10);
//Temperature_2=(int)(Temperature-Temperature_1*10);

//Temperature_1=0;
//Temperature_2=0;
/*
tab[0] = Hour_1;
tab[1] = Hour_2;
tab[2] = Minute_1;
tab[3] = Minute_2;
tab[4] = Second_1;
tab[5] = Second_2;
tab[6] = Temperature_1;
tab[7] = Temperature_2;

*/
tab[0] = 1;
tab[1] = 4;
tab[2] = 3;
tab[3] = 4;
tab[4] = 7;
tab[5] = 6;
tab[6] = 7;
tab[7] = 9;
}
//------------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------------







//定時器中斷3
void time_3(void) interrupt 14
{
	TMR3CN&=~0x80;             //清0益出位
	Second=Second+1;
	if(Second==60)
	{
	Second=0;
	Minute=Minute+1;
	}
	if(Minute==60)
	{Minute=0;
	Hour=Hour+1;
	}
	if(Hour==24)
	Hour=0;

} 
//------------------------------------------------------------------------------






//-----------------------------------------------------------------------------
// ADC1初始化

//-----------------------------------------------------------------------------

// 配置ADC1 使用定時器3 溢出作為轉換源, 轉換結束產生中斷
// 使能ADC轉換結束中斷禁止ADC
//注意: 使能低功率跟蹤模式保證當改變通到時的跟蹤次數最少


void ADC1_Init (void)
{


//需要修改的地方!!!
P1MDIN=0x00;
P1MDOUT=0x00;

ADC1CN = 0x42; // ADC1 禁止; 低功率跟蹤模式// 當定時器3溢出時ADC1轉換開始;

REF0CN = 0x07; // 使能溫度傳感器片內VREF和VREF輸出緩沖器
AMX1SL = 0x00; // 選擇AIN0為ADC多路模擬輸出
ADC1CF = (SYSCLK/6000000) << 3; // ADC轉化時鐘=2.5MHz,The answer=64

//ADC1CF=0x2d;
//ADC1CF=0x03;
//ADC1CF=0xfd;
//ADC1CF=0x91;
ADC1CF |= 0x01; // PGA增益=1
//ADC1CF=0x11;


EIE2 |= 0x08;// 允許ADC1中斷
}



//-----------------------------------------------------------------------------
// 定時器3初始化
//-----------------------------------------------------------------------------
//
// 配置定時器3 自動重裝時間間隔由<counts>制定(不產生中斷)
// 使用系統時鐘作為時基.


void Timer3_Init (int counts)
{
TMR3CN = 0x02; // 停止定時器3; 清除TF3;
// 使用系統時鐘作為時基
TMR3RL = -counts; //初始化重裝值
TMR3 = 0xffff; // 設置為立即重裝
EIE2 &= ~0x01; // 禁止定時器3中斷
TMR3CN |= 0x04; // 起動定時器3
}


//-----------------------------------------------------------------------------
// 中斷服務程序
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// ADC1中斷服務程序
//-----------------------------------------------------------------------------
//
// ADC1轉換結束中斷服務程序
// 得當ADC1采樣值并存儲在全局數組<result>.
// 同時選擇下一個通道轉換
//
void ADC1_ISR (void) interrupt 17
{
static unsigned char channel = 0; // ADC多路模擬通道(0-7)


//AD1INT = 0; // 清除ADC轉換結束標志

ADC1CN &= 0xdf;

result[channel] = ADC1; // 讀ADC值
channel++; // 改變通道


if (channel == 8) 

	{channel = 0;}

AMX1SL = channel; // 設置多路模擬轉換器到下一個通道
	

}

void KEY(void)
{
//1,2,3,4號鍵盤對應P50,51,52,53
//1,2 鍵表示秒清零
//1,3 鍵表示分鐘快速加
//1,4 鍵表示分鐘快速減

	if (P5==0xfc)//1,2 鍵表示秒清零
	{
		Second=0;
	}
	if (P5==0xfa)//1,3 鍵表示分鐘快速加
	{
		delay(1000);
		Minute=Minute+1;
	}

	if (P5==0xf6)
	{
		delay(1000);
		Minute=Minute-1;//add some line,it can change the hour
	}
	else
	{}


}

void HEARD_AND_STAR(void)
{}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美变态tickling挠脚心| 一区二区激情小说| 欧美日韩一区国产| 成人性生交大片免费| 免费成人在线影院| 亚洲国产中文字幕在线视频综合 | 极品美女销魂一区二区三区| 日韩一区日韩二区| 久久久91精品国产一区二区精品| 欧美另类一区二区三区| 色丁香久综合在线久综合在线观看| 黑人巨大精品欧美一区| 蜜桃视频一区二区三区| 日本成人中文字幕在线视频 | 五月综合激情网| 亚洲欧洲国产日本综合| 国产日韩高清在线| 中文字幕第一区第二区| 中文字幕精品一区| 国产精品视频一二| 国产精品美日韩| 日本一区二区三区四区在线视频 | 亚洲一本大道在线| 亚洲成人免费电影| 青娱乐精品在线视频| 青青草国产成人99久久| 免费观看成人鲁鲁鲁鲁鲁视频| 丝袜亚洲另类欧美| 看电视剧不卡顿的网站| 久久国产精品露脸对白| 国内成人精品2018免费看| 黑人巨大精品欧美一区| 国产aⅴ综合色| 91啪九色porn原创视频在线观看| 欧美日韩1区2区| 在线看一区二区| 精品视频在线视频| 日韩午夜精品视频| 日本一区二区成人| 亚洲一区自拍偷拍| 青青草伊人久久| 国内精品不卡在线| 一本久久精品一区二区| 欧美亚洲丝袜传媒另类| 精品噜噜噜噜久久久久久久久试看| 精品国产伦理网| 亚洲乱码精品一二三四区日韩在线| 伊人一区二区三区| 久久er精品视频| 成人综合婷婷国产精品久久蜜臀| 91久久线看在观草草青青| 欧美一区二区三区啪啪| 国产精品毛片高清在线完整版| 一区2区3区在线看| 九九精品一区二区| 在线观看日韩精品| 精品国产乱码久久久久久老虎| 欧美激情一区二区三区四区| 亚洲成人动漫在线免费观看| 国产精品系列在线播放| 欧美日韩中文字幕精品| 日韩精品在线一区二区| 国产精品美女久久久久av爽李琼| 日韩在线a电影| 成人美女视频在线观看| 欧美一区二区三区喷汁尤物| 亚洲欧美日韩中文字幕一区二区三区 | 欧美日韩免费一区二区三区视频 | 色丁香久综合在线久综合在线观看| 欧美猛男超大videosgay| 亚洲欧美日韩国产综合| 国产v日产∨综合v精品视频| 欧美精品v国产精品v日韩精品| 中文在线资源观看网站视频免费不卡 | 日韩电影在线免费| 欧美网站大全在线观看| 亚洲图片欧美综合| 欧美一区二区三区影视| 久久精品国产一区二区三 | 亚洲精品久久久蜜桃| 色偷偷久久一区二区三区| 亚洲久草在线视频| 欧美性xxxxxx少妇| 亚洲国产日韩a在线播放性色| 欧美色图天堂网| 日韩国产欧美在线视频| 欧美美女视频在线观看| 久久国产福利国产秒拍| 国产亚洲一本大道中文在线| 国产成人一级电影| 亚洲欧洲制服丝袜| 91精品国产福利在线观看| 狠狠色狠狠色综合系列| 国产精品国产三级国产专播品爱网 | 亚洲国产一区二区三区| 日韩三级视频中文字幕| 国产福利一区二区三区视频在线 | 一本到三区不卡视频| 五月婷婷激情综合网| 精品剧情v国产在线观看在线| 国产a精品视频| 亚洲午夜一区二区三区| 欧美mv日韩mv国产网站app| 成人午夜私人影院| 亚洲成av人影院| 久久久777精品电影网影网 | 国产欧美日韩一区二区三区在线观看| 成人小视频在线观看| 亚洲mv在线观看| 国产欧美日产一区| 欧美精品一二三| 粉嫩13p一区二区三区| 亚洲国产aⅴ天堂久久| 国产日本欧洲亚洲| 欧美猛男男办公室激情| 99久久99久久精品免费观看| 美女视频黄久久| 一区二区三区精品| 欧美国产一区二区在线观看 | 国产人成亚洲第一网站在线播放 | 欧美一区二区三区四区在线观看 | 欧美在线|欧美| 国产.精品.日韩.另类.中文.在线.播放| 亚洲国产成人精品视频| 中文字幕在线播放不卡一区| 日韩欧美中文字幕公布| 欧美影院一区二区三区| av在线不卡免费看| 国产91精品露脸国语对白| 免费一级片91| 日本aⅴ亚洲精品中文乱码| 一区二区三区美女| 亚洲日本在线看| 久久久久久久综合| 欧美大度的电影原声| 91精品国产综合久久久久久漫画| 91亚洲男人天堂| 成人国产精品免费观看| 东方欧美亚洲色图在线| 国产一区福利在线| 蜜桃91丨九色丨蝌蚪91桃色| 日韩国产精品久久久| 香蕉久久一区二区不卡无毒影院| 亚洲麻豆国产自偷在线| 亚洲青青青在线视频| 日韩理论在线观看| 亚洲欧美日韩国产一区二区三区| 国产欧美精品一区二区三区四区| 久久亚洲私人国产精品va媚药| 精品美女一区二区| 日韩一区二区精品在线观看| 日韩一区二区三区在线视频| 欧美精品高清视频| 日韩欧美中文一区二区| 亚洲精品在线三区| 欧美va亚洲va香蕉在线| 久久久精品tv| 国产精品电影一区二区三区| 亚洲欧美色图小说| 亚洲不卡av一区二区三区| 三级欧美韩日大片在线看| 日本不卡高清视频| 韩国在线一区二区| 不卡一区在线观看| 在线观看亚洲a| 欧美丰满一区二区免费视频| 欧美一区二区日韩一区二区| 7777精品久久久大香线蕉| 日韩精品一区二区三区中文精品| 欧美成人乱码一区二区三区| 欧美国产综合色视频| 亚洲精品高清在线观看| 日韩影视精彩在线| 国产一区二区主播在线| av不卡免费电影| 91精品国产综合久久婷婷香蕉 | 国产网站一区二区| 亚洲手机成人高清视频| 日韩av电影免费观看高清完整版| 国产伦精品一区二区三区在线观看| 成人免费观看视频| 制服丝袜中文字幕一区| 久久久亚洲高清| 亚洲综合一二三区| 激情综合色丁香一区二区| 99久久夜色精品国产网站| 欧美一区二区三区在线电影 | 色狠狠av一区二区三区| 精品久久国产老人久久综合| 国产精品久久久久久一区二区三区| 亚洲va中文字幕| 国产高清成人在线| 欧美一级片免费看| 亚洲精品日产精品乱码不卡| 久久99精品久久久久| 欧美午夜电影网| 亚洲视频一区在线观看| 国产一区二区主播在线| 欧美男生操女生| 一区2区3区在线看|