基于單片機的光控路燈設(shè)計含程序和仿真圖.doc
《基于單片機的光控路燈設(shè)計含程序和仿真圖.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的光控路燈設(shè)計含程序和仿真圖.doc(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
摘 要 隨著社會文明的不斷發(fā)展 城市照明已經(jīng)不僅僅局限于街道的照明 而更 是發(fā)展成為了城市景觀等裝飾性照明的綜合市政工程 本系統(tǒng)采用 51 單片機和 相關(guān)的光電檢測設(shè)備來設(shè)計智能光控路燈控制器 利用單片機可編程控制八位 邏輯 I O 端口實現(xiàn)路燈的智能化 達到節(jié)能 自動控制的目的 避免了傳統(tǒng)電路 對能源的浪費 且路燈的自動控制更方便了工作人員的管理 而且所用的路燈 采用 LED 燈 眾所周知 LED 是目前最為節(jié)能的發(fā)光元件 通過采用 LED 發(fā)光 可以節(jié)省大量的電能 因此 智能光控節(jié)能路燈必將在未來得到廣泛的應(yīng)用 本設(shè)計方案采用光線強度 時間以及道路車流量的三重模式控制 在很大程度 上做到了 隨需而控 同時符合了當今社會所倡導的節(jié)約型 可持續(xù)性發(fā)展 的標準 因而擁有良好的可行性和具有很大的實用價值 本設(shè)計是以光敏電阻對于外界光線強弱的感應(yīng)能力為基礎(chǔ)進行的路燈自動 化控制系統(tǒng)設(shè)計 當光線強度弱到一定程度的時候 路燈就會自動滅掉 當光 線強到一定程度的時候 路燈就會自動開啟 本設(shè)計以當外界光線強度弱到使 光敏電阻阻值大于等于 200 歐的時候 LED 燈會自動開啟 小于 200 歐的時候 自動關(guān)閉 關(guān)鍵字 單片機 光敏電阻 LED 路燈照明 目 錄 摘 要 1 緒 論 3 1 目標及任 務(wù) 4 2 硬件設(shè)計 2 1 主要模塊構(gòu) 成 4 2 2 電路設(shè) 計 9 2 3 系統(tǒng)流 程 11 三 系統(tǒng)的軟件設(shè)計 3 1 詳細步 驟 11 3 2 具體程序設(shè) 計 12 3 3 系統(tǒng)軟件執(zhí)行流 程 12 四 結(jié)論與設(shè)計調(diào)試 4 1 結(jié) 論 14 4 2 課程設(shè)計過程中遇到的主要問題以及解決辦 法 14 五 心得體 會 15 六 參考文 獻 16 七 附錄 仿真圖 源程序 17 緒 論 隨著社會的發(fā)展 路燈已經(jīng)成為一個城市的照明系統(tǒng)中不可分割的一部分 在城市照明中發(fā)揮著舉足輕重的作用 而其所依靠的就是路燈自動化控制系統(tǒng) 但當前大多采用的是定時的路燈自動化控制系統(tǒng) 其通常都是采用全夜式 開啟路燈的自動化控制系統(tǒng) 但因為夏天跟冬天因為天亮與天黑的時差頗大 使得夏天晚上過早的路燈就開啟 早上又過晚的關(guān)閉 且世界奇觀這么多 偶 爾總會出現(xiàn)點極端的天氣狀況 會造成白天天過黑 夜晚又如白晝般亮的情況 如日全食等 而路燈又不會自動開啟或者關(guān)閉 這就使得交通事故的發(fā)生 概率增大 路燈在這種情況下失去了其應(yīng)有的價值和意義也造成能源的白白浪 費 而且現(xiàn)在路燈已經(jīng)全球基本普及 大到世界有名的大城市 小到小城鎮(zhèn) 小鄉(xiāng)村都已經(jīng)有了路燈 可想而知世界能源在這塊的浪費上是多么的巨大 光控路燈不僅可以解決這類問題 還可以使路燈在有需要的時候自動開啟 或者關(guān)閉 避免了路燈在不需要的時候自動開啟或者關(guān)閉 大大的避免了能源 不必要的浪費 對于地球環(huán)保和能源的節(jié)約 可以起到巨大的作用 一個城市 每年在這塊能源的經(jīng)濟支出上對于普通人來說簡直是一個天文數(shù)字 一個人一 輩子的用電可能都沒有城市路燈幾天的使用量大 光控路燈如果可以普及化 不僅可以為城市省下了一大筆的開支 使其可以將節(jié)省下的資金投資到更有意 義的地方去 使得城市可以更好 更快的發(fā)展 對于世界來說 更是可以取得 巨大的節(jié)約能源效果 對于綠色地球的實現(xiàn)做出巨大的貢獻 路燈自動化的控制方式有很多 本系統(tǒng)采用 STC 89C52 和七段數(shù)碼管顯示 器 LED 燈等相關(guān)的光電檢測 控制 顯示設(shè)備 來設(shè)計智能光控路燈自動化 系統(tǒng) 實現(xiàn)能根據(jù)外界光線條件通過 IIC 總線模塊 AD DA 轉(zhuǎn)換模塊等的處理 實現(xiàn)控制路燈的自動化開啟或者關(guān)閉功能 一 目標及任務(wù) 本設(shè)計是以光敏電阻可以根據(jù)外界光線的強度而改變自身阻值的特性 光 線越強 阻值越小 光線越弱 阻值越大 為基礎(chǔ)設(shè)計的光控路燈自動化控制 系統(tǒng) 其原理是利用光敏電阻感受外界光線強度并體現(xiàn)在自身阻值的變化上 然后根據(jù)這一阻值的大小來判斷外界的光線亮度情況 然后根據(jù)所得數(shù)據(jù)判斷 LED 是該亮起還是該滅掉 即當外界光線強度弱到使光敏電阻阻值大于等于 200 歐的時候 LED 燈會自動開啟 小于 200 歐的時候 自動關(guān)閉 2 硬件設(shè)計 2 1 主要模塊構(gòu)成 1 光敏電阻感應(yīng)模塊與 AD DA 轉(zhuǎn)換模塊 所謂的 AD DA 轉(zhuǎn)換就是模數(shù) 數(shù)模轉(zhuǎn)換 該設(shè)計中我們涉及到的是 ADC 模數(shù)轉(zhuǎn)換 PCF8591 是具有 IIC 總線接口的 8 位 A D 及 D A 的轉(zhuǎn)換器 具有 4 路 A D 輸入 1 路 A D 輸出 這里該設(shè)計利用 PCF8591 來實現(xiàn) ADC 轉(zhuǎn)換數(shù)據(jù)的功能和連接 IIC 總線的 功能 其引腳 1 ANI0 ANI3 為模擬信號輸入端 不用時接地 2 SDA 為 IIC 總線數(shù)據(jù)輸入輸出端 3 SDL 為 IIC 總線時鐘輸入端 4 VREF 為基準電壓輸入端 其原理為 光敏電阻通過感應(yīng)外界的光線強度獲得數(shù)據(jù) 通過 PCF8591 的 ANI0 端口 數(shù)據(jù)輸入端口 輸入數(shù)據(jù) 進行 ADC 模數(shù)轉(zhuǎn)換 將感應(yīng)數(shù)據(jù) 轉(zhuǎn)換成數(shù)字數(shù)據(jù) AD DA 模塊和光敏電阻感應(yīng)模塊仿真圖如下 AD DA 轉(zhuǎn)換模塊與光敏電阻感應(yīng)模塊 2 IIC 總線模塊 隨著大規(guī)模集成電路技術(shù)的發(fā)展 一個系統(tǒng)所需要的組件越來越多 所以 各組成部分之間便需要總線來實現(xiàn)組件之間數(shù)據(jù)的傳輸 控制 而 IIC 總線具 有簡單 有效 高性能優(yōu)點 可以大大簡化系統(tǒng)的硬件設(shè)計 因此得到廣泛應(yīng) 用 因為 AT24C02 擁有存儲芯片 且可重復擦除數(shù)百萬次和重復讀寫的能力 因此在這里我們便采用 AT24C02 來實現(xiàn) IIC 總線的 EEPROM 功能 用它來存 儲數(shù)據(jù)并控制數(shù)據(jù)的輸出與接收 實現(xiàn) IIC 總線的雙向串口通信功能 其引腳 a SDA 為串行數(shù)據(jù)輸入輸出端 是一個雙向漏極開路結(jié)構(gòu)的引腳 這里作為 IIC 總線數(shù)據(jù)輸入輸出端 b SCL 為串行移位時鐘控制端 這里作為 IIC 總線時鐘輸入 寫入數(shù)據(jù)時 上升沿有效 讀出數(shù)據(jù)時 下降沿有效 IIC 總線仿真圖如下 IIC 總線模塊 3 LED 燈與數(shù)碼管顯示模塊 這里我們應(yīng)用了 74HC573 它包含八路 D 型透明鎖存器 適用于面向總線 的三態(tài)輸出 所有鎖存器共用一個鎖存使能 LE 端和一個輸出使能 OE 端 利用 74HC573 的鎖存功能 使其 LE 端口接單片機 利用單片機編程控制鎖 存數(shù)據(jù)的輸入延遲時間 以此來達到控制 LED 燈亮與滅和七段數(shù)碼管顯示數(shù)值 的穩(wěn)定 使得 LED 燈和七段數(shù)碼管不會一直亮滅亮滅的閃 其引腳 a 當 LE 為高電平時 數(shù)據(jù)從 Dn 輸入到鎖存器 b 當 LE 為低電平時 鎖存器存儲 D 輸入上的信息一段就緒時間直到 LE 的下降沿來臨 c 當 OE 為低電平時 8 個鎖存器的內(nèi)容可被正常輸出 d 當 OE 為高電平時 輸出進入高阻態(tài) LED 燈模塊和七段數(shù)碼管模塊仿真圖如下 LED 燈顯示模塊 七段數(shù)碼管顯示模塊 4 單片機最小化系統(tǒng)模塊 最小系統(tǒng)是 51 單片機的最基本的組成部分 51 單片機的引腳雖然只有四 十 但它有很多的擴展功能 根據(jù)相應(yīng)的課題設(shè)計要求可以設(shè)計相應(yīng)的外圍電 路 編寫出相應(yīng)的控制程序便可以跟外圍電路很好的組合成功能復雜的系統(tǒng) 其引腳 a 18 19 腳為單片機的晶振引腳 外接 11 0592MHz 的晶振 晶振外圍還有 2 個 22pF 的起振電容 可以使單片機更好的起振 b 9 腳為單片機的復位引腳 當復位引腳出現(xiàn)連續(xù)兩個機器周期的高點平時 單片機復位 c 31 引腳為 EA 引腳 當 EA 接高電平時讀取內(nèi)部儲存數(shù)據(jù) 當內(nèi)部存儲器 讀取完成后 單片機自動讀取外部存儲器 當 EA 接低電平是 單片機只 讀取外部存儲器 單片機仿真圖如下 單片機最小系統(tǒng)模塊 2 2 電路設(shè)計 該設(shè)計是將上述的六個模塊拼接一起組成一個系統(tǒng)體系 以實現(xiàn)設(shè)計所需 要的功能及光控路燈自動化控制系統(tǒng) 單個模塊其功能相對會比較簡單 單一 但將一些模塊合理的串接起來就可以實現(xiàn)復雜的功能 當然也可以實現(xiàn)該設(shè)計 所需的功能 其連接方式 1 光敏電阻通過感應(yīng)外界的光線強度 將其轉(zhuǎn)換成模擬信號 利用 PCF8591 的 AIN0 模擬信號輸入端 將模擬數(shù)據(jù)輸入到 PCF8591 2 PCF8591 對數(shù)據(jù)進行 ADC 轉(zhuǎn)換 模數(shù)轉(zhuǎn)化 將模擬信號轉(zhuǎn)換成數(shù)據(jù)信號 并根據(jù)單片機對 SCL IIC 總線時鐘輸入端 高低電平的控制 利用 SDA IIC 總線數(shù)據(jù)輸入輸出端 將數(shù)據(jù)傳輸至 IIC 總線的緩存元件 AT24C02 使其行使 EEPROM 功能 3 根據(jù)單片機傳輸給 AT24C02 的 SCL 串行移位時鐘控制端 端口的高低電 平信號來執(zhí)行數(shù)據(jù)的寫入或者讀出 寫入數(shù)據(jù)時 上升沿有效 讀出數(shù)據(jù) 時 下降沿有效 利用 AT24C02 的 SDA 端來進行數(shù)據(jù)的雙向串口通信 4 AT24C02 在 SCL 為下降沿的時候通過 SDA 端將緩存的數(shù)據(jù)傳輸給單片機 5 74H573 的 LE 端口接單片機的端口 利用單片機對 LE 的輸入電平進行控 制 當 LE 為高電平時 數(shù)據(jù)從 Dn 輸入到鎖存器 當 LE 為低電平時 鎖 存器存儲 D 輸入上的信息一段就緒時間直到 LE 的下降沿來臨 實現(xiàn)對 LED 燈模塊跟七段數(shù)碼管顯示模塊的延時時間控制 防止一閃一閃的 6 單片機通過處理數(shù)據(jù) 判斷 LED 燈模塊該亮還是該滅 并輸出數(shù)據(jù)到 LED 燈模塊和七段數(shù)碼管模塊所連接的 74HC573 的 Dn 端口 7 單片機通過對 SCL 和 LE 端口電平的輸入來控制各模塊間數(shù)據(jù)的傳輸 接 收 其模塊連接流程圖 光敏電阻 感應(yīng)模塊 AD DA 轉(zhuǎn)換 模塊 IIC 總線 模塊 單片機 模塊 數(shù)碼管 顯示模塊 LED 燈模塊 電路總圖如下 2 3 系統(tǒng)流程 其流程為 光敏電阻讀取外界光線的強度 通過 ADC 轉(zhuǎn)換為數(shù)據(jù)編碼傳 輸給單片機 單片機接收 處理 輸出數(shù)據(jù)使得七段數(shù)碼管顯示出數(shù)據(jù) 當前 光敏電阻的阻值 執(zhí)行中斷 判斷該光線的強度是否達到設(shè)定的要求 這里 設(shè)定光敏電阻阻值大于 等于 200 時 LED 燈亮 小于 200 時 LED 燈滅 若達到則 LED 燈亮起 若達不到則 LED 燈滅掉 其系統(tǒng)框圖如下 晶振 電路 路振 光敏 輸入 單 片 機 主 要 程 序 數(shù)碼管 顯示輸出 LED 燈 亮滅輸出 系統(tǒng)框圖 三 系統(tǒng)的軟件設(shè)計 啟動該程序 接收光敏電阻傳輸進來的模擬數(shù)據(jù) 啟動 ADC 轉(zhuǎn)換程序?qū)?模擬數(shù)據(jù)轉(zhuǎn)換成數(shù)字數(shù)據(jù) 并啟動 IIC 總線控制程序?qū)?shù)據(jù)緩存到 AT24C02 中 利用單片機編程對數(shù)據(jù)進行處理和傳輸?shù)目刂?使得整個系統(tǒng)可以很好的相互 協(xié)調(diào)運行 以達到實現(xiàn)光控路燈自動化控制系統(tǒng)所需要的功能的實現(xiàn) 對于 IIC 總線 AD DA 轉(zhuǎn)換程序主要利用的是對 PCF8591 和 AT24C02 的 SDA SCL 端口的輸入電平來實現(xiàn)程序的啟動和關(guān)閉 以此達到控制數(shù)據(jù)的 輸出和輸入的功能 通過對 74HC573 的 LE 端口電平的輸入控制 來達到 LED 燈和七段數(shù)碼管顯示時間的延遲 防止其一閃一閃的 3 1 詳細步驟 啟動該程序 光敏電阻感應(yīng)外界光線的強度并轉(zhuǎn)換成模擬信號 經(jīng)過 PCF8591 的 AIN0 數(shù)據(jù)輸入端口輸入到 PCF8591 里面 經(jīng)過 ADC 轉(zhuǎn)換成數(shù)據(jù) 總線 當 SDA 端口由從高到低一次跳變 IIC 通信開始 SDA 將出具傳輸?shù)?AT24C02 里面緩存起來 當 SDA 由低到高的一次跳變 IIC 通信結(jié)束 將 SDA 接單片機的 P3 2 端口 SCL 接單片機的 P3 3 端口 利用單片機的編程控制 P3 2 和 P3 3 端口高低電平的輸入就可以控制 ADC 轉(zhuǎn)換的數(shù)據(jù)輸出延遲時間和 IIC 總線緩存區(qū)的數(shù)據(jù)輸入單片機中或者單片機反饋的數(shù)據(jù)輸入到緩存區(qū)里面 單片機的 P0 端口接的是 74HC573 這是一個八路透明鎖存器 其端口 LE 接單 片機的 P1 0 跟 P1 1 利用單片機的編程來控制 P1 0 跟 P1 1 端口高低電平的輸 出 以控制 74HC573 的數(shù)據(jù)傳輸?shù)?LED 燈跟七段數(shù)碼管的延遲時間 防止 LED 燈和七段數(shù)碼管的閃動 當數(shù)據(jù)顯示在數(shù)碼管中后 中斷程序啟動 執(zhí)行判斷程序 判斷當百位 2 的時候 LED 燈亮起來 判斷 2 的時候 LED 燈就滅掉 程序中還用到了數(shù)據(jù)的動態(tài)讀取與發(fā)送程序 使得七段數(shù)碼管的數(shù)值可以 隨著光敏電阻的感應(yīng)數(shù)據(jù)一起不斷的變化 還有延遲函數(shù) 可以設(shè)定顯示函數(shù)的延遲時間 還有 IIC 總線的啟動 結(jié)束程序 還有數(shù)據(jù)的發(fā)送接收函數(shù)與顯示函數(shù) 3 2 具體程序設(shè)計 見附錄 程序 3 3 系統(tǒng)軟件執(zhí)行流程 本系統(tǒng)的軟件執(zhí)行流程圖如下 光敏電阻感應(yīng) 外界光線強度 通過 ADC 模數(shù)轉(zhuǎn)換 轉(zhuǎn)換成數(shù)字數(shù)據(jù) 七段數(shù)碼管顯示出 當前光敏電阻阻值 LED 燈亮 LED 燈不亮 啟動系統(tǒng) YES NO 實行判斷程序 判斷 LED 燈是否開啟 啟動 IIC 總線程序 進行數(shù)據(jù)緩存 單片機啟動動態(tài) 接收數(shù)據(jù)程序 中斷程序開啟 判斷程序啟動 啟動 IIC 總線數(shù)據(jù) 發(fā)送函數(shù) 單片機處理數(shù)據(jù) 啟動結(jié)束 IIC 總線程 序 單片機發(fā)送 處理后的數(shù)據(jù) 啟動顯示函數(shù) 讀取數(shù)值 4 結(jié)論與設(shè)計調(diào)試 4 1 結(jié)論 隨著社會的發(fā)展 路燈已經(jīng)全球化 幾乎只要有人群的地方就會有路燈 而用于控制路燈的自動化控制系統(tǒng)因為世界有這個需求 所以也出現(xiàn)了好多利 用不同外部因素來實現(xiàn)路燈的自動化控制系統(tǒng) 用來控制路燈的自動亮起或者 自動關(guān)閉 當前大多數(shù)地方采用的都是定時的路燈自動化控制系統(tǒng) 晚上路燈一整夜 都開啟著 白天全天關(guān)閉著 但因為夏天跟冬天因為天亮與天黑的時差頗大 使得夏天晚上過早的路燈就開啟 早上又過晚的關(guān)閉 且世界奇觀這么多 偶 爾總會出現(xiàn)點極端的天氣狀況 會造成白天天過黑 夜晚又如白晝般亮的情況 如日全食等 而路燈又不會自動開啟或者關(guān)閉 使得一個路燈每年都得應(yīng) 為這個原因而白白浪費了多少能源 而世界路燈總量又是多么的龐大 那每年 世界在路燈這塊的能源浪費上課想而知是一個多么龐大的天文數(shù)字啊 光控路燈比時控路燈明顯的先進實用 靈活性上更是遠遠的超越時控路燈 未來必然會成為世界路燈自動化控制系統(tǒng)的主流 本設(shè)計采用的是利用單片機 進行的光控路燈自動化控制系統(tǒng)設(shè)計 但本設(shè)計所利用的元器件等原材料并不 屬于極強耐用型 且設(shè)計不夠完善 無法隨需要而進行修改自己的所想要的光 線強度設(shè)定其值 高于等于該值就亮 低于就滅 因此此設(shè)計并不適合于現(xiàn)實 中大規(guī)模的應(yīng)用 需要修改一下使用的元器件 改為使用壽命高的元器件進行 設(shè)計 并添加設(shè)定極限值功能和防瞬間強光燈也會亮的防 虛強光 功能 添加個感應(yīng)強光的設(shè)定時間值即可 強光保持一定時間燈才會滅 反之也一樣 弱光保持一定時間燈才會亮 利用修改后的系統(tǒng)就可以在現(xiàn)實中進行大規(guī)模的 應(yīng)用 4 2 課程設(shè)計過程中遇到的主要問題以及解決辦法 由于要設(shè)計本課題所需要用到的知識有很多都是沒有教過的 所有使用的 一些元器件也是完全沒接觸過的型號 在實驗中遇到不少的問題 1 要實現(xiàn)本課題所需要的內(nèi)容需要用到好多腦子里幾乎沒半點概念的知識 2 對于所需要使用到的模塊不了解 如 AD DA 轉(zhuǎn)換 IIC 總線等 3 對于原理圖多需要用到的芯片不會用 如 PCF8591 AT24C02 光敏電阻 等 4 對于原理圖跟程序之間 各模塊如何連接使其成為一個系統(tǒng)不了解 解決辦法 1 花了的一段時間自學那些沒教過的知識 AD DA 轉(zhuǎn)換 IIC 總線的應(yīng)用等 并知道要實現(xiàn)這些功能多需要用到的元器件 2 花了幾天時間全面地查詢 了解所需要用到的元器件其原理及怎樣應(yīng)用 3 又花了幾天的時間將上面查詢到的資料 消化 掉 以便開始課程設(shè)計的 開始動工設(shè)計 4 資料理解完之后 對于整個系統(tǒng)的構(gòu)成已經(jīng)有一個大體的理念了 可以開 始動手設(shè)計了 五 心得體會 這次設(shè)計的思想來源于平時的生活 在生活中路燈是隨處可見的 有很多 得地方的路燈是時控的 這種控制方法有一些缺點 比如冬夏天黑和天亮的時 間是不同的 時控的話不能使路燈得到更充分的應(yīng)用 所以這次我們決定做一 個光控的路燈 經(jīng)過這一次的電子創(chuàng)新設(shè)計 才發(fā)現(xiàn)到目前為止學到的東西太少了 應(yīng)用 在實際操作中真的感覺什么都不會 讓我了解到我的知識是那么的稀少 那么 的淺薄 電子元件的世界那么大 我現(xiàn)在所學的 連皮毛都還算不上 需要多 多的努力學習 想要基礎(chǔ)的掌握更多的電子元件 光靠課堂的學習是不夠的 課后仍需要自學許多的知識 這次的電子創(chuàng)新設(shè)計讓我看到了我自身在電子方 面的學習上的不足點 太多元器件不懂 各種軟件也不會用 腦子里面壓根就 沒有存儲任何資料 對一些元器件不管是原理還是怎樣應(yīng)用都是一個致命的盲 點 讓我知道了 在學校里學的東西不去實踐是更本沒有學懂的 所以在學校剩下的這些時間里 不管事情忙不忙都得抽時間出來自學各種各樣的元器件其原理還有怎樣應(yīng)用 不一定要全部精通 但至少也一定要略懂 這樣以后在設(shè)計其他東西的時候 腦子里面才可以本能的想想可能會用到什么元器件 并在次查看設(shè)計需求和元 器件應(yīng)用方式看是否真可以用得上 這次的課程設(shè)計 讓我更加熟悉了單片機需要用到的 Proteus 仿真軟件 Keil 程 序編寫軟件的功能和使用方法 也讓我學習到了好幾種電子元器件的使用方法 和原理 收獲頗豐 我從這次的設(shè)計中感受到了堅持的重要性 做事不能輕言 放棄 雖然過程不順利 但只要我們堅持下來了 朝著自己最開始的目標前進 就一定會到達終點 在這過程中的挫折實際是為成功的美景做鋪墊 當我們完 成設(shè)計后才發(fā)現(xiàn)過程中的挫折只是在考驗我們對目標是否堅定 在設(shè)計的過程中遇到許多的困難 很感謝幫助我們解答困惑的所有人 當 然這對提升我自己查找和運用資料的能力也起很好的推動作用 對不懂問題的 解答思路能力也很有幫助 電子創(chuàng)新設(shè)計 不僅讓我們的知識掌握的更牢固 還讓我意識到我們所學的知識可以跟現(xiàn)實生活緊密的聯(lián)系起來 這讓我對自己 的學習有了更多的信心 因為感覺我們來大學不是混日子的了 而是在學習真 正對我們生活有用 有幫助的知識能力 我會更加珍惜現(xiàn)在這有優(yōu)越的學習環(huán) 境 努力學習知識讓自己在激烈的社會競爭中不被打倒 參考資料 1 張義和等 例說 51 單片機 C 語言版 第 3 版 北京 人民郵電出 版社 2010 2 彭偉 單片機 C 語言程序設(shè)計實訓 100 例 基于 8051 Proteus 仿真 北京 電子工業(yè)出版社 2009 3 李健 蔣全勝 任靈芝 智能路燈控制系統(tǒng)設(shè)計 J 工業(yè)控制計算機 2010 年 第六期 4 胡斌 元器件及實用電路 M 電子工業(yè)出版社 2007 年 7 月 5 馮育長等編著 單片機系統(tǒng)設(shè)計與實例分析 M 西安電子科技大學出版 2007 附錄 Proteus 仿真圖 符合條件 LED 燈亮起 未達到條件 LED 燈滅 源程序 include define uchar unsigned char define uint unsigned int unsigned char dispcount sbit a P1 0 段控制 sbit b P1 1 位控制 sbit LeDen P1 2 LED 燈控制端 sbit Line P1 3 點陣行控制端 sbit rst P3 4 DS1302 復位端 低電平關(guān)閉 sbit SDA P3 2 sbit SCL P3 3 unsigned char Duanma 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f unsigned char Weima 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f uchar tempdata 8 延時函數(shù) void Delay uint z 延時函數(shù)延時 1ms uchar x y for x 0 x z x for y 0 y 120 y 啟動總線 void Start SDA 1 時鐘保持高 數(shù)據(jù)線從高到低一次跳變 I2C 通信開始 SCL 1 Delay 0 SDA 0 Delay 0 SCL 0 結(jié)束總線 void Stop SDA 0 時鐘保持高 數(shù)據(jù)線從低到高一次跳變 I2C 通信停止 SCL 1 Delay 0 SDA 1 Delay 0 SCL 0 非應(yīng)答函數(shù) void Noack 函數(shù)功能 從機發(fā)送非應(yīng)答位子程序 迫使數(shù)據(jù)傳輸過 程結(jié)束 SDA 1 Delay 0 SCL 1 Delay 0 SCL 0 void Ack 函數(shù)功能 主機應(yīng)答位檢查子程序 迫使數(shù)據(jù)傳輸過程結(jié) 束 SDA 0 Delay 0 SCL 1 Delay 0 SCL 0 數(shù)據(jù)發(fā)送函數(shù) void Send uchar c uchar bite for bite 0 bite 8 bite 向 SDA 上發(fā)送一位數(shù)據(jù)字節(jié) 共八位 if c bite 若要發(fā)送的數(shù)據(jù)最高位為 1 則發(fā)送 位 1 else SDA 0 傳送位 0 SCL 1 Delay 0 SCL 0 SDA 1 Delay 0 Delay 0 Delay 0 接收函數(shù) uchar Rec uchar byte bite SDA 1 從 SDA 線上讀取上一數(shù)據(jù)字節(jié) 共八位 for bite 0 bite 8 bite SCL 0 Delay 0 SCL 1 Delay 0 byte Duanma 2 LeDen 1 P0 0 x00 LeDen 0 Delay 30 if tempdata 1 Duanma 2 LeDen 1 P0 0XFF 關(guān)閉 LED 燈 LeDen 0 Delay 30 TH0 65536 2000 256 重新賦值 高八位 TL0 65536 2000 256 重新賦值 低八位 Display 0 8 顯示函數(shù) 使用中斷顯示- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機 光控 路燈 設(shè)計 程序 仿真
鏈接地址:http://www.820124.com/p-6657263.html