![電子稱課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)說明書_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/19edd452-80b0-4273-8541-7e31f34e2ccf/19edd452-80b0-4273-8541-7e31f34e2ccf1.gif)
![電子稱課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)說明書_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/19edd452-80b0-4273-8541-7e31f34e2ccf/19edd452-80b0-4273-8541-7e31f34e2ccf2.gif)
![電子稱課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)說明書_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/19edd452-80b0-4273-8541-7e31f34e2ccf/19edd452-80b0-4273-8541-7e31f34e2ccf3.gif)
![電子稱課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)說明書_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/19edd452-80b0-4273-8541-7e31f34e2ccf/19edd452-80b0-4273-8541-7e31f34e2ccf4.gif)
![電子稱課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)說明書_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/19edd452-80b0-4273-8541-7e31f34e2ccf/19edd452-80b0-4273-8541-7e31f34e2ccf5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)(論文)題 目 名 稱 基于單片機(jī)的電子秤設(shè)計(jì) 課 程 名 稱 單片機(jī)原理及在電氣測控學(xué)科中的應(yīng)用 學(xué) 生 姓 名 學(xué) 號(hào) 系 、專 業(yè) 指 導(dǎo) 教 師 課程設(shè)計(jì)(論文)任務(wù)書年級(jí)專業(yè)學(xué)生姓名學(xué) 號(hào)題目名稱基于單片機(jī)的電子秤設(shè)計(jì)設(shè)計(jì)時(shí)間2011年6月20日2011年7月1日課程名稱單片機(jī)原理及在電氣測控學(xué)科中的應(yīng)用課程編號(hào)121200105設(shè)計(jì)地點(diǎn)數(shù)字控制與PLC實(shí)驗(yàn)室創(chuàng)新實(shí)驗(yàn)室(214)(305)一、 課程設(shè)計(jì)(論文)目的課程設(shè)計(jì)是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實(shí)踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計(jì),要求學(xué)生更多的完成軟硬結(jié)合的動(dòng)手實(shí)踐方案,解決目前學(xué)生課程設(shè)計(jì)過程中普遍存在的
2、缺乏動(dòng)手能力的現(xiàn)象。單片機(jī)課程設(shè)計(jì)是繼電子技術(shù)、和單片機(jī)原理與應(yīng)用課程之后開出的實(shí)踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運(yùn)用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“單片機(jī)原理及應(yīng)用”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測。二、 已知技術(shù)參數(shù)和條件1、利用單片機(jī)設(shè)計(jì)一款電子秤用以測量物體重量,能通過鍵盤設(shè)置單價(jià),顯示金額,重量、單價(jià)、金額及當(dāng)前時(shí)間都能在LCD液晶顯示器上顯示出來。2、89C51系列單片機(jī),A/D轉(zhuǎn)換器件,LED數(shù)碼管,LCD液晶顯示器等;3、KEIL 軟件;Wave軟件;Proteus仿真軟件;4、THKSCM-1型單片機(jī)實(shí)驗(yàn)系
3、統(tǒng)。三、 任務(wù)和要求設(shè)計(jì)要求掌握電子秤的基本原理;掌握電子秤硬件電路的設(shè)計(jì);掌握電子秤軟件程序設(shè)計(jì),掌握仿真軟件的使用。1、 利用單片機(jī)設(shè)計(jì)一款電子秤用以測量物體重量,能通過鍵盤設(shè)置單價(jià),顯示金額,重量、單價(jià)、金額及當(dāng)前時(shí)間都能在LCD液晶顯示器上顯示出來。2、 要求設(shè)計(jì)出電氣原理圖;3、 要求設(shè)計(jì)出程序流程圖;4、要求設(shè)計(jì)出程序。注:1此表由指導(dǎo)教師填寫,經(jīng)系、教研室審批,指導(dǎo)教師、學(xué)生簽字后生效;2此表1式3份,學(xué)生、指導(dǎo)教師、教研室各1份。四、參考資料和現(xiàn)有基礎(chǔ)條件(包括實(shí)驗(yàn)室、主要儀器設(shè)備等)1、單片機(jī)課程設(shè)計(jì)指導(dǎo),中南大學(xué)出版社,張一斌等2009年9月2、單片機(jī)實(shí)驗(yàn)與實(shí)踐教程,北京航
4、空航天大學(xué)出版社,何立民等2004年7月3、THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書、KEIL 軟件,WAVE 軟件4、數(shù)字控制與PLC實(shí)驗(yàn)室”THKSCM-1型單片機(jī)實(shí)驗(yàn)系統(tǒng)”。31目 錄摘 要I1緒論11.1 引言11.2電子稱設(shè)計(jì)的背景及意義22 總體設(shè)計(jì)方案32.1設(shè)計(jì)方案32.2工作原理33 硬件電路的設(shè)計(jì)54 軟件設(shè)計(jì)64.1主程序設(shè)計(jì)65 系統(tǒng)仿真96使用說明137 設(shè)計(jì)總結(jié)14參考文獻(xiàn)15程序:16摘 要 隨著科學(xué)的進(jìn)步,智能儀器逐步替代了常規(guī)儀器。使得測量儀器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化。作為重量測量儀器,智能電子秤在各行各業(yè)開始顯現(xiàn)其測量準(zhǔn)確,測量速
5、度快,易于實(shí)時(shí)測量和監(jiān)控的巨大優(yōu)點(diǎn),并開始逐漸取代傳統(tǒng)型的機(jī)械杠桿測量稱,成為測量領(lǐng)域的主流產(chǎn)品。 本文設(shè)計(jì)的電子秤以ATMEGA16單片機(jī)為主要部件,外圍附以稱重電路、顯示電路、報(bào)警電路、鍵盤電路、時(shí)鐘芯片等構(gòu)成稱重系統(tǒng)電路板。用C語言進(jìn)行軟件設(shè)計(jì),稱重電路則以半橋傳感器為主。稱重傳感器輸出的電量是模擬量,數(shù)值比較小達(dá)不到A/D轉(zhuǎn)換接收的電壓范圍。所以送A/D轉(zhuǎn)換之前要對(duì)其進(jìn)行前端放大、整形濾波等處理。然后,A/D轉(zhuǎn)換的結(jié)果才能送單片機(jī)進(jìn)行數(shù)據(jù)處理并顯示。其數(shù)據(jù)顯示部分采用LCD顯示,成本低且能很好地實(shí)現(xiàn)所要求的功能。本次課設(shè)完成的電子秤的主要優(yōu)點(diǎn)是:1、實(shí)時(shí)測量與監(jiān)控。2、能顯示稱量時(shí)的日
6、期時(shí)間。3、超值報(bào)警功能。4、測量精度高。5、顯示速度快、準(zhǔn)確。本文設(shè)計(jì)的電子秤雖然是一個(gè)極其簡單的智能儀器,但是通過它可以更深入的了解智能儀器的工作原理以及其優(yōu)異的性能。關(guān)鍵詞:SP20C-G501;ATMEGA16;稱重傳感器;A/D轉(zhuǎn)換器;LCD顯示器1緒論1.1 引言在我們生活中經(jīng)常都需要測量物體的重量,于是就用到秤,但是隨著社會(huì)的進(jìn)步、科學(xué)的發(fā)展,我們對(duì)其要求操作方便、易于識(shí)別。隨著計(jì)量技術(shù)和電子技術(shù)的發(fā)展,傳統(tǒng)純機(jī)械結(jié)構(gòu)的桿秤、臺(tái)秤、磅秤等稱量裝置逐步被淘汰,電子稱量裝置電子秤、電子天平等以其準(zhǔn)確、快速、方便、顯示直觀等諸多優(yōu)點(diǎn)而受到人們的青睞。電子秤向提高精度和降低成本方向發(fā)展的
7、趨勢引起了對(duì)低成本、高性能模擬信號(hào)處理器件需求的增加。通過分析近年來電子衡器產(chǎn)品的發(fā)展情況及國內(nèi)外市場的需求,電子衡器總的發(fā)展趨勢是小型化、模塊化、集成化、智能化;其技術(shù)性能趨向是速率高、準(zhǔn)確度高、穩(wěn)定性高、可靠性高;其功能趨向是稱重計(jì)量的控制信息和非控制信息并重的“智能化”功能;其應(yīng)用性能趨向于綜合性和組合性。1.2電子稱設(shè)計(jì)的背景及意義稱重技術(shù)自古以來就被人們所重視,作為一種計(jì)量手段,廣泛應(yīng)用于工農(nóng)業(yè)、科研、交通、內(nèi)外貿(mào)易等各個(gè)領(lǐng)域,與人民的生活緊密相連。電子秤是電子衡器中的一種,衡器是國家法定計(jì)量器具,是國計(jì)民生、國防建設(shè)、科學(xué)研究、內(nèi)外貿(mào)易不可缺少的計(jì)量設(shè)備,衡器產(chǎn)品技術(shù)水平的高低,將
8、直接影響各行各業(yè)的現(xiàn)代化水平和社會(huì)經(jīng)濟(jì)效益的提高。稱重裝置不僅是提供重量數(shù)據(jù)的單體儀表,而且作為工業(yè)控制系統(tǒng)和商業(yè)管理系統(tǒng)的一個(gè)組成部分,推進(jìn)了工業(yè)生產(chǎn)的自動(dòng)化和管理的現(xiàn)代化,它起到了縮短作業(yè)時(shí)間、改善操作條件、降低能源和材料的消耗、提高產(chǎn)品質(zhì)量以及加強(qiáng)企業(yè)管理、改善經(jīng)營管理等多方面的作用。稱重裝置的應(yīng)用已遍及到國民經(jīng)濟(jì)各領(lǐng)域,取得了顯著的經(jīng)濟(jì)效益。電子秤是稱重技術(shù)中的一種新型儀表,廣泛應(yīng)用于各種場合。電子秤與機(jī)械秤比較有體積小、重量輕、結(jié)構(gòu)簡單、價(jià)格低、實(shí)用價(jià)值強(qiáng)、維護(hù)方便等特點(diǎn),可在各種環(huán)境工作,重量信號(hào)可遠(yuǎn)傳,易于實(shí)現(xiàn)重量顯示數(shù)字化,易于與計(jì)算機(jī)聯(lián)網(wǎng),實(shí)現(xiàn)生產(chǎn)過程自動(dòng)化,提高勞動(dòng)生產(chǎn)率。
9、例如標(biāo)簽秤在超市中的應(yīng)用已經(jīng)是耳聞目睹的了。一張小小的標(biāo)簽包含著:品名、價(jià)格、重量等,一一列表在這小小的電子標(biāo)簽上。標(biāo)簽機(jī)的使用大大加快了銷售速度,也方便了顧客。頂尖條碼標(biāo)簽稱有著許多卓越的特點(diǎn),以太網(wǎng)功能使管理更加方便。因此,稱重技術(shù)的研究和衡器工業(yè)的發(fā)展各國都非常重視。50年代中期電子技術(shù)的滲入推動(dòng)了衡器制造業(yè)的發(fā)展。60年代初期出現(xiàn)機(jī)電結(jié)合式電子衡器以來,隨著時(shí)代科技的迅猛發(fā)展,微電子學(xué)和計(jì)算機(jī)等現(xiàn)代電子技術(shù)的成就給傳統(tǒng)的電子測量與儀器帶來了巨大的沖擊和革命性的影響。經(jīng)過40多年的不斷改進(jìn)與完善,衡器技術(shù)也在不斷進(jìn)步和提高。從世界水平看,衡器技術(shù)已經(jīng)經(jīng)歷了四個(gè)階段,從傳統(tǒng)的全部由機(jī)械元器
10、件組成的機(jī)械稱到用電子線路代替部分機(jī)械元器件的機(jī)電結(jié)合秤,再從集成電路式到目前的單片機(jī)系統(tǒng)設(shè)計(jì)的電子計(jì)價(jià)秤。我國電子衡器從最初的機(jī)電結(jié)合型發(fā)展到現(xiàn)在的全電子型和數(shù)字智能型?,F(xiàn)今電子衡器制造技術(shù)及應(yīng)用得到了新發(fā)展:電子稱重技術(shù)從靜態(tài)稱重向動(dòng)態(tài)稱重發(fā)展;計(jì)量方法從模擬測量向數(shù)字測量發(fā)展;測量特點(diǎn)從單參數(shù)測量向多參數(shù)測量發(fā)展。常規(guī)的測試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電子測量儀器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化,并相應(yīng)的出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動(dòng)化程度得以顯著提高。2 總體設(shè)計(jì)方案2.1設(shè)計(jì)任務(wù)設(shè)計(jì)要求掌握電子秤的基本原理;
11、掌握電子秤硬件電路的設(shè)計(jì);掌握電子秤軟件程序設(shè)計(jì),掌握仿真軟件的使用。1、利用單片機(jī)設(shè)計(jì)一款電子秤用以測量物體重量,能通過鍵盤設(shè)置單價(jià),顯示金額,重量、單價(jià)、金額及當(dāng)前時(shí)間都能在LCD液晶顯示器上顯示出來。2、要求設(shè)計(jì)出電氣原理圖;3、要求設(shè)計(jì)出程序流程圖;4、要求設(shè)計(jì)出程序。2.2設(shè)計(jì)方案在智能化電子測量的設(shè)計(jì)理念要求下,整個(gè)電子秤電路由單片機(jī)主控制電路、時(shí)鐘電路、液晶顯示電路、5*4鍵盤電路和壓力傳感電路個(gè)部分組成。如圖2.1所示。2.3工作原理 當(dāng)接通電源電子秤才是工作時(shí),電子秤進(jìn)入工作狀態(tài),液晶顯示單價(jià)、重量、金額、時(shí)間。首先可對(duì)單價(jià)進(jìn)行設(shè)置,然后在載物臺(tái)上放上要稱量的物品。此時(shí),在液
12、晶顯示屏上顯示出物品的單價(jià),重量,及自動(dòng)計(jì)算出金額。傳感器采用壓變變阻器,當(dāng)載物臺(tái)受壓力使彈簧發(fā)生形變,電阻器劃片也發(fā)生滑動(dòng),而產(chǎn)生不同的電流值。傳輸?shù)絾纹瑱C(jī)芯片ATMEGA16鍵盤電路液晶顯示壓力傳感器電源電路圖2.1 整體設(shè)計(jì)方框圖3 硬件電路的設(shè)計(jì) 綜合考慮本次設(shè)計(jì)要求、現(xiàn)有元器件資源、元器件價(jià)格和對(duì)元器件的熟悉掌握程度,數(shù)字電子秤采用ATMEGA16單片機(jī)作為微處理器,接口電路由時(shí)鐘芯片、液晶顯示顯示電路、5*4按鍵電路等來實(shí)現(xiàn)硬件電路的設(shè)計(jì)??刂破飨到y(tǒng)的硬件電路原理圖如圖3.1所示??刂破飨到y(tǒng)硬件電路的工作過程是:打開電源時(shí),MCU及各個(gè)部分電路開始工作,MCU調(diào)用內(nèi)部存儲(chǔ)數(shù)據(jù)對(duì)各部
13、分接口電路初始化。在對(duì)液晶顯示檢忙掃描,然后顯示相應(yīng)數(shù)據(jù)。同時(shí)掃描鍵盤,當(dāng)輸入數(shù)據(jù)時(shí)候,單片機(jī)對(duì)其進(jìn)行相應(yīng)處理。當(dāng)載物臺(tái)有物品放入時(shí),將采集的數(shù)據(jù)傳入單片機(jī)內(nèi)部的ADC進(jìn)行數(shù)模轉(zhuǎn)換,并處理數(shù)據(jù)。最后送到液晶顯示。圖3.1 數(shù)字電子秤硬件電路圖4 軟件設(shè)計(jì)本設(shè)計(jì)中的程序由主控制程序、液晶顯示驅(qū)動(dòng)程序、和5*4鍵盤程序組成。4.1主程序設(shè)計(jì) 整個(gè)設(shè)計(jì)中采用由下向上的設(shè)計(jì)思路。主程序中主要完成對(duì)液晶顯示、及鍵盤掃描程序的調(diào)用。在編寫程序的過程中,各變量統(tǒng)一采用全局變量方式命名,同時(shí)考慮到電子秤對(duì)精度的要求,本設(shè)計(jì)中的價(jià)格及總量相關(guān)的變量全部采用浮點(diǎn)數(shù)。主程序流程圖如圖4.1所示。開始初始化載物臺(tái)是否
14、有重物?鍵盤掃描結(jié)束YN圖4.1 主程序流程圖 4.2液晶顯示驅(qū)動(dòng)程序開始寫入控制字寫入初始行是否換行?全部數(shù)據(jù)已寫完?結(jié)束圖4.2液晶顯示驅(qū)動(dòng)程序流程圖 液晶能夠顯示比較復(fù)雜的漢字,首先必須對(duì)其寫入控制操作字,包括圖形的顯示方式,字體的模式。然后寫入初始行地址,指針自動(dòng)左移,直到寫完全部數(shù)據(jù)為止。 write_data(place&0xff); /寫入地址高位 write_data(place/256); /寫入地址低位 write_com(0x24); /地址設(shè)置 write_com(0xb0); /設(shè)置數(shù)據(jù)自動(dòng)寫 write_data(ASC_MSK(c1-0x20)*16+k)
15、; /*-例如:0的ASCII碼為0x30, 在ASC_MSK中的位置為0x10*16 -16字節(jié)字碼依次寫入LCD-*/ write_com(0xb2); /自動(dòng)復(fù)位 place=place+30; MCU通過拉低CS、拉高CLK來啟動(dòng)ADC0832進(jìn)行外部壓力傳感轉(zhuǎn)換后的電壓信號(hào)進(jìn)行采樣,每產(chǎn)生8個(gè)CLK脈沖,DATA獲得一位完整的8bit數(shù)據(jù),此時(shí)MCU發(fā)送中斷請(qǐng)求,拉高CS,拉低CLK,并將數(shù)據(jù)DAT返回。4.3 5*4鍵盤程序 本設(shè)計(jì)中采用了5*4矩陣式鍵盤,單片機(jī)定時(shí)進(jìn)行查詢。首先單片機(jī)發(fā)送行掃描代碼,然后進(jìn)行列掃描,當(dāng)發(fā)現(xiàn)某一列出現(xiàn)了低電平時(shí),即返回相應(yīng)的鍵盤值。若沒有發(fā)現(xiàn)則說明
16、當(dāng)前行沒有鍵按下,行掃描右移一位,繼續(xù)執(zhí)行列掃描。MCU根據(jù)相應(yīng)的鍵值,即可確定被按下的鍵。開始發(fā)送行掃描碼發(fā)送列掃描碼列掃描完畢?畢?行掃描完畢?返回鍵值結(jié)束右移一位右移一位圖4.4 5*4鍵盤程序5 系統(tǒng)仿真在protues的ISIS 7.4sp2軟件環(huán)境下畫出電路原理圖,接下來就是將設(shè)計(jì)的程序在ICCAVR開發(fā)集成環(huán)境上編譯成機(jī)器語言,進(jìn)入Protues的ISIS,雙擊AT89C51,在"Program File中"添加"main.hex"文件到ATNEGA16中,如圖5.1所示。圖5.1 數(shù)字電子秤仿真設(shè)置圖 該仿真驗(yàn)證的過程:首先按開始按,此時(shí)
17、電子秤進(jìn)入顯示界面。液晶上顯示"價(jià)格、重量、金額"。如圖5.2所示。圖5.2電子秤顯示界面圖 接下來調(diào)節(jié)壓力傳感模擬電路電壓,將電壓設(shè)為0表示此時(shí)載物臺(tái)上沒有物體。此時(shí)液晶顯示畫面為:單價(jià):0 重量:0 總價(jià):0”。如圖5.3所示。圖5.3電子秤模擬空載圖 最后,上調(diào)壓力傳感電壓表示已載有商品,在鍵盤上輸入單價(jià),再按確認(rèn),此時(shí)單片機(jī)自動(dòng)計(jì)算出物品的金額,并在液晶上顯示出金額。達(dá)到基本要求。如圖5.4所示。最大稱量重量29KG,如圖5.5所示。圖5.4電子秤模擬載物顯示仿真圖圖5.4電子秤模擬最大稱量范圍仿真圖6使用說明 在使用仿真的過程中,首先打開仿真電路圖,并加載好“HE
18、X”文件到單片機(jī)中。后將壓力傳感電壓調(diào)制0,點(diǎn)擊按鈕,開始仿真。0到9分別為數(shù)字0到9的輸入,10小數(shù)點(diǎn),11乘法,12除法,13加法,14減法,16去皮,17清零,18確定,19退格。輸入單價(jià)后按確定,電子秤將自動(dòng)顯示出金額。7 設(shè)計(jì)總結(jié)通過本次電子技能課程數(shù)字電子秤的設(shè)計(jì),讓我更加熟悉了單片機(jī)的整個(gè)設(shè)計(jì)流程。在設(shè)計(jì)過程中,我也意識(shí)到好的編程書寫習(xí)慣對(duì)軟件設(shè)計(jì)的重要性。剛剛開始由于自己變量大部分采用的是局部變量,導(dǎo)致程序仿真出錯(cuò),給自己的修改創(chuàng)造不小的麻煩。經(jīng)過一天的努力,統(tǒng)一采用全局變量終于實(shí)現(xiàn)最終的仿真結(jié)果和設(shè)計(jì)的全部任務(wù)和要求。當(dāng)然本數(shù)字電子秤還有很多可以改進(jìn)的地方,例如可以改進(jìn)按鍵功
19、能方便工作人員隨時(shí)對(duì)各數(shù)據(jù)進(jìn)行修改等等。由于設(shè)計(jì)時(shí)間有限,只能在以后的學(xué)習(xí)過程中做更進(jìn)一步的改進(jìn)。本次課程設(shè)計(jì)使我對(duì)單片機(jī)有了更深的認(rèn)識(shí),讓我們把理論與實(shí)際結(jié)合,為我們更好的學(xué)為所用打下了基礎(chǔ)。參考文獻(xiàn)1 于永.51單片機(jī)C語言常用模塊于綜合系統(tǒng)設(shè)計(jì)實(shí)例精講M.北京:電子工業(yè)出版社,2008:88-94.2 李朝青.單片機(jī)原理及接口技術(shù)(第三版)M.北京:北京航空航天大學(xué)出版社,2006.123 單片機(jī)課程設(shè)計(jì)指導(dǎo),中南大學(xué)出版社,張一斌等2009年9月4 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程,北京航空航天大學(xué)出版社,何立民等2004年7月程序: #include<iom16.h>#include
20、<stdlib.h>#define uchar unsigned char#define uint unsigned int#define PD0 0#define PD1 1#define PD2 2#define PB5 5#define PB6 6#define PB4 4#define PA7 7/*-宏定義-*/#define SET_BIT(x,y) (x|=(1<<y)#define CLR_BIT(x,y) (x&=(1<<y)#define GET_BIT(x,y) (x&(1<<y)/*-端口電平-*/#def
21、ine LCD_RS_1 SET_BIT(PORTD,PD0)#define LCD_RS_0 CLR_BIT(PORTD,PD0)#define LCD_RW_1 SET_BIT(PORTD,PD1)#define LCD_RW_0 CLR_BIT(PORTD,PD1)#define LCD_EN_1 SET_BIT(PORTD,PD2)#define LCD_EN_0 CLR_BIT(PORTD,PD2)#define LCD_CS1_1 SET_BIT(PORTB,PB5)#define LCD_CS1_0 CLR_BIT(PORTB,PB5)#define LCD_CS2_1 SET_
22、BIT(PORTB,PB6)#define LCD_CS2_0 CLR_BIT(PORTB,PB6)#define DataPort PORTC#define Busy 0x80/*-*/#define DS1302_RST_1 SET_BIT(PORTA,PA7)#define DS1302_RST_0 CLR_BIT(PORTA,PA7)#define DS1302_CLK_1 SET_BIT(PORTB,PB4)#define DS1302_CLK_0 CLR_BIT(PORTB,PB4)#define DS1302_DAT_1 SET_BIT(PORTB,PA7)#define DS1
23、302_DAT_0 CLR_BIT(PORTB,PA7)float p,t;float qu_pi,shenfa,jieguo;uchar hour,sec,min;_flash uchar act5=0xf0,0xe0,0xd0,0xb0,0x70;_flash uchar dan=0x00,0x10,0x00,0x10,0xF8,0x17,0x49,0x12,0x4A,0x12,0x4C,0x12,0x48,0x12,0xF8,0xFF,0x48,0x12,0x4C,0x12,0x4A,0x12,0x49,0x12,0xFC,0x13,0x08,0x18,0x00,0x10,0x00,0x
24、00;_flash uchar jia=0x80,0x00,0x40,0x00,0x20,0x00,0xF8,0xFF,0x87,0x00,0x40,0x80,0x20,0x40,0x90,0x3F,0x08,0x00,0x07,0x00,0x08,0x00,0x90,0xFF,0x20,0x00,0xC0,0x00,0x40,0x00,0x00,0x00;_flash uchar yuan=0x20,0x80,0x20,0x80,0x22,0x40,0x22,0x20,0x22,0x18,0xE2,0x07,0x22,0x00,0x22,0x00,0x22,0x00,0xE2,0x3F,0x
25、22,0x40,0x23,0x40,0x22,0x40,0x30,0x40,0x20,0x70,0x00,0x00;_flash uchar jin=0x80,0x00,0x80,0x40,0x40,0x40,0x20,0x4A,0x50,0x52,0x48,0x62,0x44,0x42,0xC3,0x7F,0x44,0x42,0x68,0x62,0x50,0x52,0x20,0x4A,0x40,0x60,0xC0,0x40,0x40,0x00,0x00,0x00;_flash uchar e=0x10,0x10,0x8C,0x08,0x44,0xFC,0xB5,0x4A,0x26,0x49,
26、0xA4,0x4A,0x74,0x7C,0x0C,0x08,0x02,0x80,0xF2,0x4F,0x1A,0x20,0xD6,0x1F,0x12,0x20,0xFB,0x4F,0x12,0xC0,0x00,0x00;_flash uchar zhong=0x08,0x40,0x08,0x40,0x0A,0x48,0xEA,0x4B,0xAA,0x4A,0xAA,0x4A,0xAA,0x4A,0xFE,0x7F,0xAA,0x4A,0xAA,0x4A,0xA9,0x4A,0xF9,0x4B,0x29,0x48,0x0C,0x60,0x08,0x40,0x00,0x00;_flash ucha
27、r liang=0x20,0x00,0x20,0x80,0x20,0x80,0xBE,0xAF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xAF,0x22,0x80,0x30,0x80,0x20,0x00,0x00,0x00;_flash uchar chu_shi_hua32=0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,0x0F,0x0C,0xE8,0x03,0x08,
28、0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29,0x14,
29、0x19,0xFF,0x17,0x14,0x21,0x14,0x21,0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F,0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x08,0x00,0xE4,0xFF,0x13,0x00,0x26,0x00,0x8A,0x3F,0xA3,
30、0x24,0xAA,0x24,0xA4,0x24,0xA3,0x3F,0x26,0x40,0x2A,0x80,0xF2,0x7F,0x23,0x00,0x02,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x22,0x7F,0x11,0xC9,0x09,0x49,0x87,0x49,0x41,0x49,0x21,0x49,0x19,0x49,0x07,0x49,0x41,0x7F,0x81,0x00,0x41,0x80,0x3F,0x00,0x01,0x00,0x00,0x00,0x00,0xF8,0x07,0x48,0x02,0x48,0x02,0x48,
31、0x02,0x48,0x02,0xFF,0x3F,0x48,0x42,0x48,0x42,0x48,0x42,0x48,0x42,0xFC,0x47,0x08,0x40,0x00,0x70,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x82,0x00,0x82,0x00,0x82,0x00,0x82,0x40,0x82,0x80,0xE2,0x7F,0xA2,0x00,0x92,0x00,0x8A,0x00,0x86,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,0x20,0x10,0x24,0x08,0x24,
32、0x06,0xA4,0x01,0xFE,0xFF,0xA3,0x00,0x22,0x11,0x10,0x0C,0x1C,0x43,0x13,0x80,0xD0,0x7F,0x10,0x00,0x50,0x01,0x30,0x06,0x10,0x0C,0x00,0x00;_flash uchar shi=0x00,0x00,0xFC,0x3F,0x84,0x10,0x84,0x10,0x84,0x10,0xFE,0x3F,0x14,0x00,0x10,0x00,0x90,0x00,0x10,0x23,0x10,0x40,0x10,0x80,0xFF,0x7F,0x10,0x00,0x10,0x0
33、0,0x00,0x00;_flash uchar fen=0x00,0x01,0x80,0x00,0x40,0x80,0x20,0x40,0x98,0x20,0x86,0x1F,0x80,0x00,0x80,0x40,0x83,0x80,0x8C,0x40,0x90,0x3F,0x20,0x00,0xC0,0x00,0x80,0x01,0x80,0x00,0x00,0x00;_flash uchar miao=0x20,0x10,0x24,0x08,0x24,0x06,0xA4,0x01,0xFE,0xFF,0xA3,0x00,0x22,0x81,0x80,0x80,0x70,0x40,0x0
34、0,0x20,0xFF,0x17,0x00,0x08,0x10,0x04,0x20,0x03,0x60,0x00,0x00,0x00;void LcdJianMang();/檢測忙函數(shù)_flash uchar shizijian16=0x00,0x00,0xE0,0x0F,0xF0,0x1F,0x08,0x20,0x08,0x20,0x18,0x30,0xF0,0x1F,0xC0,0x07,/ 0 0x00,0x00,0x00,0x00,0x10,0x20,0xF0,0x3F,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00, / 1 0x00,0x00,0x70
35、,0x30,0x78,0x38,0x08,0x34,0x08,0x32,0xD8,0x31,0xF0,0x38,0x20,0x08, / 20x00,0x00,0x30,0x18,0x38,0x38,0x88,0x21,0x88,0x21,0xF8,0x33,0x70,0x1E,0x00,0x0C, / 30x00,0x00,0x00,0x06,0x80,0x05,0x60,0x24,0x30,0x24,0xF8,0x3F,0xF8,0x3F,0x00,0x24, / 40x00,0x00,0xF0,0x19,0xF8,0x39,0x88,0x20,0xC8,0x20,0x88,0x31,0x
36、88,0x1F,0x00,0x06, / 50x00,0x00,0xE0,0x0F,0xF0,0x3F,0x88,0x20,0x88,0x20,0x98,0x20,0x98,0x1F,0x00,0x0E, / 60x00,0x00,0x38,0x00,0x18,0x00,0x08,0x3E,0x88,0x3F,0xE8,0x00,0x38,0x00,0x08,0x00, / 70x00,0x00,0x70,0x1E,0xF8,0x37,0x88,0x21,0x88,0x21,0x88,0x23,0xF8,0x1E,0x20,0x0C, / 80x00,0x00,0xF0,0x11,0xF8,0
37、x3B,0x08,0x22,0x08,0x22,0x18,0x3B,0xF0,0x1F,0xE0,0x07, / 90x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, / '.' 100x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, / ' ' 110x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x3
38、1,0xC0,0x7B,0xC0,0x7B,0x80,0x31 / ':' 12;/*-*/void delay_1ms(void) uint i; for(i=1;i<20;i+) ;/*-*/void delay(uint x) uint i,j; for(j=0;j<x;j+) for(i=0;i<10000;i+);/*-*/void DS1302_Set_Byt(uchar x) uchar i; for(i=8;i>0;i-) if(x&0x01) DS1302_DAT_1; else DS1302_DAT_0; DS1302_CLK
39、_0; DS1302_CLK_1; DS1302_CLK_0; x=x>>1; /*-*/uchar DS1302_Get_Byt() uchar i,x; x=0; CLR_BIT(DDRB,7); SET_BIT(PORTB,7); for(i=8;i>0;i-) x=x>>1; if(GET_BIT(PINB,7) x=x|0x80; DS1302_CLK_1; DS1302_CLK_0; SET_BIT(DDRB,7); CLR_BIT(PORTB,7); return x; /*-*/void DS1302_Set_Shu_Ju(uchar x,ucha
40、r y) DS1302_RST_0; DS1302_CLK_0; DS1302_RST_1; DS1302_Set_Byt(x); DS1302_Set_Byt(y); DS1302_RST_0; DS1302_CLK_0;/*-*/uchar DS1302_Get_Shu_Ju(uchar x) uchar y; DS1302_RST_0; DS1302_CLK_0; DS1302_RST_1; DS1302_Set_Byt(x); y=DS1302_Get_Byt(); DS1302_RST_0; DS1302_CLK_0; return y;/*-*/void LcdWriteData(
41、uchar dataw)/寫數(shù)據(jù) LcdJianMang();/判忙 LCD_RW_0;/寫 LCD_RS_1;/數(shù)據(jù) DataPort=dataw; delay_1ms(); LCD_EN_1; delay_1ms(); LCD_EN_0; /*-*/void LcdWritCommand(uchar dataw)/寫指令 LcdJianMang();/判忙 LCD_RW_0;LCD_RW_0;/ LCD_RS_0;LCD_RS_0;/指令 DataPort=dataw; delay_1ms(); LCD_EN_1; delay_1ms(); LCD_EN_0; /*-*/void LcdJ
42、ianMang()/檢測忙函數(shù) LCD_EN_0; LCD_RW_1; LCD_RS_0; LCD_EN_1; DDRC=0x00; if(PINB&0x80) LCD_EN_0; DDRC=0xff; /*-*/void xie_yi_ge_han_zi(uchar x,uchar y,uchar z,uchar _flash *p) uchar i,y1; for(i=0;i<z;i+) if(y>63) LCD_CS1_1; LCD_CS2_0; y1=y-64; else LCD_CS1_0; LCD_CS2_1; y1=y; LcdWritCommand(x+0x
43、b8); LcdWritCommand(0x40+y1); LcdWriteData(pi*2); LcdWritCommand(x+0xb9); LcdWritCommand(0x40+y1); LcdWriteData(pi*2+1); y+; /*-*/void xie_duo_ge_shu_ju(uchar x1,uchar x2,uchar x3,uchar x4,uchar _flash *k) uchar i; for(i=0;i<x1;i+) xie_yi_ge_han_zi(x2,x3+(i*x4),x4,k+i*32);/*-*/void chushihua() uc
44、har i,j; LcdWritCommand(0x3f); LcdWritCommand(0xc0); for(i=0;i<8;i+) LCD_CS1_0; LCD_CS2_0; LcdWritCommand(i+0xb8); LcdWritCommand(0x40); for(j=0;j<64;j+) LcdWriteData(0x00); /*-*/uchar scan_key(void) uchar i,x,y; y=0;x=0; DDRD=DDRD|0xf8; PORTD=PORTD&0x07; DDRB=DDRB&0xf0; PORTB=PORTB|0x
45、0f; if(PINB&0x0f)!=0x0f) for(i=0;i<5;i+) PORTD=PORTD&0x07; PORTD=acti|PORTD; if(!GET_BIT(PINB,0) x=0;break; if(!GET_BIT(PINB,1) x=1;break; if(!GET_BIT(PINB,2) x=2;break; if(!GET_BIT(PINB,3) x=3;break; y=y+4; while(PINB&0x0f)!=0x0f); return (y+x); return (20);/*-*/void xianshi130(uchar x1,uchar j,char *a2) uchar s; s=0; for(s=0;s<=j;s+) if(a2s='.') xie_yi_ge_han_zi(x1,119-(j-s)*8,8,shizijian10); else
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年紅磷阻燃母粒項(xiàng)目可行性研究報(bào)告
- 2025年電動(dòng)車減震項(xiàng)目可行性研究報(bào)告
- 2025年泡泡紗布項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國柜臺(tái)鏡行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年懸壁梁式傳感器項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國可調(diào)腹肌訓(xùn)練器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年三乙二醇雙異辛酸酯項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國雪松苗木數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國銅沖片接觸腳數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年紅外線自動(dòng)門項(xiàng)目投資價(jià)值分析報(bào)告
- (更新版)HCIA安全H12-711筆試考試題庫導(dǎo)出版-下(判斷、填空、簡答題)
- 糖尿病運(yùn)動(dòng)指導(dǎo)課件
- 蛋白表達(dá)及純化課件
- 完整版金屬學(xué)與熱處理課件
- T∕CSTM 00640-2022 烤爐用耐高溫粉末涂料
- 304不銹鋼管材質(zhì)證明書
- 民用機(jī)場不停航施工安全管理措施
- 港口集裝箱物流系統(tǒng)建模與仿真技術(shù)研究-教學(xué)平臺(tái)課件
- 新教科版2022年五年級(jí)科學(xué)下冊(cè)第2單元《船的研究》全部PPT課件(共7節(jié))
- QTD01鋼質(zhì)焊接氣瓶檢驗(yàn)工藝指導(dǎo)書
- 人教版七年級(jí)英語下冊(cè)全冊(cè)英語單詞默寫直接打印
評(píng)論
0/150
提交評(píng)論