freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于stc89c52單片機(jī)的電子秤功能仿真設(shè)計-閱讀頁

2025-01-31 21:34本頁面
  

【正文】 液晶顯示器是一種極低功耗顯示器,從電子表到計算器,從袖珍儀表到便攜式 微型計算機(jī)以及一些文字處理機(jī)都用到了液晶顯示器。因此,本次設(shè)計選擇了 LCD 液晶顯示器。 10 超量程報警部分的選擇 智能儀器一般都具有報警和通訊功能,報警主要用于系統(tǒng)運(yùn)行出錯、當(dāng)測量的數(shù)據(jù)超過儀表量程或者是超過用戶設(shè)置的上下限時為提醒用戶而設(shè)置。 超限報警電路是由單片機(jī) 的 I/O 口來控制的,當(dāng)稱重物體重量超過系統(tǒng)設(shè)計所允許的重量時,通過程序使單片機(jī)的 I/O 值為高電平,報警燈 D2 發(fā)光。通用計算機(jī)系統(tǒng)主要用于海量高速數(shù)值運(yùn)算,不必兼顧控制功能,其數(shù)據(jù)總線的寬度不斷更新,而且不斷提高運(yùn)算速度和完善通用操作系統(tǒng)。因此,單片機(jī)的出現(xiàn)大大促進(jìn)了現(xiàn)代計算機(jī)技術(shù)的飛速發(fā)展,成為近代計算機(jī)技術(shù)發(fā)展史上一個重要里程碑。后來 Intel 公司把 MCS51 的核心技術(shù)授權(quán)給了很多其它的公司,所以有很多公司在做以 8051 為核心的單片機(jī),當(dāng)然,功能或多或少有些改變以滿足不同 的需求,其中的 89C52 就是這幾年在我國非常流行的單片機(jī),這是由美國 ATMEL 公司開發(fā)生產(chǎn)的。使用 Atmel 公司高密度 非 易失性存儲器 技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的 8 位CPU 和在系統(tǒng)可編程 Flash,使得 STC89C52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。另外, STC89C52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種 軟件 可選擇節(jié)電模式。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。由于稱重傳感器一般的輸出范圍 為 0~ 20mV,對 A/D 轉(zhuǎn)換或單片機(jī)的工作參數(shù)來說不能使 A/D 轉(zhuǎn)換和單片 11 機(jī)正常工作,所以需要對輸出的信號進(jìn)行放大。單片機(jī)根據(jù)稱重傳感器輸出的電信號和速度傳感器輸出的速度信號計算出物體的重量。 STC89C52 的最小系統(tǒng)電路構(gòu)成 STC89C52 單片機(jī)的最小系統(tǒng)由時鐘電路、復(fù)位電路、電源電路及單片機(jī)構(gòu)成 。最小系統(tǒng)圖如下 32 所示。在引腳 XTAL1和 XTAL2 外接晶體振蕩器 (簡稱晶振 )或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。 當(dāng)單片機(jī)的復(fù)位引腳 RST 出現(xiàn) 2 個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。 上電或開關(guān)復(fù)位要求電源接通后,單片機(jī)自動復(fù)位,并且在單片機(jī)運(yùn)行期間,用開關(guān)操作也能使單片機(jī)復(fù)位。 系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個控制芯片回到默認(rèn)的硬件狀態(tài)下。 A/D 轉(zhuǎn)換器與 STC89C52 單片機(jī)接口電路 HX711 是 24 位單片 A/D 轉(zhuǎn)換器。芯片內(nèi)部包含微處理器借口邏輯(有三態(tài)輸出緩沖器),故可直接與各種類型的 8 位或者 16 位的微處理器連接,而無需附加邏輯接 口電路,且能與 CMOS 及 TTL 電路兼容。 12 圖 32 STC89C52 最小系統(tǒng)電路 HX711 有 5 根控制線,邏輯控制輸入信號有: VBG:字節(jié)選擇控制信號。 VFB:片選信號。 INNA:讀數(shù)據(jù) /轉(zhuǎn)換控制信號。當(dāng)其為高電平時,對應(yīng) 12 位并行輸出;為低電平時,對應(yīng)8 位輸出。 當(dāng) R/C=1,數(shù)據(jù)輸出, A0=0 時,高 8 位數(shù)據(jù)有效; A0=1 時,低 4 位數(shù)據(jù)有效,中間 4 位 為 0,高4 位為三態(tài)。當(dāng)啟動 A/D 進(jìn)行轉(zhuǎn)換時, HX711 為高電平;當(dāng) A/D 轉(zhuǎn)換結(jié)束時為低電平。 由于對 HX711 的 12 引腳的外接電路有不同連接方式,所以 HX711 與單片機(jī)的接口方案有兩種,一種是單極性接法,可實現(xiàn)輸入信號 0~ 10V 或者 0~ 20V 的轉(zhuǎn)換;另一種為雙極性接法,可實現(xiàn)輸入信號 5~ +5V 或者 10~ +10V 之間轉(zhuǎn)換。 根據(jù)芯片管腳的原理,無論啟動、轉(zhuǎn)換還是結(jié)果輸出,都要保證 CE 端為高電平,所以可以將 13 單片機(jī)的 /RD 引腳和 /WR 端通過與非門與 HX711 的 INPA 端連接起來。同時,為了使 CS、 A0、 R/C 在讀取轉(zhuǎn)換結(jié)果時保持相應(yīng)的電平,可以將來自單片機(jī)的控制信號經(jīng) 74LS373 鎖存后再接入。 圖 33 HX711 芯片引腳圖 圖 34 HX711 與 STC89C52 的接線圖 顯示電路與 STC89C52 單片機(jī)的接口電路 14 圖 35 單片機(jī)與 LCD 接線圖 1602 點(diǎn)陣型 LCD 簡介 1602 是一種圖形點(diǎn)陣液晶顯示器 ,它主要由行驅(qū)動器 /列驅(qū)動器及 12864 全點(diǎn)陣液晶顯示器組成。 主要技術(shù)參數(shù)與顯示特性: 電源: VDD ~ +5V(內(nèi)置升壓電路,無需負(fù)壓); 顯示內(nèi)容: 128 列 64 行; LCD 類型 : STN; 多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等。對于顯示英文操作,由于英文字母種類很少,只需要 8 位(一字節(jié))即可。而剩下的低 128 位則留給英文字符使用,即英文的內(nèi)碼。A39。 (2)顯示起始行( ROW)設(shè)置指令 R/WRS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 11 顯示起始行( 063) 該指令設(shè)置了對應(yīng)液晶屏最上一行的顯示 RAM 的行號,有規(guī)律地改變顯示起始行,可以使 LCD實現(xiàn)顯示滾屏的效果。 (4)列地址( Y/Address)設(shè)置指令 R/WRS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 01 顯示列地址( 063) 設(shè)置了頁地址和列地址,就唯一確定了顯示 RAM 中的一個單元,這樣 MPU 就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進(jìn)一個字節(jié)數(shù)據(jù)。在對液晶顯示模塊操作之前要查詢 BUSY 狀態(tài),以確定是否可以對液晶顯示模塊進(jìn)行操作。必須注意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的數(shù)據(jù) [13]。如果是機(jī)電一體化的設(shè)計人員,往往需要同時考慮單片機(jī)的軟硬件資源分配。 程序設(shè)計是一件復(fù)雜的工作,為了把復(fù)雜的工作條理化,就要有相應(yīng)的步驟和方法。這是能否編制出高質(zhì)量程序的關(guān)鍵。 (3)編寫程序:根據(jù)程序框圖所表示的算法和步驟,選用適當(dāng)?shù)闹噶钆帕衅饋?,?gòu)成一個有機(jī)的整體 ,即程序。結(jié)構(gòu)化程序設(shè)計是對利用到的控制結(jié)構(gòu)類程序做適當(dāng)?shù)南拗?,特別是限制轉(zhuǎn)向語句 (或指令 )的使用,從而控制了程序的復(fù)雜性,力求程序的上、下文順序與執(zhí)行流程保持一致性,使程序易讀易理解,減少邏輯錯誤和易于修改、調(diào)試。 C 語言在單片機(jī)中的應(yīng)用 C 語言是一種通用的計算機(jī)程序設(shè)計語言,在國際上非常流行。以前計算機(jī)的系統(tǒng)軟件主要用匯編語言編寫,單片機(jī)應(yīng)用系統(tǒng)更是如此。如進(jìn)行端口 0, 1 操作、位操作、地址操作,并可內(nèi)嵌匯編指令,將匯編指令當(dāng)作它的語句一樣。正是因為 C語言具有這樣的特性,所以很適合編寫要對硬件進(jìn)行操作的軟件程序 [14]。 電子稱的軟件設(shè)計與實現(xiàn) 18 電子稱軟件設(shè)計均采用模塊化設(shè)計,整個程序包括主程序、 A/D 轉(zhuǎn)換模塊程序、鍵盤掃描程序、液晶顯示子程序等模塊。 系統(tǒng)主程序流程圖 主程序流程圖 41 給出了系統(tǒng)工作的基本過程,描述了信號的基本流向,起到一個向?qū)У淖饔谩? A/D 轉(zhuǎn)換啟動及數(shù)據(jù)讀取程序設(shè)計 A/D 轉(zhuǎn)換子程序主要是指在系統(tǒng)開始運(yùn)行時,把稱重傳感器傳遞過來的模擬信號轉(zhuǎn)換成數(shù)字信號并傳遞到單片機(jī)所涉及到的程序設(shè)計,如圖 42 所示。通常的掃描方式有掃描法和反轉(zhuǎn)法。如下圖 43 19 所示。軟件程序的調(diào)試,我們主要結(jié)合硬件仿真圖來進(jìn)行。 (2) 顯示程序的調(diào)試,基于 1602 液晶的顯示程序是軟件程序的另一個大模塊, 128*64 的液晶模塊能夠支持 4*8 的漢字顯示,能夠十分方便的顯示電子稱的輸入輸出參數(shù) ,但 1602 仿真模塊并沒有相應(yīng)的漢字庫和字符庫,因此在編程時不得不自己編寫字庫,然后進(jìn)行調(diào)用,這一塊是比較難的,本文在調(diào)試時,完成的思路也是從小到大,先實現(xiàn)液晶的初步顯示,然后結(jié)合采集程序,逐步加入顯示的漢字和字符,最終完成設(shè)計功能。 解決方案 上述三個問題是整個系統(tǒng)方案設(shè)計過程中比較難解決的問題,針對上述故障 我們通過耐心調(diào)試,一一對應(yīng)的完成了解決方案。硬件電路的沖突來源于讀取 12位的參數(shù)時引腳的分配,所以本文首先對電路圖進(jìn)行了修改,在啟動轉(zhuǎn)換硬件部分做了更周密的分析和設(shè)計,其次對于程序的嵌套和調(diào)用也進(jìn)行了更為詳細(xì)的梳理,不會出現(xiàn)兩個 A/D同時工作的沖突。開始時對字庫不熟悉,誤認(rèn)為液晶帶有 字庫,導(dǎo)致液晶只能亮不能工作,進(jìn)一步熟悉了液晶模塊后,再結(jié)合采集程序顯示時,出現(xiàn)了一直跳變,顯示不穩(wěn)定,這種情況應(yīng)該是不合理的,硬件電路沒有問題的前提下,還是軟件程序嵌套調(diào)用不合理,通過重新對軟件模塊梳理,發(fā)現(xiàn)其中的 IF 嵌套有不合理的地方,多了很多不合理的延時程序,還有就是主程序結(jié)構(gòu)有點(diǎn)復(fù)雜,針對這些情況一一進(jìn)行了改進(jìn),使程序能夠逐步穩(wěn)定運(yùn)行 [15]。若按下“清除”按鍵,則清除 LCD 液晶上的測量值。 精度測量 電子秤在正常工作的情況下進(jìn)行精度測量調(diào)試,測量結(jié)果如下表 54 所示。可以通過軟件方式消除誤差。 6 結(jié)論 隨著全球數(shù)字化技術(shù)的不斷發(fā)展,電子衡器已經(jīng)在我們的生活各個領(lǐng)域得到了廣泛的應(yīng)用,從工業(yè)貿(mào)易到能源交通都能看到電子衡器的技術(shù)應(yīng)用。 電子稱是針對目前中小型市場上現(xiàn)有的衡器無法同時運(yùn)用于稱量微重物理和較重物體而研發(fā)的產(chǎn)品。啟動工作后,單片機(jī)可根據(jù) A/D 采集的重量參數(shù)能夠自動選擇轉(zhuǎn)換精度值,完成相應(yīng)的數(shù)據(jù)處理,同時在 128*64 的液晶屏上進(jìn)行直觀的顯示重量、4*4 鍵盤控制系統(tǒng)能夠?qū)崟r進(jìn)行單價調(diào)整,操作簡單方便,不僅能夠測量微重物理,而且能夠測量較重 物體,完全達(dá)到了商品的自動化、數(shù)字化和智能化,具有很好的應(yīng)用價值和意義。雖然沒有做出實物,但基于 51 單片機(jī)雙精度電子稱依然是一個具有前景的電子衡器產(chǎn)品,非常適合于中小型市場的物體稱重,如果電子稱進(jìn)一步發(fā)展,與虛擬串口技術(shù)融合,將會實現(xiàn)與上位機(jī)的無線通訊,實現(xiàn)遠(yuǎn)程監(jiān)測,將更有價值。 在這里要感謝我的指導(dǎo)老師薛彪老師。我的設(shè)計較為復(fù)雜煩瑣,但是老師仍然細(xì)心地糾正設(shè)計中的錯誤。 最后還要感謝大學(xué)四年來所有的老師,為我們打下專業(yè)知識的基礎(chǔ);同時還要感謝所有的同學(xué)們,正是因為有了你們的支持和鼓勵。 之前是我想得太簡單了,想著用精度高的傳感器,高精度的 A/D 轉(zhuǎn)換器,可是貪圖的再多,很多東西都到不了極致,不知道自己到底在追求什么,性價比什么反而因為精度提高反而發(fā)揮不到極致,相當(dāng)于浪費(fèi)資源,所以,決定改版用最簡單且便宜的器件,完成最初的設(shè)計,達(dá)到性價比最高。 //ADC0832 chip seclect sbit ADDI =P3^5。 //ADC0832 k out sbit ADCLK =P3^1。 //超過壓力表量程最大值紅色 led 報警定義 sbit RS=P1^5。 //RW 為 1寫; 0讀 sbit EN=P3^2。 //片選 1 低電平有效,控制左半 屏 sbit CS2=P3^4。 //AD 轉(zhuǎn)換完成標(biāo)志 uchar ad_alarm,ad_data,press_bai,press_shi,press_ge,press_dot,press_dot1,press_dot2。 uchar hByte。 char data disbuf1[5]={0}。 char data disbuf3[6]={0}。 uchar xdata duan _at_ 0xBfff。 //1001 1111 1111 1111 unsigned char xdata ADSEL _at_ 0x7FFE。 /*********延時 K*1ms,**********/ void delay(uint k) { uint i,j。ik。j60。} } } void Read_busy() { P0=0x00。 RW=1。 while(P0amp。 EN=0。 //對 LCD 的每次讀寫都要讀忙 RS=0。 //讀操作 LCD_databus=value。 //EN 由 10 鎖存有效數(shù)據(jù) _nop_()。 EN=0。 RS=1。 LCD_databus=value。 //EN 由 10 鎖存有效數(shù)據(jù) _nop_()。 EN=0。 Read_busy()。 //先進(jìn)行一次空讀操作 RS=1。 EN=1。 _nop_()。 LCD_databus=0xFF。 30 RW=1。 value=LCD_dat
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1