本次設(shè)計(jì)是基子AT89C51單片機(jī)為核心的數(shù)字電子秤, 它的硬件電路還包招稱重傳感器、 ADC0832的A/D轉(zhuǎn)換電路、報(bào)警電路、 LM016L液晶顯示、電源電路。 該設(shè)計(jì)的的軟件程序包括主控程序、 LM016L、顯示驅(qū)動(dòng)程序、 ADC0832采樣程序和4·4鍵盤程序。 打開(kāi)電源時(shí)單片各部分接口電路初始化, 20Om,后ADC0832對(duì)外部數(shù)據(jù)進(jìn)行采樣, 一旦有物品放入載物合, ADC0832立即發(fā)送中斷請(qǐng)求,并將本次采集數(shù)據(jù)交給單片機(jī)處理. 顯示相應(yīng)數(shù)據(jù)量 。
一、總體設(shè)計(jì)方案
基于單片機(jī)開(kāi)發(fā)的數(shù)字電子秤, 其.硬件電路包指單片機(jī)、稱重傳感器、 A/D轉(zhuǎn)換芯片、報(bào)警電路. La)顯示電路、電源電路等幾部分設(shè)計(jì)內(nèi)容. 其單片機(jī)采用Atmel公司生產(chǎn)的51系列AT89C51 , 稱重傳感器可采用電析電路, 在仿真實(shí)現(xiàn)中本文采用可調(diào)電阻做普代. A/I購(gòu)換器采用ADC08a2。數(shù)字電子111平最終要滿足以下功能· 自動(dòng)計(jì)算價(jià)格; 儲(chǔ)存常用物品價(jià)格;超重提醒,一旦童量超出了自身重量的孤f量的范圍, 發(fā)出警報(bào): 電子秤的測(cè)量范圍在o-5KG, ,則量精度要求0. 001KG。
整個(gè)數(shù)字電子秤電路構(gòu)成如圖1所示 。
二、硬件電路的設(shè)計(jì)
數(shù)字電子秤以AT89C51單片機(jī)作為 核心,完成ADC0832轉(zhuǎn)換電路、 LM01l1lL顯示電路、鍵盤電路、報(bào)警電路等功能。
1.A/D轉(zhuǎn)換電路
采用ADC0332芯片,通過(guò)采樣、保持、量化和全編碼等過(guò)程將稱重傳感器所采集的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)供單片機(jī)讀取 。
2.顯示電路
采用LM016L液晶顯示器,通過(guò)HD44780 控制器,具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng). 閃爍、等功能
3.鍵盤電路
采用4*4矩陣接鍵,完成外部數(shù)據(jù)的輸入。
4.報(bào)警電路
采用蜂鳴器報(bào)警器, 一旦物體自身的重量超出電子秤的稱量范圍. 峰鳴器立即會(huì)發(fā)出書報(bào)聲,提醒所稱量物品超重。原理圖如圖2所示。
三、軟件性計(jì)
控制器系統(tǒng)軟件的工作過(guò)程如下: 打開(kāi)電,源 時(shí), 單片機(jī)及各個(gè)部分電路開(kāi)始工作, 單片機(jī)調(diào)用內(nèi)部存儲(chǔ)數(shù)據(jù)對(duì)各部分接口電路初始化. 200ms后LM016L進(jìn)入主界面,LC1)上顯示“we,ght· Ptice; ·'。 A111008311l 不斷對(duì)外部數(shù)據(jù)進(jìn)行采樣交給單片機(jī)進(jìn)行處理, 一旦有物品成入載物臺(tái), ADC0832立即發(fā)速中斷情求, 井將本次采集數(shù)據(jù)交給單片機(jī)處理,之后LM016L顯示相應(yīng)數(shù)據(jù)量。在此過(guò)程中,鍵盤也在不斷進(jìn)行掃描, 一旦有鍵按下, 單片機(jī)也會(huì)對(duì)其數(shù)據(jù)進(jìn)行相應(yīng),處理, 然后將對(duì)LMo16L進(jìn)行寫操作。在稱量的過(guò)程中, 一旦物體自身的重量超出電子秤的稱量植圍,蜂鳴器立即會(huì)發(fā)出警報(bào)聲,提醒所稱量物晶超重 。
本系統(tǒng)設(shè)計(jì)包括主控程序、 LM01l1lL顯示驅(qū)動(dòng)程序. AOC0832采樣相序和4*·'l鍵盤程序組成。主控程序中主要完成対LMC116L、A[1C083a. 及鍵盤掃描程序的調(diào)用。子程序由LM016L顯示驅(qū)動(dòng)程序、 A院0832來(lái)樣程序和4來(lái)4鍵盤程序組成 。
1主程序流程(如圖4所示)
2.子程序一LM016L顯示驅(qū)動(dòng)程序(如圖5所示)
3.子程 序 ADC0832米樣程序(如圖6所不)
單片機(jī)通過(guò)拉低CS、拉高CLK來(lái)啟動(dòng)ADC0832進(jìn)行外部壓力傳感 轉(zhuǎn)換后的電壓信號(hào)進(jìn)行采樣,每產(chǎn)生8個(gè)CLK脈沖,DATA獲得一位完 整的8bit數(shù)據(jù),此時(shí)單片機(jī)發(fā)送中斷請(qǐng)求,拉高CS,拉低CLK,并 將數(shù)據(jù)DAT返回。
4.子程序?4*4鍵盤程序(如圖7所示)
單片機(jī)定時(shí)進(jìn)行查詢。首先單片機(jī)發(fā)送行掃描代碼,然后進(jìn)行 列掃描,當(dāng)發(fā)現(xiàn)某一列出現(xiàn)了低電平時(shí),即返回相應(yīng)的鍵盤值。若 沒(méi)有發(fā)現(xiàn)則說(shuō)明當(dāng)前行沒(méi)有鍵按下,行掃描右移一位,繼續(xù)執(zhí)行列 掃描。單片機(jī)根據(jù)相應(yīng)的鍵值,即可確定被按下的鍵。
四、結(jié)束語(yǔ)
本文通過(guò)AT89C51單片機(jī)外圍電路和編程語(yǔ)言實(shí)現(xiàn)數(shù)字電子秤 的設(shè)計(jì)與仿真,并且針對(duì)實(shí)際電路進(jìn)行硬件與軟件的調(diào)試,較好的 實(shí)現(xiàn)了本次設(shè)計(jì)的功能。