




免費(fèi)預(yù)覽已結(jié)束,剩余31頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)電信息工程學(xué)院機(jī)電信息工程學(xué)院 單片機(jī)系統(tǒng)課程設(shè)計(jì)報告單片機(jī)系統(tǒng)課程設(shè)計(jì)報告 目目 錄錄 一 一 設(shè)計(jì)設(shè)計(jì)任任務(wù)務(wù)和性能指和性能指標(biāo)標(biāo) 3 1 1 設(shè)計(jì)任務(wù) 3 1 2 性能指標(biāo) 3 二 二 設(shè)計(jì)設(shè)計(jì)方案方案 4 2 1 任務(wù)分析 4 2 2 系統(tǒng)設(shè)計(jì) 5 三三 系系統(tǒng)統(tǒng)硬件硬件設(shè)計(jì)設(shè)計(jì) 7 3 1 電源電路 7 3 2 單片機(jī)的最小系統(tǒng) 8 3 3 DS1302 時鐘電路 9 3 4 顯示電路的設(shè)計(jì) 10 3 5 按鍵控制的設(shè)計(jì) 11 3 7 復(fù)位電路 13 四 系四 系統(tǒng)軟統(tǒng)軟件件設(shè)計(jì)設(shè)計(jì) 14 4 1 主程序設(shè)計(jì) 14 4 2 子程序設(shè)計(jì) 15 4 2 1 DS1302 子程序 15 4 2 1 DS1302 子程序流程圖 15 4 2 2 顯示子程序 17 4 2 2 顯示子程序流程圖 19 4 3 修改時間子程序 20 五 五 調(diào)試調(diào)試及性能分析及性能分析 21 5 1 調(diào)試步驟 21 5 1 1 硬件調(diào)試 21 5 1 2 軟件調(diào)試 21 5 2 性能分析 21 六 心得體會六 心得體會 23 七 參考文獻(xiàn)七 參考文獻(xiàn) 24 八 附八 附錄錄 25 附錄 1 程序清單 25 附錄 2 系統(tǒng)硬件電路圖 35 一 設(shè)計(jì)任務(wù)和性能指標(biāo)一 設(shè)計(jì)任務(wù)和性能指標(biāo) 1 11 1 設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù) 出租車計(jì)價器是乘客與司機(jī)雙方的交易準(zhǔn)則 它是出租車行業(yè)發(fā)展的重要 標(biāo)志 是出租車中最重要的工具 它關(guān)系著交易雙方的利益 具有良好性能的 計(jì)價器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的 出租車計(jì)價器的主要功能是計(jì)價顯示 時鐘顯示 根據(jù)白天 黑夜 途中 等待來調(diào)節(jié)營運(yùn)參數(shù) 計(jì)量數(shù)據(jù)查詢等 要求用 Protel 畫出系統(tǒng)的電路原理圖 要求以最少組件 實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)所要求的功能 印刷電路板 要求布局合 理 線路清晰 繪出程序流程圖 并給出程序清單 要求思路清晰 盡量簡 潔 主程序和子程序分開 使程序有較強(qiáng)的可讀性 1 21 2 性能指標(biāo)性能指標(biāo) 1 不同情況具有不同收費(fèi)標(biāo)準(zhǔn) 白天 晚上 途中等待 10min 開始收 費(fèi) 2 數(shù)據(jù)輸出 單價輸出 路程輸出 總金額輸出 3 按鍵 啟動計(jì)時開關(guān) 數(shù)據(jù)顯示切換 白天 晚上切換 復(fù)位 4 能手動進(jìn)行修改單價 但單價設(shè)定需密碼進(jìn)入 二 設(shè)計(jì)方案二 設(shè)計(jì)方案 2 12 1 任務(wù)分析任務(wù)分析 出租車計(jì)價器基本功能部分是根據(jù)里程數(shù)來完成總金額的輸出 實(shí)現(xiàn)方法 有兩種 方案一 采用數(shù)字電路控制 其原理方框圖如圖 2 1 所示 采用傳感器件 輸出脈沖信號 經(jīng)過放大整形作為移位寄存器的脈沖 實(shí)現(xiàn)計(jì)價 但是考慮到 這種電路過于簡單 性能不夠穩(wěn)定 而且不能調(diào)節(jié)單價 也不能根據(jù)天氣調(diào)節(jié) 計(jì)費(fèi)標(biāo)準(zhǔn) 電路不夠?qū)嵱?移移位位寄寄存存器器 電電路路 里里程程傳傳感感器器 金金額額顯顯 示示 單單價價顯顯 示示 電電源源電電路路及及 保保護(hù)護(hù)電電路路 圖 2 1 數(shù)字電路實(shí)現(xiàn)框圖 方案二 采用單片機(jī)控制 利用單片機(jī)豐富的 IO 端口 及其控制的靈活性 實(shí)現(xiàn)基本的里程計(jì)價功能和價格調(diào)節(jié) 時鐘顯示功能 本方案有較大的活動空 間 不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能 而且還可以方 便的對系統(tǒng)進(jìn)行升級 所以我們采用后一種方案 2 22 2 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 鍵盤電路 掉電保護(hù) 單片機(jī) 顯示電路 里程輸入 圖 2 1 電路系統(tǒng)構(gòu)成框圖 主控芯片使用 51 系列 AT89C52 單片機(jī) 采用高性能的靜態(tài) 80C51 設(shè)計(jì) 由先進(jìn)工藝制造 并帶有非易失性 Flash 程序存儲器 它是一種高性能 低功 耗的 8 位 COMS 微處理芯片 市場應(yīng)用最多 時鐘芯片使用美國 DALLAS 公司推出的一種高性能 低功耗 帶 RAM 的 實(shí)時時鐘芯片 DS1302 采用 DS1302 作為主要計(jì)時芯片 可以做到計(jì)時準(zhǔn)確 更重要的是 DS1302 可以在很小的電流的后備電源 2 5 5 5V 電源 在 2 5V 時耗電小于 300nA 下繼續(xù)計(jì)時 并可編程選擇多種充電電流對后備電源進(jìn)行慢 速充電 可以保證后備電源基本不耗電 采用串行數(shù)據(jù)傳輸 與單片機(jī)硬件連 接簡單 如果使用時鐘芯片 DS12887 將采用并行數(shù)據(jù)傳輸 占用更多的硬件 資源 因此為節(jié)省單片機(jī)端口 時鐘芯片采用 DS1302 它們可以檢測磁場及其變化 可在各種與磁場有關(guān)的場合中使用 霍爾器 件以霍爾效應(yīng)為其工作基礎(chǔ) 霍爾器件具有許多優(yōu)點(diǎn) 它們的結(jié)構(gòu)牢固 體積 小 重量輕 壽命長 安裝方便 功耗小 頻率高 可達(dá) 1MHZ 耐振動 不怕灰塵 油污 水汽及鹽霧等的污染或腐蝕 活兒現(xiàn)行器件的精度高 線性 度好 霍爾開關(guān)器件無觸點(diǎn) 無磨損 輸出波形清晰 無抖動 無回跳 無知 重復(fù)精度高 可達(dá) Im 級 采用了各種步長和保護(hù)措施的霍爾器件的工作溫 度范圍寬 可達(dá) 55 攝氏度 150 攝氏度 數(shù)據(jù)顯示模塊采用的是 LED 數(shù)碼管顯示 LCD 雖然也能實(shí)現(xiàn)顯示功能 但在距屏幕 1 米之外就無法看清數(shù)據(jù) 不能滿足要求 而且在白天其對比度也 不能滿足要求 因此建議采用 LED 數(shù)碼管顯示 數(shù)碼管總共用了 12 個 其中 第一行顯示小時和分鐘 第二行第一個顯示單價 后面 3 個顯示里程數(shù) 最后 一行顯示總價 按鍵控制模塊使用了 3 個脈沖開關(guān) 其中一個開關(guān)負(fù)責(zé)換位 另一個負(fù)責(zé) 改數(shù) 第三個按鍵負(fù)責(zé)切換至等待時間 三三 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì) 3 13 1 電源電路電源電路 因?yàn)槌鲎廛嚿系碾妷簳r 12V 而芯片所需供電電壓是 5V 所以選擇 LM7805 的經(jīng)典電路電源電路完成 12V 轉(zhuǎn) 5V 的目的 電源電路圖如下圖 3 1 所 示 圖 3 1 電源電路圖 3 23 2 單片機(jī)的最小系統(tǒng)單片機(jī)的最小系統(tǒng) 單片機(jī)最小系統(tǒng)采用的是 STC89C54 芯片 STC89C54 是一種低功耗 高 新能 CMOS 8 為微控制器 具有 8K 在系統(tǒng)可編程 Flash 存儲器 使用 Atmel 公 司高密度非易失性存儲器技術(shù)制造 與工業(yè) 80C51 鏟平指令和引腳完全兼容 偏上 FLASH 允許程序存儲器在系統(tǒng)可編程 亦適于常規(guī)編程器 在單芯片上 擁有平橋的 8 為 CPU 何在系統(tǒng)可編程 Flash 使得 STC89C54 為眾多嵌入式控 制應(yīng)用系統(tǒng)提供高靈活 超有效的解決方案 STC89C54 具有以下標(biāo)準(zhǔn)功能 8K 字節(jié) Flash 256 字節(jié) RAM 32 位 I O 口線 看門狗定時器 2 個數(shù)據(jù)指針 三個 16 為定時器 計(jì)數(shù)器 一個 6 向量 2 級終端結(jié)構(gòu) 全雙工串行口 片內(nèi)晶振及時鐘電路 另外 AT89S52 可降至 0HZ 靜態(tài)邏輯操作 支持 2 中軟件可選擇節(jié)點(diǎn)模式 空閑模式下 CPU 停止工 作 允許 RAM 定時器 計(jì)數(shù)器 串口 終端繼續(xù)工作 掉電保護(hù)方式下 RAM 內(nèi)容被保存 振蕩器被凍結(jié) 單片機(jī)一切工作停止 直到下一個中斷或硬 件復(fù)位為止 單片機(jī)最小系統(tǒng)電路圖如下圖 3 2 所示 圖 3 2 單片機(jī)最小系統(tǒng)電路圖 3 33 3 DS1302DS1302 時鐘電路時鐘電路 若采用單片機(jī)計(jì)時 一方面需要采用計(jì)數(shù)器 占用陰間資源 另一方面需 要設(shè)置終端 查詢等 同樣耗費(fèi)單片機(jī)的資源 并且使用單片機(jī)的時鐘誤差比 較大 當(dāng)長時間使用后會 會出現(xiàn)很大錯誤 而在系統(tǒng)中采用 DS1302 則能很 好的解決這個問題 DS1302 時鐘電路圖如圖 3 3 所示 圖 3 3 DS1302 時鐘電路圖 3 43 4 顯示電路的設(shè)計(jì)顯示電路的設(shè)計(jì) 在顯示模塊需要對時間 單價 總價 路程 等待時間進(jìn)行顯示 采用的是 數(shù)碼管 數(shù)碼管總共用了 12 個 其中第一行顯示小時和分鐘 第二行第一個顯示單價 后面 3 個顯示里程數(shù) 最后一行顯示總價 顯示電路圖 一個數(shù)碼管 如下圖 3 4 所示 圖 3 4 顯示電路圖 3 53 5 按鍵控制的設(shè)計(jì)按鍵控制的設(shè)計(jì) 按鍵的設(shè)置是為了能夠手動更改時間和單價 還有就是手動切換到等待時間的 地方 按鍵采用的是脈沖按鍵 按鍵設(shè)置電路圖如圖 3 5 所示 圖 3 5 按鍵控制電路圖 3 6 掉電保護(hù) 掉電存儲單元的作用是在電源斷開的時候 存儲當(dāng)前設(shè)定的單價信息 掉 電保護(hù)的芯片較多 如 AT24C02 是 ATMEL 公司的 2KB 字節(jié)的電可擦除存儲 芯片 采用兩線串行的總線和單片機(jī)通訊 電壓最低可以到 2 5V 額定電流為 1mA 靜態(tài)電流 10Ua 5 5V 芯片內(nèi)的資料可以在斷電的情況下保存 40 年以上 而且采用 8 腳的 DIP 封裝 使用方便 掉電保護(hù)電路圖如下圖 3 6 所示 圖 3 6 掉電保護(hù)電路圖 3 73 7 復(fù)位電路復(fù)位電路 復(fù)位功能采用的是 MAX813L 芯片 MAX813L 是具有監(jiān)控電路的微處理 芯片 它具有 4 個功能 1 具有獨(dú)立的看門狗計(jì)時器 如果看門狗輸入在 1 6 秒 內(nèi)無變化 就會產(chǎn)生看門狗輸出 2 掉電或電源電壓低于 1 25V 時 產(chǎn)生掉電 輸出 3 上電時能自動產(chǎn)生 200ms 寬的復(fù)位脈沖 4 具有人工復(fù)位功能 當(dāng)人 工復(fù)位端輸入低電平時 產(chǎn)生復(fù)位信號輸出 復(fù)位電路如圖 3 7 所示 圖 3 7 復(fù)位電路圖 四 系統(tǒng)軟件設(shè)計(jì)四 系統(tǒng)軟件設(shè)計(jì) 4 14 1 主程序設(shè)計(jì)主程序設(shè)計(jì) 程序的難度主要就是在數(shù)碼管的顯示和外部脈沖的采集部分 分別采用 74LS273 芯片對數(shù)碼管進(jìn)行段選 使數(shù)碼管顯示對應(yīng)的數(shù) 另外使用 74LS154 對數(shù)碼管進(jìn)行位選 選擇哪個數(shù)碼管亮 采用的是動態(tài)顯示 還有外部脈沖的 收集 需要對里程數(shù)進(jìn)行顯示 所以必須要先進(jìn)行脈沖的采集 程序流程圖如圖 4 1 所示 圖 4 1 程序流程圖 4 24 2 子程序設(shè)計(jì)子程序設(shè)計(jì) 4 2 14 2 1 DS1302DS1302 子程序子程序 4 2 14 2 1 DS1302DS1302 子程序流程圖子程序流程圖 顯示單價 總價 路程 時間等數(shù)據(jù) 循環(huán)掃描進(jìn)行顯示 如果在一分 鐘內(nèi)沒有脈沖 開啟終端 顯示秒分子程序 DS1302 子程序流程圖如 4 2 1 所示 開始 寫入實(shí)參數(shù) addr CE 1 SCLK 0 I 0 取 ADDR 低位 Addr 右移一位 Sclk 上升沿 是否是上升 沿 Y 等待上升沿 N i i 8 結(jié)束 Y N 圖 4 2 1 DS1302 子程序流程圖 4 2 24 2 2 顯示子程序顯示子程序 void sett 顯示等待時間及單價 總價 路程子程序 TAB 0 Read1302 0 x83 10 TAB 1 Read1302 0 x83 10 TAB 7 Read1302 0 x81 10 TAB 6 Read1302 0 x81 10 TAB 8 3 TAB 2 Coo 100 TAB 3 Coo 10 10 TAB 4 Coo 10 if TAB 4 3 else TAB 11 8 Coo 3 TAB 8 10 TAB 5 TAB 2 TAB 8 10 TAB 9 Coo 100 TAB 8 Coo 100 TAB 8 100 TAB 10 Coo 10 TAB 8 Coo 10 TAB 8 10 10 void mmm 顯示時間子程序 TAB 0 Read1302 0 x85 10 TAB 1 Read1302 0 x85 10 TAB 7 Read1302 0 x83 10 TAB 6 Read1302 0 x83 10 TAB 8 3 TAB 11 8 Coo 3 TAB 8 10 TAB 5 TAB 2 TAB 8 10 TAB 9 Coo 100 TAB 8 Coo 100 TAB 8 100 TAB 10 Coo 10 TAB 8 Coo 10 TAB 8 10 10 void mm 非計(jì)價時的顯示時間 TAB 0 Read1302 0 x85 10 TAB 1 Read1302 0 x85 10 TAB 7 Read1302 0 x83 10 TAB 6 Read1302 0 x83 10 TAB 8 3 TAB 2 Coo 100 TAB 3 Coo 10 10 TAB 4 Coo 10 if TAB 4 12 結(jié)束 Y N 圖 4 2 2 顯示子程序流程圖 4 34 3 修改時間子程序修改時間子程序 修改 TAB 數(shù)組里的前 5 位數(shù)據(jù) 分別為小時 分鐘 單價 五 調(diào)試及性能分析五 調(diào)試及性能分析 5 15 1 調(diào)試步驟調(diào)試步驟 5 1 15 1 1 硬件調(diào)試硬件調(diào)試 錯誤 1 LM7805 封裝時 2 腳和 3 腳弄混 解決辦法 1 將 LM78052 腳和 3 腳手工矯正 2 利用飛線重新手工焊接 錯誤 2 進(jìn)行原理圖設(shè)計(jì)時 電源網(wǎng)絡(luò)標(biāo)號不一致 74LS14 74HC154 電 源網(wǎng)絡(luò)標(biāo)號與其他的不一致 解決辦法 利用飛線 將錯誤的網(wǎng)絡(luò)標(biāo)號和正確的網(wǎng)絡(luò)標(biāo)號進(jìn)行手工焊接 錯誤 3 1K 9 排阻焊反 解決辦法 手工拔出 重新焊接 錯誤四 在焊接時 由于焊接時間過長 造成三極管燒壞 解決辦法 手工拔出重新焊接 錯誤 5 有些器件焊接次數(shù)過于頻繁 造成印刷板上焊盤和導(dǎo)線脫落 解決辦法 利用飛線將對應(yīng)的網(wǎng)絡(luò)標(biāo)號進(jìn)行連接 5 1 25 1 2 軟件調(diào)試 軟件調(diào)試 在軟件編程時 應(yīng)充分利用原理圖 不然會在編程時導(dǎo)致硬件與軟件不能 對應(yīng)起來 使程序無法實(shí)現(xiàn)功能 還有在編程時子程序的名稱應(yīng)與其功能對應(yīng) 否則會使別人在讀程序的時候不能及時理解程序含義 而且在軟件調(diào)試時邏輯 一定要清晰 不然在找錯時會浪費(fèi)很多時間 5 25 2 性能分析性能分析 通過軟件調(diào)試后 最終能實(shí)現(xiàn)實(shí)時時鐘顯示 里程數(shù)的顯示 單價的顯示 總價的顯示 時間的調(diào)整 等待時間的顯示 時間顯示模塊使用的是時鐘芯片 DS1302 它精確度高 功能強(qiáng)大 使用它 能降低單片機(jī)的負(fù)荷 減小誤差 里程數(shù)收集模塊由于條件限制 所以我們使用一個外部脈沖信號作為里程 數(shù)的收集 用一個脈沖表示一公里 最大的里程數(shù)可達(dá) 256 公里 電源模塊部分由于經(jīng)驗(yàn)問題 沒有在 PCB 板上加上串口和 USB 口 使得 電源不穩(wěn) 只能用導(dǎo)線在外部加一個 5V 電壓 而且由于 7805 的封裝引腳分配 有錯誤 導(dǎo)致在最初調(diào)試的時候芯片燒壞 所以最終放棄 7805 的電壓轉(zhuǎn)換 而 直接使用 5V 電壓 顯示模塊使用 LED 數(shù)碼管 通過軟件調(diào)試 12 個數(shù)碼管能顯示時間 總 路程 單價 總價及等待時間的自動切換 六 心得體會六 心得體會 由于初次進(jìn)行硬件電路設(shè)計(jì) 出現(xiàn)了很多簡單又致命的錯誤 見硬件調(diào)試 5 個錯誤在一塊線路密集并且已經(jīng)焊好器件的電路板上無疑是大海撈針 像 器件焊反之類的錯誤還比較好排除 而器件損壞和網(wǎng)絡(luò)標(biāo)號不一致這樣的錯誤 就很讓人頭疼 僅僅只是網(wǎng)絡(luò)標(biāo)號不一致這個錯誤就讓我們整整測試了一天才發(fā)現(xiàn) 所以 下次設(shè)計(jì)硬件電路的時候一定要找?guī)讉€人仔細(xì)檢查電路圖 不能再輕易犯這樣 的錯誤 像印刷板上導(dǎo)線斷裂這樣的錯誤也比較難找 而這種錯誤往往是焊接時溫 度過高或者是焊接過于頻繁造成的 所以以后焊接的時候一定不會再犯這樣的 錯誤了 而且由于當(dāng)初設(shè)計(jì) USB 口和串行口 為軟件調(diào)試造成了很大的麻煩 每天 不停地拔單片機(jī) 再做學(xué)生實(shí)驗(yàn)的時候不能太過于追求趨近于真實(shí)產(chǎn)品 過 于追求真實(shí)會讓你的實(shí)驗(yàn)過程變得極其困難 真的是后悔不已 當(dāng)初想利用以前做的單片機(jī)最小系統(tǒng)開發(fā)板上的串行口進(jìn)行程序下載 但 是到真正實(shí)行的時候在發(fā)現(xiàn)并不是那么回事 由于對單片機(jī)的要求達(dá)不到 雖 然理論上天衣無縫 但實(shí)際上根本不可能實(shí)現(xiàn) 雖然出租車上提供的電源是 12V 即便在實(shí)驗(yàn)板上設(shè)計(jì)了電源電路也應(yīng)該 再加上一個 USB 口提供 5V 電源 因?yàn)槌嗽趯?shí)驗(yàn)室其他地方是并不太容易找 到 12V 電源 由于對 USB 口的省略 對軟件調(diào)試工作造成了很大的麻煩 七 參考文獻(xiàn)七 參考文獻(xiàn) 1 徐維祥 劉旭敏 單片微型機(jī)原理及應(yīng)用 大連 大連理工大學(xué)出版社 1996 戴勝華 蔣大明 單片機(jī)原理與應(yīng)用 北京 清華大學(xué)出版社 2005 李剛 新概念單片機(jī)教程 天津 天津大學(xué)出版社 2004 王宗和 單片機(jī)實(shí)驗(yàn)與綜合訓(xùn)練 北京 高等教育出版社 2000 八 附錄八 附錄 附錄附錄 1 1 程序清單 程序清單 include reg51 h include intrins h define uchar unsigned char uchar tmp uchar det uchar Coo int m int f uchar code DispTab 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xc0 字 形碼 uchar TAB 24 sbit P00 P0 0 sbit P01 P0 1 sbit P02 P0 2 sbit P03 P0 3 sbit P04 P0 4 sbit P05 P0 5 sbit P10 P1 0 sbit P27 P2 7 sbit P14 P1 4 sbit SCLK P1 3 DS1302 的 SCLK 腳脈沖 sbit DIO P1 2 DS1302 的 IO 腳數(shù)據(jù) sbit CE P1 1 DS1302 的 RST 腳片選 sbit P15 P1 5 sbit P23 P2 3 sbit P21 P2 1 sbit P16 P1 6 sbit P35 P3 5 sbit P22 P2 2 sbit P17 P1 7 sbit P20 P2 0 sbit P26 P2 6 sbit P24 P2 4 sbit ACC7 ACC 7 sbit ACC0 ACC 0 void time interrupt 1 等待計(jì)時中斷 int i j TH0 0 x15 TL0 0 xa0 i if i 100 i 0 j if j 10 j 0 f Coo void mDelay unsigned int Delay 延時子程序 unsigned int I for Delay 0 Delay for I 0 I0 i 循環(huán) 8 次移位 temp addr DIO bit temp 每次傳輸?shù)妥止?jié) addr 1 SCLK 0 右移一位 SCLK 1 發(fā)送數(shù)據(jù) for i 8 i 0 i temp dat DIO bit temp dat 1 SCLK 0 SCLK 1 CE 0 unsigned char Read1302 unsigned char addr 數(shù)據(jù)讀取子程序 unsigned char i temp dat1 dat2 CE 0 SCLK 0 CE 1 發(fā)送地址 for i 8 i 0 i 循環(huán) 8 次移位 temp addr DIO bit temp 每次傳輸?shù)妥止?jié) addr 1 SCLK 0 SCLK 1 右移一位 讀取數(shù)據(jù) for i 8 i 0 i ACC7 DIO ACC 1 SCLK 1 SCLK 0 CE 0 dat1 ACC dat2 dat1 16 數(shù)據(jù)進(jìn)制轉(zhuǎn)換 dat1 dat1 16 十六進(jìn)制轉(zhuǎn)十進(jìn)制 dat1 dat1 dat2 10 return ACC void Initial 初始化 DS1302 Write1302 0 x8E 0 x00 禁止寫保護(hù) Write1302 0 x80 0 x00 秒位初始化 Write1302 0 x82 0 x20 分鐘初始化 Write1302 0 x84 0 x10 Write1302 0 x86 0 x23 Write1302 0 x88 0 x05 Write1302 0 x8c 0 x10 小時初始化 Write1302 0 x8E 0 x80 允許寫保護(hù) void set 修改時間 Write1302 0 x8E 0 x00 禁止寫保護(hù) Write1302 0 x82 TAB 7 16 TAB 6 分鐘初始化 Write1302 0 x84 TAB 0 16 TAB 1 Write1302 0 x8E 0 x80 void ss 顯示子程序 int i uchar p p TAB for i 0 i 1 i det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 0 P16 0 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 0 P16 0 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 1 P16 0 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 1 P16 0 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 0 P16 1 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 0 P16 1 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 1 P16 1 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 1 P16 1 P17 0 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 0 P16 0 P17 1 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 0 P16 0 P17 1 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 1 P16 0 P17 1 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 1 P15 1 P16 0 P17 1 p det p tmp DispTab det P0 tmp P20 0 P20 1 P14 0 P15 0 P16 1 P17 1 p void sett 顯示等待時間及單價 總價 路程子程序 TAB 0 Read1302 0 x83 10 TAB 1 Read1302 0 x83 10 TAB 7 Read1302 0 x81 10 TAB 6 Read1302 0 x81 10 TAB 8 3 TAB 2 Coo 100 TAB 3 Coo 10 10 TAB 4 Coo 10 if TAB 4 3 else TAB 11 8 Coo 3 TAB 8 10 TAB 5 TAB 2 TAB 8 10 TAB 9 Coo 100 TAB 8 Coo 100 TAB 8 100 TAB 10 Coo 10 TAB 8 Coo 10 TAB 8 10 10 void mmm 顯示時間子程序 TAB 0 Read1302 0 x85 10 TAB 1 Read1302 0 x85 10 TAB 7 Read1302 0 x83 10 TAB 6 Read1302 0 x83 10 TAB 8 3 void qie int j 修改時間 單價子程序 uchar i switch j case 4 ss if P22 0 for i 0 i 1 i P22 ss TAB 8 if TAB 8 10 TAB 8 0 break case 3 ss if P22 0 for i 0 i 1 i P22 ss TAB 6 if TAB 6 10 TAB 6 0 break case 2 ss if P22 0 for i 0 i 1 i P22 ss TAB 7 if TAB 7 6 TAB 7 0 break case 1 ss if P22 0 for i 0 i 1 i P22 ss TAB 1 if TAB 0 2 break case 0 ss if P22 0 for i 0 i 1 i P22 ss TAB 0 if TAB 0 3 TAB 0 0 break default break Void die 修改單價位 時間位子程序 int x for m 0 m 5 ss qie m if P21 0 for x 0 x 1 ss x P21 m set void mm 非計(jì)價時的顯示時間 TAB 0 Read1302 0 x85 10 TAB 1 Read1302 0 x85 10 TAB 7 Read1302 0 x83 10 TAB 6 Read1302 0 x83 10 TAB 8 3 TAB 2 Coo 100 TAB 3 Coo 10 10 TAB 4 Coo 10 if TAB 4 3 else TAB 11 8 Coo 3 TAB 8 10 TAB 5 TAB 2 TAB 8 10 TAB 9 Coo 100 TAB 8 Coo 100 TAB 8 100 TAB 10 Coo 10 TAB 8 Coo 10 TAB 8 10 10 void count 計(jì)價子程序 int x EA 1 if f Coo sett ss else mm if P35 0 for x 0 x 1 ss x P35 Coo void main int i j TMOD 0 x01 TH0 0 x15 TL0 0 xa0 TR0 1 ET0 1 Initial P27 0 for if P23 0 for i 0 i 1 ss i P23 for j 0 j 1 count ss if P23 0 for i 0 i 1 ss i P23 EA 0 j TAB 2 TAB 3 TAB 11 TAB 5 TAB 9 TAB 10 TAB 4 0 else mmm ss if P21 0 for i 0 i 1 ss i P21 die 附錄附錄 2 2 系統(tǒng)硬件電路圖系統(tǒng)硬件電路圖 IN 1 3 OUT 2 GND U6 LM78L05ACH 220 R3 GND GND 5 OUT A0 1 A1 2 A2 3 GND 4 SDA 5 SCL 6 WP 7 VCC 8 U7 AT24C02 GND 5 5 MR 1 VCC 2 GND 3 PFI 4 PFO 5 WDI 6 RST 7 WDO 8 U9 MAX813 GND C7 10uF 1K 5 GND 4K7 R7 5K1 R6 P25 P26 P25 P26 X1 2 X2 3 VCC2 1 GND 4 RST 5 I O 6 SCLK 7 VCC1 8 U10 DS1302 Y2 32 768khz GND 5 0 1nf C8 1 2 3 4 5 6 7 8 9 10 DS1 CON10 a b c d e f g dp V1 1 2 3 4 5 6 7 8 9 10 DS2 CON10 a b c d e f g dp V2 1 2 3 4 5 6 7 8 9 10 DS6 CON10 a b c d e f g dp V3 1 2 3 4 5 6 7 8 9 10 DS7 CON10 a b c d e f g dp V4 1 2 3 4 5 6 7 8 9 10 DS8 CON10 a b c d e f g dp V5 1 2 3 4 5 6 7 8 9 10 DS9 CON10 a b c d e f g dp V6 1 2 3 4 5 6 7 8 9 10 DS4 CON10 a b c d e f g dp V7 1 2 3 4 5 6 7 8 9 10 DS3 CON10 a b c d e f g dp V8 E 2 C 3 B 1 Q1 C8550 E 2 C 3 B 1 Q2 C8550 E 2 C 3 B 1 Q3 C8550 E 2 C 3 B 1 Q6 C8550 E 2 C 3 B 1 Q7 C8550 E 2 C 3 B 1 Q10 C8550 Q12 C8550 4K7 R4 4K7 R5 4K7 R8 4K7 R11 4K7 R14 4K7 R15 R17 V6 V5 V4 V3 V2 V1 F1 D1 E1 C1 B1 A1 E 2 C 3 B 1 Q4 C8550 4K7 R9 V12 L1 E 2 C 3 B 1 Q11 C8550 V8 H1 E 2 C 3 B 1 Q8 C8550 4K7 R12 V10 J1 E 2 C 3 B 1 Q9 C8550 4K7 R16 V9 I1 E 2 C 3 B 1 Q5 C8550 4K7 R10 V11 K1 1 2 3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ACCESS考試重難點(diǎn)與試題及答案
- 廠內(nèi)工程裝修合同協(xié)議書
- 社會工作者-社會工作綜合能力(初級)真題庫-4
- 2025年嵌入式工程師思維訓(xùn)練試題及答案
- 掌握Access考試備戰(zhàn)技巧試題及答案
- 控制結(jié)構(gòu)基礎(chǔ)試題及答案
- 采購合同協(xié)議書模板文件
- 五人股份合同協(xié)議書
- 寫字樓出售合同協(xié)議書
- 字典管理與數(shù)據(jù)結(jié)構(gòu)ACCESS試題及答案
- GA 1810-2022城鎮(zhèn)燃?xì)庀到y(tǒng)反恐怖防范要求
- 重慶地區(qū)現(xiàn)代方言中的古語詞
- 3第三章申論寫作 寫作課件
- 廣西建設(shè)工程質(zhì)量檢測和建筑材料試驗(yàn)收費(fèi)項(xiàng)目及標(biāo)準(zhǔn)指導(dǎo)性意見(新)2023.10.11
- 商戶撤場退鋪驗(yàn)收單
- 國開電大 可編程控制器應(yīng)用實(shí)訓(xùn) 形考任務(wù)5實(shí)訓(xùn)報告
- PEP英語四年級下冊U5 My clothes Read and write(教學(xué)課件)
- DB37-T 2671-2019 教育機(jī)構(gòu)能源消耗定額標(biāo)準(zhǔn)-(高清版)
- 信息系統(tǒng)項(xiàng)目管理師論文8篇
- (完整版)重大危險源清單及辨識表
- 試驗(yàn)室儀器設(shè)備檢定校準(zhǔn)證書和測試報告確認(rèn)表(公司范本)
評論
0/150
提交評論