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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? hjmcu.c

?? 很實(shí)用的單片機(jī)例程
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/**************************************************************************************************
*** 慧凈電子1天入門(mén)、10天學(xué)會(huì)、1年精通單片機(jī)與C語(yǔ)言視頻教程配套程序源碼                         ***
*** 實(shí)驗(yàn)?zāi)康模篐J-1G 開(kāi)發(fā)板   AVR配套實(shí)驗(yàn)程序                                                    ***
*** MCU: ATmega16          部分C源碼可以直接用于項(xiàng)目開(kāi)發(fā)、歡迎復(fù)制共享、功德無(wú)量、沒(méi)有版權(quán)      ***
*** 作者:慧凈免費(fèi)助學(xué)會(huì)員  
*** 部分源碼網(wǎng)上收集整理、如有傷害到你的利益、請(qǐng)來(lái)信,hjmcu@163.com 我們的免費(fèi)助學(xué)會(huì)員會(huì)定期幫你刪除掉         ***
*** 編譯器:GCC                                                                                ***
*** 百度交流空間:http://hi.baidu.com/HJMCU      WWW.HJMCU.COM                                  ***
*** 論壇交流:http://bbs.hjmcu.com   歡迎來(lái)論壇一分錢(qián)不要下載配套的仿真電路                     ***
*** 配套的硬件學(xué)習(xí)板網(wǎng)址:http://shop37031453.taobao.com/                                       ***
*** 日期:2008.8.8                                                                              ***
*** 目標(biāo):用C語(yǔ)言寫(xiě)程序就這么簡(jiǎn)單、慧爭(zhēng)祝你1天入門(mén)、10天學(xué)會(huì)、1年精通單片機(jī)與C語(yǔ)言、找個(gè)好工作  ***
***************************************************************************************************/

//慧凈電子大學(xué)生課程設(shè)計(jì)專(zhuān)用實(shí)驗(yàn)板《HJ-1G》、直接支持AT89S52 STC89C52單片機(jī)
//加轉(zhuǎn)接板后支持AVR ATmega16 32 系列單片機(jī)、是你學(xué)習(xí)單片機(jī)的得力助手 一板二用,學(xué)完51再學(xué)AVR

//HJ-1G 學(xué)習(xí)板加AVR轉(zhuǎn)接板后,裝上ATMETAM16 單片機(jī)實(shí)驗(yàn)
//HJ-1G 學(xué)習(xí)板AVR單片機(jī)實(shí)驗(yàn),F(xiàn)M報(bào)警實(shí)驗(yàn)
//注意要把JTAGEN 仿真熔絲位設(shè)置成1 才能完成本實(shí)驗(yàn),設(shè)置成1時(shí)不能用仿真口,只能用ISP下載接口下載程序
//第一排3、4個(gè)按鍵按下后,流水燈分別跳動(dòng)。

#include <avr/io.h>        
#include <util/delay.h>
#include <avr/interrupt.h>   //中斷函數(shù)頭文件

//××××××××××××引腳宏定義×××××××××××××
//DS18B20定義
#define SET_DQ (PORTC) |= (1 << (PC2))      // DS18B20 高電平
#define CLR_DQ (PORTC) &=~(1 << (PC2))      // DS18B20 低電平
#define DQ_IN  (PINC) & (1<<(PC2))            // DS18B20信號(hào)輸入

#define SET_OUT (DDRC)|= (1<<(PC2))         //PA2定義成輸出
#define SET_IN  (DDRC)&=~(1<<(PC2))         //PA2定義成輸入



//常量聲明
#define BAUD 9600
//ROM操作指令碼
#define DS18B20_SKIP_ROM 0xCC      //跳過(guò)ROM指令碼
#define DS18B20_SEARCH_ROM 0xF0      //搜索ROM指令碼
#define DS18B20_READ_ROM 0x33      //讀ROM指令碼
#define DS18B20_MATCH_ROM 0x55      //匹配ROM指令碼
#define DS18B20_ALARM_ROM 0xEC      //報(bào)警搜索ROM指令碼
//RAM操作指令碼
#define DS18B20_CONVERT_RAM 0x44         //啟動(dòng)溫度轉(zhuǎn)換指令碼
#define DS18B20_READ_RAM 0xBE            //讀RAM指令碼    
#define DS18B20_WRITE_RAM 0x4E          //寫(xiě)RAM指令碼     
#define DS18B20_COPY_RAM 0x48           //把RAM的TH、TL、CFG中的內(nèi)容復(fù)制到EEPROM指令碼
#define DS18B20_RECALL_EEPROM 0xB8      //把EEPROM的TH、TL、CFG中的內(nèi)容恢復(fù)到RAM指令碼


//全局變量聲明
unsigned char Temp_H,Temp_L,OK_Flag,ThrH,ThrL,CFG;    
                               //溫度高位,低位,復(fù)位成功標(biāo)志,報(bào)警上下限值,配置寄存器值
unsigned char ReadRAM_Buff[9],WriteRAM_Buff[3]; //讀RAM的9個(gè)字節(jié),寫(xiě)RAM的溫度上下
                                              //限報(bào)警值和配置寄存器


//函數(shù)聲明
void Delayus(unsigned int lus);         //us延時(shí)函數(shù)
void Delayms(unsigned int lms);        //ms延時(shí)函數(shù)
void Port_DS18B20(void);              //DSDS18B20端口配置
void Port_Init(void);   //端口初始化配置
void Usart_Init(void);  //USART寄存器設(shè)置
void Usart_PutChar(unsigned char cTXData);  //字節(jié)發(fā)送函數(shù)
void Usart_PutString(unsigned char *pcString); //字符串發(fā)送函數(shù)

unsigned char DS18B20_Init(void);   //DSDS18B20初始化
unsigned char Read_DS18B20(void);        //讀DS18B20
void Write_DS18B20(unsigned char dat);   //寫(xiě)DS18B20

void DS18B20_StartConvert(void);   //啟動(dòng)溫度轉(zhuǎn)換
void DS18B20_GetConvert(void);   //獲得溫度轉(zhuǎn)換結(jié)果
void DS18B20_ReadRAM(void);        // 讀取RAM內(nèi)容
void DS18B20_WriteRAM(void);       //寫(xiě)溫度上下限和配置寄存器到RAM
void DS18B20_CopyEEPROM(void);     //復(fù)制RAM中的溫度上下線和配置寄存器到EEPROM
void DS18B20_RecallRAM(void);       //把EEPROM中的溫度上下線和配置寄存器恢復(fù)到RAM

int main(void)            
{
	unsigned char i;
	unsigned int tempint,tempint1,tempint2,tempint3,tempint4;
	                   //分別存儲(chǔ)溫度整數(shù)值,整數(shù)值的千,百,十,個(gè)位
	unsigned int temppoint,temppoint1,temppoint2,temppoint3,temppoint4;  
	                    //分別存儲(chǔ)溫度小數(shù)值,小數(shù)值的千,百,十,個(gè)位
	
	Port_Init();    //端口初始化
	Usart_Init();   //串口初始化
	Port_DS18B20();   //DSDS18B20端口初始化
	
	tempint = 0;   //變量初始化
	temppoint=0;
	Temp_H = 0;
	Temp_L = 0;
	OK_Flag = 0;
	
	Usart_PutString("DS18B20 溫度測(cè)量實(shí)驗(yàn)");
	Usart_PutChar(0x0D);
	Usart_PutChar(0x0A);  //結(jié)尾發(fā)送回車(chē)換行
	
	/*
	//這段被屏蔽的程序演示了1、讀出RAM內(nèi)容,讀出的內(nèi)容發(fā)送到計(jì)算機(jī)2、寫(xiě)溫度上下限報(bào)警值和
	//配置寄存器的值到RAM 3、將這3個(gè)值保存到EEPROM中,4、將EEPROM中的值恢復(fù)到RAM,5、再
	//從RAM中讀取全部9個(gè)字節(jié),并發(fā)送到計(jì)算機(jī)。可以通過(guò)串口觀察兩次讀到的值,由于發(fā)送的是
	//16進(jìn)制,所以在串口助手上要選擇“HEX”顯示(即16進(jìn)制顯示),才能進(jìn)行觀察
	DS18B20_ReadRAM();        // 讀取RAM內(nèi)容
	for(i = 0;i < 9;i++)  
	{			
		Usart_PutChar(ReadRAM_Buff[i]);		
	}
	
	ThrH = 0x50;
	ThrL = 0x10;
	CFG = 0x7f;
	
	DS18B20_WriteRAM();       //寫(xiě)溫度上下限和配置寄存器到RAM
	
	DS18B20_CopyEEPROM();     //復(fù)制RAM中的溫度上下線和配置寄存器到EEPROM
	
	DS18B20_RecallRAM();       //把EEPROM中的溫度上下線和配置寄存器恢復(fù)到RAM

	DS18B20_ReadRAM();        // 讀取RAM內(nèi)容
	for(i = 0;i < 9;i++)  
	{			
		Usart_PutChar(ReadRAM_Buff[i]);		
	}
	
	for(i=0;i<200;i++)      //延時(shí)4S,再進(jìn)行溫度轉(zhuǎn)換
	{
		Delayms(200);
	}
	*/
	sei();          //使能全局中斷  
	
	while(1)
	{			
		DS18B20_StartConvert();   //啟動(dòng)溫度轉(zhuǎn)換
		DS18B20_GetConvert();   //獲得溫度轉(zhuǎn)換結(jié)果
			
		if(Temp_H & 0x08)   //判斷溫度的正負(fù)
		{			
			Temp_H = ~Temp_H;  //負(fù)溫度。取反加1
			Temp_L = ~Temp_L;  //
		
			SREG |= ~(1 << SREG_C);  //清零進(jìn)位位標(biāo)志
			Temp_L++;                  //溫度低字節(jié)加1
			if(SREG & (1 << SREG_C))  //有進(jìn)位嗎?
			{
				Temp_H++;           //有進(jìn)位,則溫度高字節(jié)加1
			}
		
		}	
			
		tempint = ((Temp_H << 4) & 0x70) | (Temp_L >> 4);	    //獲得溫度的整數(shù)位	
		
		tempint1 = tempint / 1000;           //千位 
		tempint2 = tempint % 1000 / 100;     //百位
		tempint3 = tempint % 100 / 10;        //十位
		tempint4 = tempint % 10;              //個(gè)位
		
		temppoint = Temp_L & 0x0f;    //取出溫度的小數(shù)位
		temppoint = (temppoint * 625);  //小數(shù)位乘以0.625得出溫度的小數(shù)位值,在此擴(kuò)大1000
		                                  //倍,得出溫度的4位小數(shù)位,顯示的時(shí)候加小數(shù)點(diǎn)
			
		temppoint1 = temppoint / 1000;           //千位 
		temppoint2 = temppoint % 1000 / 100;     //百位
		temppoint3 = temppoint % 100 / 10;        //十位
		temppoint4 = temppoint % 10;              //個(gè)位
		
		Usart_PutString("當(dāng)前環(huán)境溫度為:");   //發(fā)送溫度值到上位機(jī)
		
		if(!(tempint1))            //高位為零,則不顯示
		{
			Usart_PutChar(' ');
			if(!(tempint2))
			{
				Usart_PutChar(' ');
			}
			else
			{
				Usart_PutChar(tempint2 + 0x30);
			}
			if(!(tempint3))
			{
				Usart_PutChar(' ');				
			}
			else 
			{
				Usart_PutChar(tempint3 + 0x30);
			}			
		}
		else
		{
			Usart_PutChar(tempint1 + 0x30);
			Usart_PutChar(tempint2 + 0x30);
			Usart_PutChar(tempint3 + 0x30);
		}
		Usart_PutChar(tempint4 + 0x30);
		Usart_PutChar('.');                 //顯示小數(shù)點(diǎn)
		
		Usart_PutChar(temppoint1 + 0x30);    //顯示小數(shù)位
		Usart_PutChar(temppoint2 + 0x30);
		Usart_PutChar(temppoint3 + 0x30);
		Usart_PutChar(temppoint4 + 0x30);
	
		Usart_PutChar(' ');           //不顯示,空一格
		Usart_PutChar('o');           //顯示溫度的符號(hào)。由于實(shí)在找不到溫度那個(gè)再上面的小o,
		Usart_PutChar('C');          //只好用普通的小寫(xiě)o來(lái)代替了。
		Usart_PutChar(0x0D);
		Usart_PutChar(0x0A);  //結(jié)尾發(fā)送回車(chē)換行	
        
		for(i=0;i<200;i++)      //延時(shí)4S,再進(jìn)行溫度轉(zhuǎn)換
		{
			Delayms(20);
		}
	}
}

//端口狀態(tài)初始化設(shè)置函數(shù)
void Port_Init()
{
	PORTD = 0X00;          //USART的發(fā)送接收端口分別為PD0和PD1
	DDRD |= (1 << PD1);   //PD0為接收端口,置為輸入口;PD1為發(fā)送端口,置為輸出口

	PORTB = 0x00;
	DDRB = 0xff;	

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线一二三| fc2成人免费人成在线观看播放| 成人黄色网址在线观看| 欧美日韩成人综合天天影院 | 成人av电影在线观看| 欧美精品第1页| 综合在线观看色| 国产精品一品视频| 欧美一级日韩一级| 一区二区免费看| 成人黄色国产精品网站大全在线免费观看| 91精品国产综合久久久久久久| 日韩毛片视频在线看| 国产美女av一区二区三区| 欧美一级黄色大片| 亚洲电影第三页| 色综合夜色一区| 国产精品乱子久久久久| 国产精品一级片| 日韩欧美在线综合网| 婷婷国产在线综合| 在线观看三级视频欧美| 亚洲图片激情小说| 国产.欧美.日韩| 久久综合av免费| 久久99深爱久久99精品| 717成人午夜免费福利电影| 亚洲综合在线免费观看| 91视频免费播放| 成人免费一区二区三区在线观看| 国产激情一区二区三区| 久久久亚洲高清| 国产真实乱偷精品视频免| 欧美tk—视频vk| 精品一区二区三区影院在线午夜 | 成人一区二区三区视频| 久久久99精品免费观看不卡| 精品一区二区三区免费视频| 欧美变态tickle挠乳网站| 美日韩一区二区三区| 日韩欧美的一区| 精品在线亚洲视频| 久久久久久黄色| 国产激情一区二区三区四区 | 欧美日韩精品三区| 亚洲国产va精品久久久不卡综合| 欧美日韩一级大片网址| 午夜精品久久久| 91精品国产91久久综合桃花| 日本不卡视频一二三区| 日韩免费福利电影在线观看| 国产一区在线不卡| 国产欧美一区二区精品仙草咪| 高清不卡一区二区| 亚洲图片欧美激情| 欧美三级电影网站| 日本欧美在线看| 久久青草欧美一区二区三区| 国产成人自拍网| 中文字幕一区三区| 欧美在线高清视频| 日本成人在线不卡视频| 欧美v日韩v国产v| 成人免费毛片app| 亚洲精品久久久蜜桃| 欧美精品丝袜中出| 精品中文av资源站在线观看| 日本一区二区免费在线| 91啪九色porn原创视频在线观看| 亚洲一区二区视频在线观看| 日韩欧美专区在线| 国产福利一区在线| 亚洲精品国产一区二区精华液| 欧美日韩在线播放三区四区| 麻豆一区二区三| 国产欧美精品国产国产专区| 91在线视频播放地址| 亚洲第一在线综合网站| 精品国产a毛片| 91一区一区三区| 婷婷丁香久久五月婷婷| 久久精品一区二区三区四区| 91在线无精精品入口| 日本三级韩国三级欧美三级| 中文字幕av免费专区久久| 欧美性三三影院| 国产一区二区伦理| 亚洲麻豆国产自偷在线| 日韩一区二区视频在线观看| 成人网在线播放| 日韩成人伦理电影在线观看| 欧美激情一区二区三区四区| 欧美亚洲国产bt| 国产一二三精品| 亚洲午夜影视影院在线观看| 久久精品亚洲精品国产欧美kt∨| 在线观看不卡一区| 国产九色精品成人porny| 一区二区三区.www| 国产网站一区二区| 欧美午夜宅男影院| 国产一区二区在线观看免费| 一区二区成人在线视频| 久久久亚洲综合| 欧美精品tushy高清| 99久久精品情趣| 美女精品一区二区| 亚洲欧美日韩国产综合在线| 欧美大胆人体bbbb| 在线观看日韩电影| 国产高清在线观看免费不卡| 天天免费综合色| 国产精品初高中害羞小美女文| 日韩精品一区二区三区中文不卡| 在线观看一区二区视频| 福利视频网站一区二区三区| 欧美a一区二区| 一区二区三区自拍| 欧美国产日韩精品免费观看| 欧美一级免费观看| 在线免费亚洲电影| 国产宾馆实践打屁股91| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲国产精品久久人人爱蜜臀| 国产精品乱子久久久久| 久久久精品蜜桃| 欧美一级黄色录像| 欧美久久久久久蜜桃| 91麻豆免费看片| 成人精品免费视频| 国产自产v一区二区三区c| 日韩高清电影一区| 亚洲一区二区视频在线观看| 亚洲欧美福利一区二区| 国产蜜臀97一区二区三区| 欧美成人官网二区| 日韩一区二区三区免费看| 欧美视频在线一区二区三区| 91免费在线播放| 成人不卡免费av| 国产成人在线观看| 国产一区二区精品在线观看| 蜜桃精品在线观看| 日韩电影免费一区| 日本成人在线视频网站| 首页国产欧美久久| 午夜视黄欧洲亚洲| 亚洲午夜激情网页| 亚洲综合一区二区| 亚洲一区在线观看视频| 亚洲精品国产a| 亚洲精品成人精品456| 亚洲精品久久久蜜桃| 依依成人精品视频| 一区二区三区四区不卡在线| 亚洲精品视频在线观看网站| 亚洲精品自拍动漫在线| 一区二区三区资源| 亚洲成人午夜电影| 天堂成人免费av电影一区| 婷婷开心激情综合| 美日韩一区二区三区| 精品一区二区三区香蕉蜜桃| 久久9热精品视频| 国产精品中文字幕欧美| 福利一区福利二区| 91麻豆高清视频| 在线视频欧美区| 在线综合视频播放| 精品国一区二区三区| 久久久国产一区二区三区四区小说| 国产天堂亚洲国产碰碰| 国产精品国产自产拍高清av王其| 日韩理论片一区二区| 亚洲一区二区视频在线观看| 日韩二区三区在线观看| 久久疯狂做爰流白浆xx| 国产在线播精品第三| 成人夜色视频网站在线观看| 91在线视频18| 欧美嫩在线观看| 欧美tickling挠脚心丨vk| 欧美国产禁国产网站cc| 有坂深雪av一区二区精品| 视频一区免费在线观看| 激情欧美日韩一区二区| 成人激情电影免费在线观看| 色美美综合视频| 91麻豆精品国产综合久久久久久| 欧美va天堂va视频va在线| 国产精品久久久久永久免费观看| 一区二区三区**美女毛片| 美女一区二区视频| 成人av片在线观看| 欧美视频你懂的| 精品国产免费一区二区三区四区 | 26uuu另类欧美亚洲曰本| 1024成人网| 免费观看一级欧美片| 国产成人综合精品三级|