找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1615|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)密碼鎖設(shè)計與調(diào)試資料 系統(tǒng)框圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本設(shè)計是以單片機(jī)AT89C51為核心的簡易計算器設(shè)計,要通過芯片AT89C51實(shí)現(xiàn)計算器程序運(yùn)行來完成加、減、乘和除的簡單計算功能。
本設(shè)計運(yùn)算模塊由AT89C51實(shí)現(xiàn),數(shù)據(jù)輸入模塊由4*4矩陣鍵盤電路實(shí)現(xiàn),輸出數(shù)據(jù)模塊由LCD顯示電路實(shí)現(xiàn),再外加一個復(fù)位電路完成整個簡易計算器的設(shè)計。

1.2 系統(tǒng)的設(shè)計方案

本設(shè)計由以下幾部分組成:AT89C51單片機(jī)系統(tǒng)(運(yùn)算模塊)、鍵盤電路、顯示電路、時鐘電路和復(fù)位電路構(gòu)成,計算器系統(tǒng)框圖如圖1-1所示。

圖1-1 計算器系統(tǒng)框圖
1.3 系統(tǒng)的設(shè)計要求
為了更好地實(shí)現(xiàn)系統(tǒng)的功能,硬件電路的設(shè)計應(yīng)該遵循以下原則:
1.3.1優(yōu)化硬件電路
采用軟件設(shè)計與硬件設(shè)計相結(jié)合的方法。盡管采用軟件來實(shí)現(xiàn)硬件系統(tǒng)的功能時,也許響應(yīng)的時間會比單純使用硬件時長,而且還要占用微處理器(MCU)的時間;但是,用軟件實(shí)現(xiàn)硬件的功能可以簡化硬件結(jié)構(gòu),提高電路的可靠性。所以,在設(shè)計本系統(tǒng)的時候,在滿足可靠性和實(shí)時性的前提下,盡可能地通過軟件來實(shí)現(xiàn)硬件功能。
1.3.2可靠性及抗干擾設(shè)計
根據(jù)可靠性設(shè)計理論,系統(tǒng)所用芯片數(shù)量越少,系統(tǒng)的平均無故障時間越長。而且,所用芯片數(shù)量越少,地址和數(shù)據(jù)總線在電路板上受干擾的可能性也就越小。因此,系統(tǒng)的設(shè)計思想是在滿足功能的情況下爭取較少數(shù)量的芯片。
1.3.3靈活的功能擴(kuò)展
功能擴(kuò)展是否靈活是衡量一個系統(tǒng)優(yōu)劣的重要指標(biāo)之一。一次設(shè)計往往不能完全考慮到系統(tǒng)的各個方面,系統(tǒng)需要不斷完善以及進(jìn)行功能升級。進(jìn)行功能擴(kuò)展時,應(yīng)該在原有設(shè)計的基礎(chǔ)上,通過修改軟件程序和少量硬件完成。對于本系統(tǒng)而言,就是要求在系統(tǒng)硬件不變的情況下,能夠通過修改軟件程序,完成功能的升級和擴(kuò)展。
根據(jù)提出的系統(tǒng)設(shè)計方案,結(jié)合以上三條原則,確定了系統(tǒng)硬件的設(shè)計。計算器主要由以下一些功能模塊組成:非編碼鍵盤模塊、運(yùn)算模塊(單片機(jī)內(nèi)部)和LCD液晶顯示模塊等。
該系統(tǒng)的硬件設(shè)計采用了模塊化的設(shè)計方法。AT89C51單片機(jī)、LCD液晶顯示屏顯示電路和鍵盤電路是整個電路的核心,它們能實(shí)現(xiàn)系統(tǒng)的功能要求。
簡易計算器主要包括:鍵盤電路、運(yùn)算電路和輸出顯示電路。

第二章 硬件模塊設(shè)計
在本設(shè)計中主要用到的硬件:單片機(jī)AT89C51、液晶顯示屏LCD1602 、4*4矩陣鍵盤。
單片機(jī)AT89C51的硬件資源分配:
(1)P3口:作為輸入口,與鍵盤連接,實(shí)現(xiàn)數(shù)據(jù)的輸入;
(2)P0、P2口:作為輸出口(P2口為高位,P0口為低位),控制LCD液晶顯示屏顯示數(shù)據(jù)的結(jié)果;
(3)P1口和部分P3口:作為液晶顯示屏LCD1602顯示輸出。

鍵盤控制模塊
計算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會很簡單,但是會占用大量的I/O 口資源,因此在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。矩陣鍵盤采用四條I/O 線作為行線,四條I/O 線作為列線組成鍵盤,在行線和列線的每個交叉點(diǎn)上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為4×4個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O 口的利用率。
2.2.1 矩陣鍵盤的工作原理
鍵盤可分為兩類:編碼鍵盤和非編碼鍵盤。編碼鍵盤是較多按鍵(20個以上)和專用驅(qū)動芯片的組合;當(dāng)按下某個按鍵時,它能夠處理按鍵抖動、連擊等問題,直接輸出按鍵的編碼,無需系統(tǒng)軟件干預(yù)。
通用計算機(jī)使用的鍵盤就是編碼鍵盤。在智能儀器中,使用并行接口芯片8279或串行接口HD7279均可以組成編碼鍵盤,同時還可以兼顧數(shù)碼管的顯示驅(qū)動,其相關(guān)的接口電路和接口軟件均可在芯片資料中得到。當(dāng)系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時,采用編碼鍵盤可以簡化軟件設(shè)計。
而非編碼鍵盤成本低廉。從簡易和成本角度出發(fā),本設(shè)計選用的是非編碼鍵盤。如圖2-1所示。一般由16個鍵組成,在單片機(jī)中正好可以用一個P口實(shí)現(xiàn)16個按鍵功能,這種形式在單片機(jī)系統(tǒng)中也最常用。其矩陣圖所對應(yīng)的仿真圖如圖2-2所示。
圖2-1 矩陣鍵盤內(nèi)部電路圖              圖2-2矩陣鍵盤布局圖


在本設(shè)計中,計算器輸入鍵盤的4條行線、4條列線分別連接到MM74C922X1-X4、Y1-Y4引腳,MM74C922的數(shù)據(jù)輸出口與單片機(jī)的P2口相連,MM74C922DA引腳經(jīng)過一個非門連接到單片機(jī)的/INT0腳,當(dāng)MM74C922檢測到鍵盤輸入時,DA產(chǎn)生高電平,與之相連的/INT0檢測到低電平,給單片機(jī)一個中斷,單片機(jī)從P2口的低四位讀入鍵盤上按下的按鍵值。
2.3 LCD顯示模塊
本設(shè)計采用LCD液晶顯示器來顯示輸入輸出數(shù)據(jù)。通過D0-D7引腳向LCD寫指令字或?qū)憯?shù)據(jù)以使LCD實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。LCD引腳圖如圖2-3所示。
圖2-3  LCD1602 引腳圖
LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,在實(shí)際使用中是否帶背光并無多大差別.
2.3.1 顯示電路
當(dāng)系統(tǒng)需要顯示少量數(shù)據(jù)時,采用LCD液晶顯示屏進(jìn)行顯示是一種經(jīng)濟(jì)實(shí)用的方法。P1口作為液晶顯示的數(shù)據(jù)端口,P3.4-P3.6口作為其控制端口,控制LCD液晶顯示屏顯示輸出數(shù)據(jù)。

第三章 軟件設(shè)計

3.1 功能介紹

實(shí)際運(yùn)用中人們熟悉的計算器,其功能主要如下:
1、鍵盤輸入;
2、顯示數(shù)值;
3、加、減、乘、除四則運(yùn)算;
3.2系統(tǒng)流程圖

在軟件設(shè)計中程序分別要完成鍵盤輸入檢測、LCD初始化及顯示、算術(shù)運(yùn)算和錯誤處理及輸出等功能。對主程序進(jìn)行初始化,其他的程序選擇模塊式的方式。首先對每個模塊進(jìn)行調(diào)試,當(dāng)模塊調(diào)試成功后,逐一地加入主程序中,最后完成整個軟件部分的設(shè)計。系統(tǒng)流程圖如圖3-1所示。

3.3 程序
本設(shè)計程序采用C語言編程,程序分為多個模塊,由主程序、鍵值轉(zhuǎn)換和LCD系列程序等模塊組成。具體可見附錄
第四章 系統(tǒng)調(diào)試
4.1軟件介紹
4.1.1 Keil uVision2仿真軟件簡介
Keil uVision2是德國Keil公司開發(fā)的基于Windows平臺的單片機(jī)集成開發(fā)環(huán)境,它包含一個高效的編譯器、一個項(xiàng)目管理器和一個MAKE工具。生成的程序代碼運(yùn)行速度極高,所需要的存儲器空間極小,完全可以與匯編語言媲美。Keil uVision2的界面如圖4-1所示,Keil uVision2允許同時打開、瀏覽多個源文件。
4.2 軟件調(diào)試
  圖4-1 Keil uVision2的界面
4.2.1 軟件分析及常見故障
在此次設(shè)計中使用Keil uVision2,其中使用Keil uVision2軟件匯編源程序,使用Proteus軟件對硬件電路進(jìn)行模擬。正確連接電路圖,使其能按照項(xiàng)目要求及設(shè)計初衷正常工作。
從庫里正確拾取元器件,認(rèn)真合理地連線,做到不缺件,不缺線,選取合適的元件參考值,使其能正常工作。通過編譯,連接程序。使其生成.hex文件。測試該計算器是否能正常工作。若不能,首先要檢查有沒有漏掉元器件,元器件是否都連接好。其次,要看元件各引腳是否都連接正確,有無接反的。最后要看元件的參考值是否選擇合理,電源電壓是否能帶動元器件正常工作。
常見故障:
1、邏輯錯誤:它是由設(shè)計錯誤或加工過程中的工藝性錯誤所造成的。這類錯誤包括錯線、開路、短路等。
2、元器件失效:有兩方面的原因:一是器件本身已損壞或性能不符合要求;二是組裝錯誤造成元件失效,如電解電容、集成電路安裝方向錯誤等。
3、可靠性差:因其可靠性差的原因很多,如金屬化孔、接插件接觸不良會造成系統(tǒng)時好時壞,經(jīng)不起振動;走線和布局不合理也會引起系統(tǒng)可靠性差。
4、電源故障:若樣機(jī)有電源故障,則加電后很容易造成器件損壞。電源故障包括電壓值不符合設(shè)計要求,電源引線和插座不對,功率不足,負(fù)載能力差等。
調(diào)試方法:包括多級調(diào)試和聯(lián)機(jī)調(diào)試。在調(diào)試過程中要針對可能出現(xiàn)的故障認(rèn)真分析,直至檢查出原因并排除。
本次硬件調(diào)試過程中,對所出現(xiàn)的問題進(jìn)行了認(rèn)真的分析和改正,最后能夠很好的達(dá)到設(shè)計要求的效果。
系統(tǒng)仿真圖如圖4-2所示。
圖4-2 系統(tǒng)仿真圖
4.2.2 結(jié)果演示
下面以加、減、分別做演示為例:
(1)加法:以243和536作為加數(shù)和被加數(shù)運(yùn)算,結(jié)果為779。加法仿真結(jié)果圖如圖4-3所示。
圖4-3 加法仿真結(jié)果圖
(2)減法:以956和356作為被減數(shù)和減數(shù)運(yùn)算,結(jié)果為600。減法仿真結(jié)果圖如圖4-4所示。
圖4-4 減法仿真結(jié)果圖
4.3 硬件調(diào)試
把所有元器件的參數(shù)都設(shè)置好,程序在keil里面生成.hex文件,運(yùn)行一切正常后開始準(zhǔn)備焊接硬件。在焊接硬件過程中首先得準(zhǔn)備好所有必備的東西,比如所需元器件和焊接所用工具等。在焊接前應(yīng)先在面包板上把硬件插好調(diào)試,接通電源看能否顯示出結(jié)果,如果元器件都是好的并且結(jié)果可以顯示出,就可以焊接了。如果顯示不出來再檢查各個器件是否有損壞,并用萬用表挨個檢查,直至一切顯示正常再焊接。
在焊接時要注意相鄰焊點(diǎn)不能粘在一起,連接線不能太長,并且注意焊點(diǎn)的虛焊、假焊。在使用電烙鐵時溫度不能太高也不能太低,一般在350度左右,溫度太低容易形成冷焊點(diǎn),太高則會燒壞電路板。
電路板焊接好以后首先測試一下各個元器件是否正常,焊點(diǎn)有無虛焊、連焊、假焊等現(xiàn)象,檢查沒有問題以后接通電源查看LCD顯示是否正常,如果一切顯示沒有問題把硬件妥善保管,防止不小心損壞。硬件電路實(shí)物圖如圖4-6所示。
圖4-6 硬件電路實(shí)物圖


結(jié)束語

通過這次簡易計算器的設(shè)計,很大程度的提高了我的理解力和動手能力,也拓寬了知識面。在圖書館和網(wǎng)上查閱資料使我了解了更多的資料,也方便了我們以后的使用。在查詢的資料中讓我對單片機(jī)有了更深入的了解,能把學(xué)到的知識用活,而不只局限于理論方面。
在硬件制作過程中,當(dāng)我把硬件都焊好以后接通電源LCD怎么都不顯示數(shù)字并且在很短的時間內(nèi)就會發(fā)熱,我查了焊接點(diǎn)和仿真圖都沒有問題,接著仔細(xì)查找了LCD顯示器各個管腳,發(fā)現(xiàn)兩個電壓管腳接反了,但在仿真時沒出現(xiàn)問題,而在實(shí)物中出現(xiàn)了問題,是由于仿真元件都是理想化的,各個問題在實(shí)物中根據(jù)實(shí)際情況就會出現(xiàn)。
編程時,充分使用了結(jié)構(gòu)化的思想。這樣一來,因?yàn)檎Z句較少,程序調(diào)試也比較方便,功能模塊可以逐一地調(diào)試,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢。當(dāng)每個模塊都完成時,將其功能互相整合就完成了整體的設(shè)計。經(jīng)歷了從最初的不了解設(shè)計內(nèi)容到最后做出仿真結(jié)果的過程使我從根本上提高了對專業(yè)的認(rèn)識及興趣,對于我們工科學(xué)生來說,學(xué)習(xí)了這些對我們以后工作有重大的影響。很感謝師傅給我們提供了這樣的平臺,能使我們的動手能力增強(qiáng)。感謝老師對我們提供的幫助。

本人初學(xué),僅供參考,存在錯誤和不足之處,請大家回帖多多指教,不勝感激.切勿照搬,文件下載:
Keil代碼與Proteus仿真下載:http://www.torrancerestoration.com/bbs/dpj-229515-1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表