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

正文內(nèi)容

基于單片機的簡易電子稱畢業(yè)論文-閱讀頁

2024-07-29 16:54本頁面
  

【正文】 口利用率,軟件編程較復(fù)雜 。 單片機對鍵盤的掃描 在單片機的運行過程中,何時進行鍵盤掃描和處理,可有下列三種情況: :單片機通過調(diào)用鍵盤掃描子程序,查詢有無鍵按下。 :每當(dāng)有鍵閉合時才向 CPU 發(fā)出中斷請求,中斷服務(wù)時進行鍵盤掃描和處理 。獨立式鍵盤掃描只需讀取 IO 口狀態(tài) ,而矩陣式鍵第 3 章 系統(tǒng)硬件電路設(shè)計 21 盤描通常有兩種實現(xiàn)方法:逐行掃描法和線反轉(zhuǎn) 法。 依次從第一至最末行線上發(fā)出低電平信號 , 如果該行線所連接的鍵沒有按下的話 , 則列線所接的端口得到的是全 “1” 信號 , 如果有鍵按下的話 , 則得到非全 “1” 信號。 線反轉(zhuǎn)法也是識別閉合鍵的一種常用方法 , 該法比行掃描速度快 , 但在硬件上要求行線與列線外接上拉電阻。這樣 ,當(dāng)一個鍵被按 下時 , 必定可讀到一對唯一的行列值。 鍵盤接口和鍵輸入軟件中應(yīng)解決的一個問題 鍵盤接口和鍵輸入軟件中應(yīng) 注意 消抖。 鍵穩(wěn)定 鍵按下 后 沿抖動 前沿抖動 圖 11 鍵合斷時的電壓抖動 第 3 章 系統(tǒng)硬件電路設(shè)計 22 為確保每按一次鍵單片機只進行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動。 ? 硬件消抖法:就是在鍵盤中附加去抖動電路,從根上消除抖動產(chǎn)生的可能性。當(dāng)按鈕開關(guān)按下時Q 端輸出低電平,當(dāng)開關(guān)松開時 Q 端恢復(fù)高電平,即輸出一個負脈沖,以此消除抖動。而鍵抖動時間與按鍵的機械特性有關(guān),一般為 5~ 10ms 不等。 Q 圖 12 硬件去抖動電路 +5V amp。 Q 100ms 10ms 10ms 圖 13 軟件消抖法延時區(qū)間示意圖 鍵抖動時間 第 3 章 系統(tǒng)硬件電路設(shè)計 23 過載報警部分的方案 智能儀器一般 都具有報警和通訊功能,報警主要用于系統(tǒng)運行出錯、當(dāng)測量的數(shù)據(jù)超過儀表量程或者是超過用戶設(shè)置的上下限時為提醒用戶而設(shè)置。 超限報警電路是由單片機的 I/O 口來控制的,當(dāng)稱重物體重量超過系統(tǒng)設(shè)計所允許的重量時,通過程序使單片機的 I/O 值為高電平,從而三極管導(dǎo)通,使蜂鳴器 SPEAKER 發(fā)出報警聲,同時使二極管發(fā)光。其步驟可概括為以下三點: 首先需要分析系統(tǒng)控制要求,確定算法:對復(fù)雜的問題進行具體的分析,找出合理的計算方法及適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu),從而確定編寫程序的步驟。 其次是根據(jù)算法畫流程圖:畫程序框圖可以把算法和解題步驟逐步具體化,以減少出錯的可能性。 程序數(shù)據(jù)的一種理想方法是結(jié)構(gòu)化程序設(shè)計方法。 根據(jù)系統(tǒng)的控制任務(wù),監(jiān)控軟件采用模塊技術(shù)設(shè)計,根據(jù)系統(tǒng)功能,將軟件分為若干個功能相對獨立的模塊,為每一個模塊設(shè)計程序流程圖。 第 3 章 系統(tǒng)硬件電路設(shè)計 主程序的設(shè)計 主程序是系統(tǒng)信息處理的 關(guān)鍵,主程序模塊主要完成編程芯片的初始化及按需要調(diào)用各模塊(子程序),在系統(tǒng)初始化過程中,初始化程序?qū)?RAM 的 30H 到 5FH 單元清零, RXD 引腳置成低電平,防止誤報警,同時將系統(tǒng)設(shè)置成 量程,并寫 量程標(biāo)志。 主程序主要完成編程芯片的初始化及按需要調(diào)用各子程序,上電啟動后,系統(tǒng)初始化,單片機讀取模數(shù)轉(zhuǎn)換器的數(shù)據(jù),然后調(diào)用顯示子程序顯示重量,同時掃描鍵盤子程序,調(diào)用價格計算子程序計算價格并顯示出來。系統(tǒng)子程序主要包括 A/D 轉(zhuǎn)換啟動及數(shù)據(jù)讀取程序設(shè)計、顯示子程序設(shè)計、鍵盤掃描子的程序設(shè)計、價格計算子程序設(shè)計、以及報警子程序設(shè)計等。 ADC0832 進行模數(shù)轉(zhuǎn)換時,須現(xiàn)將 CS 是 能端置于低電平并且保存低電平直到完全結(jié)束。在第 1 個時鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號。從第 4 個脈沖下沉開始由 DO 端輸出轉(zhuǎn)換數(shù)據(jù)最高位 DATA7,隨后每一個脈沖下沉DO 端輸出下一位數(shù)據(jù)。從 第 11 個字節(jié)的下沉輸出 DATA0。最后將 CS 置高電平禁用芯片 。 鍵盤電路設(shè)計成 3 4 矩陣式,由鍵盤編碼方式可以得出 0及清零和計價各鍵對應(yīng)的鍵值: 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3d,0x30, 0x2e。 第 3 章 系統(tǒng)硬件電路設(shè)計 3 4 鍵 盤L C D 初 始 化字 符 顯 示輸 入 完 畢界 面 字 符 顯 示有 功 能 鍵 按 下有 返 回 鍵 按 下調(diào) 用 L C D 顯 示原 地 跳 轉(zhuǎn)原 地 跳 轉(zhuǎn)YNNY 圖 43 鍵盤掃描子程序流程圖 顯示子程序的設(shè)計 單片機應(yīng)用系統(tǒng)通常都需要進行人 — 機對話。顯示器是單片機應(yīng)用系統(tǒng)中最常用的人— 機交互設(shè)備 顯示子程序是字符顯示,首先初始化,輸出一些基本信息,然后調(diào)用事先編好的鍵盤顯示子程序,輸出顯示命令,顯示過程中還需要調(diào)用延時子程序。 第 3 章 系統(tǒng)硬件電路設(shè)計 設(shè)計顯示子程序的流程圖如下圖 44 所示: 開 始L C D 初 始 化顯 示 w e i g h t : p r i c e :價 格 計 算 子 程 序稱 量掃 描 鍵 盤 輸 入是 否 清 零YNYN 圖 44 顯示子程序流程圖 價格計算子程序的設(shè)計 價格計算 子程序由鍵盤計價鍵控制,當(dāng)輸入單價后,在沒有清零的情況下,點計價鍵,計算出總價后,調(diào)用顯示子程序顯示出中重量。價格計算公式總價 =單價重量。計算后的結(jié)果必須轉(zhuǎn)換為十進制數(shù)顯示出來。 主程序初始化設(shè)定閾值為 ,報警子程序?qū)⒃O(shè)定的閾值與實時顯示的值進行比較,先比較高位,若高位大,即設(shè)定值小于實時顯示的值,這時將 RXD 置為 1,將發(fā)光二極管點亮,且使蜂鳴器發(fā)出聲音。這就需要一段比較程序以及一小段置 1 清 0 程序。軟件調(diào)試的方法是先分塊后組合。 在調(diào)試程序之前,先檢查各硬件模塊間的連接是否無誤,有無斷路現(xiàn)象。 正式調(diào)試時,首先進行總體調(diào)試,即觀察系統(tǒng)的運行情況以便快速地發(fā)現(xiàn)存在的問題。 我在實際仿真的時 候出現(xiàn)了 LCD 無顯示,最終找出原因是 LCD 是共陽極的需要接上拉電阻。軟件調(diào)試如圖 51 所示。首先檢查 連線是否與邏輯圖一致, 用萬用表檢查 有無短路、虛焊等現(xiàn)象。檢查完畢,可用萬用表檢測儀下電路板正負電源之間的電阻,排除電源短路的可能。 剛開始通電后,發(fā)現(xiàn) LCD 顯示畫面不理想,之后調(diào)節(jié)上拉電阻后達到了滿意的效果。 換了正負極方向就可以了。硬件調(diào)試如圖 52。 之所以以 51 系列單片機 AT89S52 為控制核心實現(xiàn)電子秤的基本控制功能,主要是由于它不需要燒寫器,在現(xiàn)有單片機開發(fā)板的前提下,通過相關(guān)軟件就可以直接進行程序的燒寫。 在設(shè)計系統(tǒng)時,為了更好地采用模塊化設(shè)計法,分步的設(shè)計各個單元功能模塊,系統(tǒng)的硬件部分可以分為最小系統(tǒng)、數(shù)據(jù)采集、人機交互界面和系統(tǒng)電源四大部分。軟件部分應(yīng)用單片機 C 語言進行編程,實現(xiàn)了該設(shè)計的全部控制功能。整個系統(tǒng)結(jié)構(gòu)簡單,使用方便,功能齊全,精度高,具有一定的開發(fā)價值。 在這 里要感謝我的知道導(dǎo)師鄧方雄老師。我的設(shè)計較為復(fù)雜煩瑣,但是鄧?yán)蠋熑匀患毿牡丶m正圖紙中的錯誤。 最后還要感謝大學(xué)四年來所有的老師,為我們打下專業(yè)知識的基礎(chǔ);同時還要感謝所有的同學(xué)們,正是因為有了你們的支持和鼓勵。 第 5 章 結(jié) 論 參考文獻 參考文獻 [1] 明尚志 . 電子秤稱重傳感器 V/F 轉(zhuǎn)換電路的設(shè)計,電子測量技術(shù) ,20xx [2] 張青春,郁嵐 . 智能人體電子秤的系統(tǒng)設(shè)計, 20xx [3] 呂俊芳 ,錢政 ,袁梅編著,傳感器接口與檢測儀器電路 [M],國防工業(yè)出版社 , 20xx [4] 張青春,郁嵐,智能人體電子秤的系統(tǒng)設(shè)計 [J], 20xx [5] 康華光.電子技術(shù)基礎(chǔ)[ M].?dāng)?shù)字部分.高等教育出版社, 1998 [6] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ) [第五版 ],高等教育出版社, 20xx [7] 唐文彥 . 傳感器 [第四版 ],機械工業(yè)出版社, 20xx [8] Hnatek, Eugene R. A user’s handbook of D/A and D/A converters [M]. New York: Wiley, 1976. [9] 陳杰,黃鴻 . 傳感器與檢測技術(shù) 高等教育出版社 20xx [10]譚浩強 . C 程序設(shè)計 [第三版 ] 清華大學(xué)出版社, 20xx [11] 陳曉鴿 . Protel 99se 標(biāo)準(zhǔn)實例教程 機械工業(yè)出版社, 20xx [12] HUMIREL. Relative Humidity Sensor HS1101/HS1101[Z]. HUMIREL, 20xx. 致 謝 致 謝 本文的 研究工作是在 崔 導(dǎo)師的精心指導(dǎo)和悉心關(guān)懷下完成的, 從論文的選題、調(diào)研、資料收集、撰寫直至修改完成,都是崔老師給予了耐心的指導(dǎo)。在做實驗的過程中,重復(fù)不斷的遇到一些問題,特別是程序和電路的調(diào)試 ,往往要經(jīng)過很多次反復(fù)的檢查、測量才能找到問題的所在, 要不是崔老師的指導(dǎo) ,完成本次設(shè)計是不可能的。各位老 師的嚴(yán)謹(jǐn)治學(xué) 態(tài)度、淵博的知識、無私的奉獻精神使我深受 鼓舞 。 在此我要向 各位老 師致以最衷心的感謝和深深無限 的敬意 ! 附錄 31 附錄: 軟件程序設(shè)計 include include define uchar unsigned char define uint unsigned int /**************端口定義 **************/ sbit a=ACC^0。 sbit rs=P2^6。//時能端 sbit rw=P2^5。//P1^2。//P1^1。//P1^0。//單價輸入 sbit p2=P1^7。//輸入單價時 用來確定輸入位數(shù) uint k2。//輸入單價標(biāo)志位 uchar dd。 /************數(shù)組定義 ****************/ //uchar code qw[]={1,0,0}。//存儲數(shù)據(jù) /************時鐘初始化 ************/ uchar code tad[]=Q: 。 /****************延時 ******************/ void delay(uchar x) { uint a,b。a0。b0。 } /********1602**********/ void write_date(uchar date)//寫數(shù)據(jù) { rs=1。 delay(5)。 delay(5)。 } void write_(uchar c)//寫指令 { rs=0。 delay(5)。 delay(5)。 } /*************1602 初始化 *******/ void init1602() { uint num。 e=0。 clk=0。 write_(0x0c)。 write_(0x01)。 for(num=0。num++) { write_date(tad[num])。 } write_(0x80+0x40)。num16。 delay(1)。 adval=0。 附錄 33 ADCCS=0。 //延時 ADCCLK=1。 //延時 DI=1。//第一個脈沖的下降沿 _nop_()。//第二個脈沖的上升沿 _nop_()。//第二個脈沖下降之前送人通道選擇第二位 ADCCLK=0。 ADCCLK=1。 DI=0。//第三個脈 沖的下降沿 _nop_()。//開始第四個脈沖 _nop_()。 //第二個脈沖下降沿之前送通道選擇的第一位 ADCCLK=0。 ADCCLK=1。 DI=1。//第三個脈沖的下降 沿 _nop_()。//開始第四個脈沖 _nop_()。//第四個脈沖的下降沿 DI=1。i8。 adval=1。 _nop_()。 附錄 34 if(DI) adval|=0x01。 } for(i=0。i++)//讀取后八位 { test=1。 else test|=0x00。 ADCCLK=1。 ADCCLK=0。 _nop_()。//釋放 ADC0832 DI=1。 return dat
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1