freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于stc12c5a60s2單片機(jī)的數(shù)字溫濕度計設(shè)計-wenkub.com

2024-11-27 17:48 本頁面
   

【正文】 P0=0xff。y)。 for(x=z。 shi=temp%100/10。//初始化子程序 while(1) { if(aa==20) { aa=0。 void display(uchar fuhao,uchar bai,uchar shi,uchar ge)。 sbit we_choice=P2^1。 //返回測量 20 次結(jié)果 } 167。= 0xE7。 ADC_LOW = ADC_RESL。 //使輸入電壓達(dá)到穩(wěn)定 ADC_CONTR |= 0x08。 //0000,0111 清 0高 5 位 ADC_CONTR = AD_SPEED。 // for(a=0。 } } // // unsigned int get_ad_result(unsigned char channel) { unsigned int ADC_DATA = 0。 } 35 167。 tem_dec=1。 aj_bai_hum=hum_dault%1000/100。 aj_bai=tem_dault/100。 } if(key==2) //加 { hum_dault++。hum_dec==1))。tem_inc==0amp。(hum_inc==1)) key=3。(a4==0)amp。amp。amp。amp。 if(!(a3amp。 hum_inc=1。hum_dec==1) key=1。a6==0amp。amp。amp。amp。 if(!(a5amp。 hum_inc=0。//hum_dec=1。uchar x=0,y=0。 display_hum(qian_hum,bai_hum,shi_hum,ge_hum)。 //定時賦初值 TL0=(65536350)%256。 //否則繼電器關(guān) // send_two(get_ad2)。 aj_shi_hum=hum_dault%1000%100/10。 aj_shi=tem_dault%100/10。 ge=get_ad3%10。 */ } else { if(get_ad21150) //模擬量如果小于 1150,則為負(fù)溫度 fuhao=10。 /* qian=get3/1000。 if(get_ad3=1000) { fuhao=0。 30 // send_two(get_ad2)。 } get_ad1=get_ad1/200。 } /********************* 溫 度 數(shù) 據(jù) 采 集 算 法********************************/ for( a=0。 qian_hum=humi_val2/1000。i++)。)。 //如果出錯的話,重新讀數(shù)據(jù) else { =(float)。 //measure humidity error+=s_measure((unsigned char*) amp。 while(1) { error=0。 s_connectionreset()。 hum_inc=0。 unsigned int i。 char s_write_byte(unsigned char value)。 void calc_sth11(float*p_humidity ,float *p_temperature)。j++)。 28 for(i=0。i++) for(j=0。 void delay1ms(uint z)。 void init()。 void adjust_display( uchar aj_fuhao, uchar aj_bai, uchar aj_shi, uchar aj_ge)。uint humidity_dat=0。//定時中斷 1 中的加數(shù)用 uchar idata bai=0,shi=0,ge=0,fuhao=0,qian_hum=0,bai_hum=0,shi_hum=0,ge_hum=0。 // typedef union { unsigned int i。 uchar key=0。 //濕度減 sbit tem_led=P2^5。 sbit tem_inc=P1^1。 sbit we_choice=P2^1。 //允許串行口接收 SM0=0。 //返回露點 } void init_uart(void) { TMOD=0x20。 //return humidity[%RH] } // float calc_dewpoint(float h,float t) //計算露點 { float k,dew_point 。 //calc. temperature pensated humidity [%RH] if(rh_true100) rh_true=100。 // rh_true: Temperature pensated humidity float t_C。 // for 12 Bit RH float rh=*p_humidity。 // for 12 Bit RH const float C2=+。 //read the first byte (MSB) *(p_value+1) = s_read_byte(ACK)。 //wait until sensor has finished the measurement if(DATA) //測量完之后如果 DATA==1,為測量失敗。 default : break。 //transmission start 24 switch(mode){ //send mand to sensor case TEMP : error+=s_write_byte(MEASURE_TEMP)。 } //九個脈沖以重置數(shù)據(jù)時鐘線 s_transstart()。 //Initial state for(i=0。 SCK=0。 SCK=1。 SCK=0。 SCK=1。 //release DATAline return val。 _nop_()。 //in case of ack==1 pull down DATALine _nop_()。i/=2) //shift bit for masking { SCK=1。 //error=1 in case of no acknowledge } // 22 char s_read_byte(unsigned char ack) { unsigned char i,val=0。 //observe setup time SCK=1。 //pulswith approx. 5 us SCK=0。 //observe setup time SCK=1。i/=2) //shift bit for masking { if (i amp。 void send_two(uint y)。 define uchar unsigned char define uint unsigned int define noACK 0 define ACK 1 define STATUS_REG_W 0x06 define STATUS_REG_R 0x07 define MEASURE_TEMP 0x03 define MEASURE_HUMI 0x05 define RESET 0x1e sbit DATA=P2^3。 float f。 程序流程圖 圖 44 程序流程圖 20 因為溫度的只有一個 AD 轉(zhuǎn)換,所以就不列流程圖了。 表 45 DHT91 的 DC 特性 PT100 在橋式電路的變化的信號傳到儀用中放大,(大概放大 60 倍左右,一度輸出的電壓大概為 23 豪伏,因為設(shè)計要 求中有負(fù)的 100 度,即輸出電壓為 伏,因為 AD 轉(zhuǎn)換中不能轉(zhuǎn)換 0 伏以下的電壓 以及大于 5 伏的電壓 ,所以加了一個加法器, 又要加一個 1/2 比例電路。 表 44 溫度補償系數(shù) RHtrue 就是測量的濕度值 ??捎萌缦鹿綄?shù)字輸出轉(zhuǎn)換為溫度值: Temperature = d1 +d2 .SOT d1和 d2 的值如下表 42 所示。 SHT15 的指令集如下表 41 所示 。所有的數(shù)據(jù)從 MSB 開始, 右值有效(例如:對于 12bit 數(shù)據(jù),從第 5 個 SCK 時鐘起算作 MSB;而對于 8bit 數(shù)據(jù),首字節(jié)則無意義)。控制器在再次觸發(fā) SCK 時鐘前,必須等待這個“數(shù)據(jù)備妥”信號來讀出數(shù)據(jù)。 發(fā)布一組測量命令(‘ 00000101 ’表示相對濕度 RH,‘ 00000011 ’表示溫度 T)后,控制器要等待測量結(jié)束。 圖 42 啟動 傳輸時序 167。 啟動傳輸 時序 用一組“啟動傳輸”時序,來表示數(shù)據(jù)傳輸?shù)某跏蓟?。需要一個外部的上拉電阻(例如: 10kΩ)將信號提拉至高電平。 串行數(shù)據(jù) (DATA) 三態(tài)門用于數(shù)據(jù)的讀取。 13 圖 32 顯示 電路 原理圖 第四章 軟件設(shè)計及分析 167。顯示時采用循環(huán)移位法,即八位數(shù)碼管依次循環(huán)點亮,利用人眼睛的視覺暫留效果達(dá)到連續(xù)顯示,主程序每運行一遍便調(diào)用一次顯示子程序,將數(shù)據(jù)顯示出來。靜態(tài)顯示實現(xiàn)起來比較簡單,但是浪費了單片機(jī)的 I/O 口資源。 具體原理圖如下圖 31 所示。 STC12C5A60S2 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳 XTAL1 和 XTAL2 分別是該放大器的輸入端 和輸出端。 報警電路就是把 兩 個發(fā)光二極管和 STC12C5A60S2 的 P2_3, P2_4 口相連, 因為要更好的顯示出控制外電路工作,所以要大點的電流驅(qū)動外電路,那么在電路中要顯示出來,那么要加一個繼電器才能顯示有足夠大的電流。濕度傳感器 SHT15的 DATA口和 SCK 口分別與 STC12C5A60S2 的 P2_5口和 P2_6口相連。由于 SHT15 內(nèi)部包含一個 14 位 A/D 轉(zhuǎn)換器,所以單片機(jī)接收到就是數(shù)字信號,只需要做相應(yīng)的處理就能得到所需要的數(shù)據(jù)。 9 圖 23 LED 數(shù)碼管外形和內(nèi)部結(jié)構(gòu)圖 鎖存器的功能下表顯示 167。 (3)體積小,重量輕,抗沖擊性能好。圖22 所示是兩種 LED 數(shù)碼管的外形與內(nèi)部結(jié)構(gòu),+、-分別表示公共陽極和公共陰極, a~ g 是 7 個 段電極, DP為小數(shù)點。 驅(qū)動顯示電路 驅(qū)動 顯示模塊選用 2 個 4 位共 陰 極數(shù)碼管和 3 個鎖存器 74573。) ,具有極高的可靠性與卓越的長期穩(wěn)定性。 而溫度傳感器則用 PT100,本來 SHT15也有 測溫的功能,但是它不能滿足設(shè)計的要求,且他的線性度沒有 PT100 好,因此測溫傳感器就用 PT100,測濕的傳感器用 SHT15。 15. 外部 中斷 I/O 口 7 路 ,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷 ,并新增支持上升沿中斷的 PCA 模塊, Power Down 模式可由外部中斷喚醒, INT0/, INT1/, T0/, T1/, RxD/, CCP0/(也可通過寄存器設(shè)置到 ), CCP1/ (也可通過寄存器設(shè)置到 ) 16. PWM(2 路) /PCA(可編程計數(shù)器陣列 ,2 路) 也可用來當(dāng) 2 路 D/A使用 也可用來再實現(xiàn) 2 個定時器 也可用來再實現(xiàn) 2 個外部中斷 (上升沿中斷 / 下降沿中斷均可分別或同時支持 ) 17. A/D 轉(zhuǎn)換 , 10 位精度 ADC,共 8 路,轉(zhuǎn)換速度可達(dá) 250K/S(每秒鐘 25 萬次 ) 18. 通用全雙工異步串行口 (UART),由于 STC12 系列是高速的 8051,可再 7 用定時器或 PCA 軟件實現(xiàn)多串口。內(nèi)部集成 MAX810
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1