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

正文內(nèi)容

智能無線天然氣煙霧監(jiān)控終端畢業(yè)論文-閱讀頁

2025-07-04 03:20本頁面
  

【正文】 7 相互連接,觸摸屏接口采用 SPI1 接口,片選為 PB7SPI1CS3,由于 LCD背光采用恒流源芯片PT4101控制,采用了PWM 控制信號控制背光的明暗, PWM 信號由PD13LIGHTPWM來控制。 LCD寄存器地址為:0x6000 0000, LCD數(shù)據(jù)區(qū)地址:0x6001 0000 。 SPI1 地址:0x4000 3800 0x4000 3BFF 數(shù)模轉(zhuǎn)換DAC 當要使用DAC功能時,將會影響到板子的網(wǎng)絡(luò)功能(網(wǎng)絡(luò)芯片的 SPI 的片選被占用),兩種功能不能同時使用,在 DAC功能時,擁有一路 CPU 自帶的DAC通道(PA 4 D A C 1 ), 通過端子座XS13的6 腳引出。 DAC地址:0x4000 7400 0x4000 77FF SPI外接接口(可直接接RNF24L01 模塊) 將CPU 上的SPI2 接口PB15SPI2MOSI、PB14SPI2MISO、PB13SPI2SCK 、PB0RFSPI2CS引出到接口XS12上,這是一個2X5 的排母插座, 數(shù)傳模塊NRF24L01 相連。這個芯片屬于STM32F103系列的高容量芯片, QFP100封裝, 主要特征:64K片內(nèi)SRAM 512K片內(nèi)FLASH。 之所以選用這個芯片作為開發(fā)板的MCU,主要是基于以下幾點: 1容量大,是STM32系列里,容量最大的芯片 2體積適中 QFP100腳封裝,從大型設(shè)備到手持設(shè)備都可以選用。 4SDIO接口 作為一個嵌入式的平臺,大容量SD存儲是必須考慮的, 可以在SD上建立文件系統(tǒng)及大容量文件存取。 很多用戶先前都是從51平臺轉(zhuǎn)過來的, 對單片機的經(jīng)驗還停留在51帶給我們的簡單易用上,51單片機的資源簡單,且口線定義唯一。近幾年,隨著應(yīng)用技術(shù)的發(fā)展, 產(chǎn)品對嵌入式技術(shù)要求越來越高,51單片機已經(jīng)不能滿足復雜嵌入式應(yīng)用要求, 在ARM技術(shù)發(fā)展過程中,coretexM3內(nèi)核應(yīng)運而生,它的各項能力使得它成為微控領(lǐng)域之王,STM32是這種內(nèi)核的產(chǎn)物, 是目前coretexM3內(nèi)核平臺里最具性價比的平臺,可以預見,未來幾年里,STM32會很快占據(jù)微控平臺市場。MDK環(huán)境的學習可以參考奮斗板光盤里的MDK視頻教程。 在先了解了STM32的知識及奮斗STM32開發(fā)板的硬件后,我們來引導嘗試一下這個實際的過程。 第一步:先將JLINK V8的驅(qū)動裝到電腦里。 第二步:安裝MDK編譯環(huán)境, MDK安裝包在光盤根目錄的資料目錄下,解開壓縮包,運行安裝文件, 安裝好MDK開發(fā)環(huán)境后,在PC上運行MDK,打開例程目錄下的《STM32LED閃爍例程》工程文件??捎糜谙螺d到板子里,在其余的例程編譯過程中,如果出現(xiàn)編譯錯誤,請參考光盤根目錄的解決方法。對工程進行如下的仿真及下載環(huán)境設(shè)置。 如果出現(xiàn)如下的下載失敗提示,需要檢查連線或者工程下載環(huán)境設(shè)置。當監(jiān)控終端檢測到測量數(shù)據(jù)超過預警值時,則主動向手機端發(fā)送預警信息,提示用戶注意。例如各個串口的初始化,SD卡初始化,網(wǎng)絡(luò)初始化,ADC初始化,觸摸屏初始化等。名 稱:static void App_TaskStart(void* p_arg)功 能:開始任務(wù)建立static void App_TaskStart(void* p_arg){ (void) p_arg。 //使能ucos 的統(tǒng)計任務(wù)if (OS_TASK_STAT_EN 0) OSStatInit()。 //建立其他的任務(wù) while (1) { uip_len = tapdev_read()。 //傳遞網(wǎng)絡(luò)接收完成信號量 eth_poll()。 }}上述程序的子程序,具體實行操作初始化各個項目數(shù)值,并且讀取即時數(shù)據(jù)。 ETH_SEM=OSSemCreate(1)。AppTaskUserIFStk[APP_TASK_USER_IF_STK_SIZE1], //分配給任務(wù)的堆棧的棧頂指針 從頂向下遞減 APP_TASK_USER_IF_PRIO, //分配給任務(wù)的優(yōu)先級 APP_TASK_USER_IF_PRIO, //預備給以后版本的特殊標識符,在現(xiàn)行版本同任務(wù)優(yōu)先級 (OS_STK *)amp。 //選項,指定是否允許堆棧檢驗,是否將堆棧清0,任務(wù)是否要 //進行浮點運算等等。AppTaskKbdStk[APP_TASK_KBD_STK_SIZE1], APP_TASK_KBD_PRIO, APP_TASK_KBD_PRIO, (OS_STK *)amp。 /* 建立網(wǎng)絡(luò)處理任務(wù) */ OSTaskCreateExt(Task_ETH, (void *)0, (OS_STK *)amp。Task_ETHStk[0], Task_ETH_STK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR)。Task_AdcStk[Task_Adc_STK_SIZE1], Task_Adc_PRIO, Task_Adc_PRIO, (OS_STK *)amp。 } 網(wǎng)絡(luò)處理任務(wù)接收到IP數(shù)據(jù)包后,收集ADC采集到的數(shù)據(jù),并通過WIFI向手機客戶端發(fā)送即時數(shù)據(jù)信息。 (void)p_arg。err)。 //處理網(wǎng)絡(luò)數(shù)據(jù)包 } }/***************************************************************************** 名 稱:static void Task_ADC(void *p_arg)* 功 能:ADC處理任務(wù)static void Task_ADC(void *p_arg){ INT8U err。 unsigned char send_data[23]。 (void)p_arg。 ADC_alarm1[1]= 0x30。 ADC_alarm1[3]= 0x00。 ADC_alarm2[0]= 0x32。 ADC_alarm2[2]= 0x30。 ADC_alarm2[4]= 0x00。 ADC_a2=200。 // memcpy(phone,15921023305,11)。err)。 //ADC1通道10的數(shù)值轉(zhuǎn)為字符串 itoa(ADC_ConvertedValue1[1], ADC_STR2,10)。 //串口1輸出通道10的數(shù)值 USART_OUT(USART1, \r\nADC1 通道11:%s,ADC_STR2)。 if ((ADC_ConvertedValue1[0]ADC_a1) || (ADC_ConvertedValue1[1]ADC_a2)) { memset(send_data,23,0)。 MIC_ON。 OSTimeDlyHMSM(0, 0, 1, 10)。 // USART_OUT(USART2, AT+CMGS=\)。 // USART_OUT(USART2, \\r)。 OSTimeDlyHMSM(0, 0, 2, 10)。 USART_OUT(USART2, amp。 OSTimeDlyHMSM(0, 0, 4, 10)。 USART_OUT(USART2, phone)。\r)。amp。 //關(guān)閉指示燈,關(guān)閉蜂鳴器 MIC_OFF。名 稱:void eth_poll(void)功 能:定時查詢TCP連接收發(fā)狀態(tài) ARP表更新, 并響應(yīng)void eth_poll(void){unsigned char i=0。 net_timeover05=0。 i UIP_CONNS。 /* 處理TCP通信事件 */ /* 當上面的函數(shù)執(zhí)行后,如果需要發(fā)送數(shù)據(jù),則全局變量 uip_len 0 需要發(fā)送的數(shù)據(jù)在uip_buf, 長度是uip_len (這是2個全局變量) */ if(uip_len 0) { uip_arp_out()。 //發(fā)送數(shù)據(jù)到以太網(wǎng)(設(shè)備驅(qū)動程序) } } if UIP_UDP /* 輪流處理每個UDP連接, UIP_UDP_CONNS缺省是10個 */ for(i = 0。 i++) { uip_udp_periodic(i)。 //加以太網(wǎng)頭結(jié)構(gòu),在主動連接時可能要構(gòu)造ARP請求 tapdev_send()。 net_timeover10=0。 } }} 中斷觸發(fā)讀取網(wǎng)絡(luò)接收緩存 為了防止有數(shù)據(jù)接收到的數(shù)據(jù)量過于龐大造成監(jiān)控裝置由于無法處理這巨大的信息量而死機,特別設(shè)立了中斷接受IP包的緩存。 if(ETH_INT==1){ //當網(wǎng)絡(luò)接收到數(shù)據(jù)時,會產(chǎn)生中斷 rep:。 //uip_len = tapdev_read()。 //去除以太網(wǎng)頭結(jié)構(gòu),更新ARP表 uip_input()。 //加以太網(wǎng)頭結(jié)構(gòu),在主動連接時可能要構(gòu)造ARP請求 tapdev_send()。 //如是是ARP回應(yīng),更新ARP表;如果是請求,構(gòu)造回應(yīng)數(shù)據(jù)包 /* 當上面的函數(shù)執(zhí)行后,如果需要發(fā)送數(shù)據(jù),則全局變量 uip_len 0 需要發(fā)送的數(shù)據(jù)在uip_buf, 長度是uip_len (這是2個全局變量) */ if (uip_len 0) //是ARP請求,要發(fā)送回應(yīng) { tapdev_send()。 }} 網(wǎng)絡(luò)實測測試使用軟件網(wǎng)絡(luò)調(diào)試助手上圖為已經(jīng)設(shè)置完端口,IP數(shù)據(jù)的截圖,其中采用TCP通訊協(xié)議,PC電腦作為TCP客戶端,煙霧監(jiān)控終端作為TCP服務(wù)器端,服務(wù)器端口為1200.在下方輸入框內(nèi)鍵入指令,發(fā)送給監(jiān)控器,即本設(shè)計中的所述的IP數(shù)據(jù)包。顯示數(shù)值為當前檢測器檢測的即時數(shù)據(jù)。6 結(jié)論生存環(huán)境的舒適與安全是人類永恒追求的物質(zhì)目標。通過環(huán)境監(jiān)測系統(tǒng),用戶可以實時獲得居住環(huán)境的信息,如:溫濕度、天然氣濃度、火災信息等。本終端作為智能家居的一部分,實現(xiàn)了實時監(jiān)測天然氣濃度和煙霧濃度,并且當濃度超過設(shè)定閾值時,將通過無線的方式進行報警。;,手機隨機可以發(fā)送數(shù)據(jù)信號給監(jiān)控終端,獲取當前的天然氣與煙霧的濃度信息;3. 監(jiān)控終端隨時可以通過WIFI向手機發(fā)送信息;,監(jiān)控終端主動向手機發(fā)送警報信息,向用戶提示預警信息,保證房屋的安全??梢允褂脩粼陔S時隨地獲得最及時的房屋的安全信息,既迎合了現(xiàn)在無線通信的大體趨勢,是用戶的信息獲得更加便利簡單。 通過本次畢業(yè)設(shè)計,我從中了解到國內(nèi)外網(wǎng)絡(luò)通信技術(shù)的發(fā)展狀況以及存在的問題、學會了怎樣通過一個WIFI連接實現(xiàn)手機與監(jiān)控器的通信連接、也學會了具體程序的設(shè)計方法、更加強了我分析問題和解決問題的能力。致 謝半年時光飛逝,在本論文完成的同時,也意味著大學四年即將劃上一個圓滿的句號。我由衷地感謝關(guān)懷、教誨、幫助、支持和鼓勵我完成學業(yè)的老師、朋友和親人。在此我謹向我指導老師以及在大學四年的求學過程中給予我很大幫助的老師、同學們致以最誠
點擊復制文檔內(nèi)容
數(shù)學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1