【正文】
博學(xué)和嚴(yán)謹(jǐn)?shù)目蒲袘B(tài)度使我受益匪淺,在此謹(jǐn)向陳老師崇高的敬意和衷心的感謝。我相信,只要肯鉆研,只要擠時(shí)間,一切自己想要的知識都可以掌握。畢業(yè)設(shè)計(jì)有一定的學(xué)術(shù)價(jià)值和實(shí)用價(jià)值,能反映出作者所具有的專業(yè)基礎(chǔ)知識和分析解決問題的能力。,進(jìn)入操作界面,新建工程,單擊“Project”出現(xiàn)下拉菜單,單擊“New Project” 彈出創(chuàng)建工程窗口,輸入新建工程名稱,然后保存,選擇CPU的類型為ARM Cortex M3,該工程建立成功。 //從網(wǎng)絡(luò)設(shè)備讀取一個IP包,返回?cái)?shù)據(jù)長度 if(uip_len 0) //收到數(shù)據(jù) { /* 處理IP數(shù)據(jù)包(只有校驗(yàn)通過的IP包才會被接收) */ if(BUFtype == htons(UIP_ETHTYPE_IP)) { uip_arp_ipin()。 //加以太網(wǎng)頭結(jié)構(gòu),在主動連接時(shí)可能要構(gòu)造ARP請求 tapdev_send()。 i UIP_CONNS。 //定時(shí)查詢TCP及UDP連接收發(fā)狀態(tài) ARP表更新, 并響應(yīng) }}/***************************************************************************** 名 稱:void eth_poll(void)* 功 能:定時(shí)查詢TCP連接收發(fā)狀態(tài) ARP表更新, 并響應(yīng)* 入口參數(shù):無* 出口參數(shù):無* 說 明:* 調(diào)用方法:無 ****************************************************************************/ void eth_poll(void){ unsigned char i=0。 //設(shè)置默認(rèn)路由器IP地址 uip_setdraddr(ipaddr)。 //dm9000aep初始化 // uip_init()。 //去除以太網(wǎng)頭結(jié)構(gòu),更新ARP表 uip_input()。 //發(fā)送數(shù)據(jù)到以太網(wǎng)(設(shè)備驅(qū)動程序) } } endif /* UIP_UDP */ /* Call the ARP timer function every 10 seconds. */ if(timer_expired(amp。 i++) { uip_periodic(i)。 if(timer_expired(amp。 //ARP初始化 uip_arp_init()。 /* 顯示例程Logo */ printf(**** system is run *******\r\n)。 //串口1初始化 Usart2_Init()。/***************************************************************************** 名 稱:int main(void)* 功 能:程序入口* 入口參數(shù):無* 出口參數(shù):無* 說 明:* 調(diào)用方法:無 ****************************************************************************/ int main(void){ const uint8_t mac_addr[6] = {0x00,0xe0,0x3d,0xf4,0xdd,0xf7}。 /* LED PB1 */ = GPIO_Pin_1。 myudp_send(LED2 滅\n,8)。 myudp_send(LED1 亮\n,8)。 uip_udp_send(n)。 else myudp_send(LED1 滅\n,8)。void led_poll(void)。 程序流程圖 開始 程序運(yùn)行初始化流程圖 系統(tǒng)時(shí)鐘設(shè)置初始化網(wǎng)絡(luò)設(shè)備以及UIP協(xié)議棧,配置IP地址 應(yīng)用層MAC初始化 UIP MAC初始化 UIP 初始化 ARP 初始化創(chuàng)建TCP監(jiān)聽窗口和HTTP監(jiān)聽窗口 程序功能流程圖指令 當(dāng)通過網(wǎng)絡(luò)調(diào) 試助手發(fā)來的指令時(shí)處理uIP事件 查詢指令設(shè)置指令命令錯誤 否 否 是 是 查詢IO狀態(tài)(燈的開關(guān)狀態(tài))設(shè)置IO高低平(設(shè)置燈的開關(guān))輸出IO(燈)的狀態(tài)發(fā)生錯誤 是 否 結(jié)束 系統(tǒng) LED燈程序include include include include include define LED1_ON() GPIO_SetBits(GPIOB, GPIO_Pin_5)。同時(shí),應(yīng)用程序還要周期查詢是否有新的數(shù)據(jù)收發(fā)。當(dāng)函數(shù)返回時(shí),如果uip— len不為0,則表明有帶外數(shù)據(jù)(如SYN,ACK等)要發(fā)送。 協(xié)議棧接口 圖1描述了UIP、底層系統(tǒng)和應(yīng)用程序三者之間的調(diào)用關(guān)系。UIP處于網(wǎng)絡(luò)通信的中間層,其上層協(xié)議在這里被稱之為應(yīng)用程序,而下層硬件或固件被稱之為網(wǎng)絡(luò)設(shè)備驅(qū)動。嵌入式系統(tǒng)的本身資源有限,并且其應(yīng)用和功能比較單一,具有較強(qiáng)的針對性,因此不需要一個完整的TCP/IP網(wǎng)絡(luò)協(xié)議組件,只需要實(shí)現(xiàn)與需求相關(guān)的部分協(xié)議,不使用的協(xié)議則不需要支持。對DM9000 的寄存器進(jìn)行讀寫測試, 從 PAB0 到 PAB5 把 MAC地址寫入到 DM9000 寄存器,然后再讀取寄存器來驗(yàn)證它。該DM9000支持8位,16位和32 位接口訪問內(nèi)部存儲器,以支持不同的處理器。 新STM32的標(biāo)準(zhǔn)外設(shè)包括10個定時(shí)器、兩個12位AD(模數(shù)轉(zhuǎn)換器) (快速交替模式下2M sample/s)、兩個12位DA(數(shù)模轉(zhuǎn)換器)、兩個I2C接口、五個USART接口和三個SPI端口和高質(zhì)量數(shù)字音頻接口IIS,另外STM32F103擁有全速USB(OTG)接口,以及以太網(wǎng)10/100 MAC模塊。 年初,國家出臺的《綠色建筑行動方案》中,倡導(dǎo)節(jié)能減排、降低建筑能耗、減少二氧化碳排放、發(fā)展綠色建筑,這對綠色照明的發(fā)展是有一定的影響和推動作用的。 國內(nèi)外發(fā)展概況與發(fā)展趨勢 上世紀(jì)90年代,美國率先提出了“綠色照明計(jì)劃”,這以后,各國也都在不同程度開始對其進(jìn)行推廣工作。智能照明控制系統(tǒng)使用了先進(jìn)的電力電子技術(shù),能對控制區(qū)域內(nèi)的燈具進(jìn)行智能調(diào)光,當(dāng)室外光較強(qiáng)時(shí),室內(nèi)照度自動調(diào)暗,室外光較弱時(shí),室內(nèi)照度則自動調(diào)亮,使室內(nèi)的照度始終保持在恒定值附近,從而能夠充分利用自然光實(shí)現(xiàn)節(jié)能的目的。STM32F103是意法半導(dǎo)體推出全新STM32互連型系列微控制器中的一款性能較強(qiáng)產(chǎn)品,此芯片集成了各種高性能工業(yè)標(biāo)準(zhǔn)接口,且STM32不同型號產(chǎn)品在引腳和軟件上具有完美的兼容性,可以輕松適應(yīng)更多的應(yīng)用,此芯片可以滿足工業(yè)、醫(yī)療、樓宇自動化、家庭音響和家電市場多種產(chǎn)品需求。關(guān)鍵詞:單片機(jī);照明控制;嵌入式Abstract With the rapid development of puter technology and electronic information technology, especially in recent years in the construction of the Internet Push the lighting control system more and more attention of people. This paper on the basis of analysis of lighting control system, the research present situation, development trend and the research significance the microcontroller and embedded operating system of lighting control system design based on. STM32F103 is STMicroelectronics launched new STM32 interconnection series micro controller in a high performance products. The chip integrates a variety of high performance industrial standard interface and STM32 different types of products on the pin and software with perfect patibility can easily adapt to the application of more, this chip can meet the industrial, medical, building automation and home audio and home appliances market various demands of products. Dm9000 is a single chip fast Ethernet MAC controller, it municate with the STM32 controller, send the mand, through the I / O port level, control relay to achieve intelligent control of the lighting system. Its main features are practical, simple operation, low cost, easy installation, so that the system can be widely used in schools, factories and other lighting facilities.Key words: single chip puter;lighting保護(hù)燈具實(shí)際上也是節(jié)能的一種方式,燈具損壞的致命原因主要是電壓過高,工作電壓越高,其壽命則成倍降低。同時(shí),開展電力需求管理活動,將綠色照明活動擴(kuò)展到大型的集團(tuán)公司、央企及私人企業(yè)。62第二章 系統(tǒng)總體設(shè)計(jì)方案與硬件介紹 系統(tǒng)的總體方案設(shè)計(jì)介紹 電 腦 命令 照明燈狀態(tài) DM9000 命令 I/O狀態(tài)(照明燈狀態(tài)) STM32 I/O 繼電器 照明燈 首先控制端,通過網(wǎng)絡(luò)給網(wǎng)絡(luò)端口(dm9000網(wǎng)卡)發(fā)命令stm32取到命令控制I/O高低電平,控制繼電器控制照明燈。該系列芯片按片內(nèi)Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。 DM9000電路原理圖 3. 網(wǎng)卡芯片 DM9000 和 STM32的連接。進(jìn)行向另一臺主機(jī)發(fā)包、 收包的測試, 最后連上交換機(jī), 把事先編譯好的程序下載到處理器中去, 驗(yàn)證是否實(shí)現(xiàn)聯(lián)網(wǎng)。 由瑞典計(jì)算機(jī)科學(xué)研究所Adam Dunkels開發(fā)的uIP0.9,去掉了全功能TCP/IP協(xié)議棧中不常用的功能,保留網(wǎng)絡(luò)通信所必要的協(xié)議機(jī)制,大大減少了協(xié)議代碼量,降低了協(xié)議對系統(tǒng)資源的要求。為進(jìn)一步節(jié)省資源占用,簡化應(yīng)用接口,UIP在內(nèi)部實(shí)現(xiàn)上還作了如下特殊的處理:① 采用單一的全局?jǐn)?shù)據(jù)收發(fā)緩沖區(qū),不支持內(nèi)存動態(tài)分配;② 基于事件驅(qū)動的應(yīng)用程序接口,各并發(fā)連接采用輪循