單片機課程設(shè)計密碼鎖_第1頁
單片機課程設(shè)計密碼鎖_第2頁
單片機課程設(shè)計密碼鎖_第3頁
單片機課程設(shè)計密碼鎖_第4頁
單片機課程設(shè)計密碼鎖_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

液晶顯示電子密碼鎖《單片機技術(shù)》課程設(shè)計任務(wù)書1、設(shè)計主題:數(shù)字電子鐘、數(shù)字頻率計、數(shù)字電壓表、紅綠燈、應(yīng)答器、密碼鎖、波形發(fā)生器、數(shù)字溫度計、計算器、數(shù)字秒表。2.適用班:自助書1003-4、電子書1001-2、電子書1001-2、通訊書1001-23.導(dǎo)師:王仁四、設(shè)計目的與任務(wù):學(xué)生通過理論設(shè)計和實物制作解決相應(yīng)的實際問題,鞏固和應(yīng)用在《單片機技術(shù)》中學(xué)到的理論知識和實驗技能,掌握單片機應(yīng)用系統(tǒng)的通用設(shè)計方法,提高設(shè)計能力和實踐能力,為未來。為從事電子線路設(shè)計、電子產(chǎn)品研發(fā)打下良好基礎(chǔ)。五、設(shè)計內(nèi)容及要求設(shè)計內(nèi)容1.數(shù)字電子鐘設(shè)計一個具有特定功能的電子鐘。電子鐘上電或復(fù)位按鈕后可自動顯示系統(tǒng)提示“P.”,進入時鐘準(zhǔn)備狀態(tài);第一次按下電子時鐘的啟動/調(diào)整鍵,電子時鐘從0:00:00開始運行,進入時鐘運行狀態(tài);再按一下電子鐘的啟動/調(diào)整鍵,電子鐘就會進入時鐘調(diào)整狀態(tài),此時可以用各調(diào)整鍵調(diào)整時間,調(diào)整后按啟動/調(diào)整鍵即可再次進入時鐘運行狀態(tài)。2.數(shù)字頻率計設(shè)計一種頻率計,可以測量周期性矩形波信號的頻率、周期、脈沖寬度和占空比。頻率計上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入測量準(zhǔn)備狀態(tài)。按頻率測量鍵測量頻率;按周期測量鍵測量周期;按脈寬測量鍵測量脈寬;按占空比測量鍵測量占空比。3.數(shù)字電壓表設(shè)計一種能夠測量直流電壓的數(shù)字電壓表。測量電壓范圍為0~5V,測量精度為小數(shù)點后兩位。電壓表上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入測量準(zhǔn)備狀態(tài)。按測量開始鍵開始測量,并在顯示屏上顯示測量值。按測量結(jié)束鍵自動返回“P.”“P.”狀態(tài)。4.紅綠燈在具有特定功能的交叉路口設(shè)計一個紅綠燈。紅綠燈通電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)。按開始鍵開始工作,按結(jié)束鍵返回“P.”狀態(tài)。A車道和B車道兩條交叉道路上的車輛需要交替行駛。A車道為主車道,每次通行時間為60秒。車道B是輔助車道。每次通行時間為30秒。黃燈需要亮3秒。并且每1秒閃爍一次。有緊急車輛時,紅燈全亮,緊急車輛通行10秒,其他車輛禁止通行。5.響應(yīng)者設(shè)計一個具有特定功能的響應(yīng)器。應(yīng)答器上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備狀態(tài)。主機按下開始鍵后,開始快速接聽,限時30秒;10秒內(nèi)無人接聽,蜂鳴器響;主機按下開始鍵前,有人按下快速應(yīng)答器,應(yīng)答為非法,顯示屏顯示非法站號,表示違規(guī),當(dāng)燈亮?xí)r,其他按鈕不工作;正常接聽時,顯示屏顯示站號,蜂鳴器響,其他接聽按鈕無效;正常接聽時,長按接聽鍵30秒。,超時處理后,違規(guī)指示燈亮,顯示屏顯示違規(guī)站號。蜂鳴器會響起;各數(shù)字顯示的消除、蜂鳴器聲音的關(guān)閉和違規(guī)指示必須由主機按下復(fù)位按鈕來完成。6.密碼鎖設(shè)計具有特定功能的密碼鎖。密碼鎖上電或鑰匙復(fù)位后,會自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)。密碼鎖的原始系統(tǒng)密碼為888888,用戶可以設(shè)置和存儲用戶密碼。輸入密碼時,應(yīng)處于顯示狀態(tài)。密碼輸入正確后,應(yīng)顯示正確的密碼輸入提示信息。否則會顯示密碼輸入錯誤提示信息。7.波形發(fā)生器設(shè)計具有特定功能的波形發(fā)生器。上電或按鍵復(fù)位后,波形發(fā)生器可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)。波形發(fā)生器可分別產(chǎn)生幅度0~5V、頻率100Hz~100KHz的三角波、鋸齒波、方波、梯形波和正弦波。8.數(shù)字溫度計設(shè)計具有特定功能的數(shù)字溫度計。數(shù)字溫度計上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)。測量溫度范圍為0℃至99℃,測量精度為小數(shù)點后兩位。數(shù)字溫度計的工作狀態(tài)可以通過開始和結(jié)束鍵來控制。9.計算器設(shè)計一個具有特定功能的計算器。計算器上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)??梢詫崿F(xiàn)(1)基本的加法、減法、乘法、除法、平方、平方根;(2)三角函數(shù)運算;(3)十進制、十六進制轉(zhuǎn)換操作;(4)其他功能。10.數(shù)字秒表設(shè)計具有特定功能的數(shù)字秒表。數(shù)字秒表上電或按鍵復(fù)位后可自動顯示系統(tǒng)提示“P.”,進入準(zhǔn)備工作狀態(tài)。數(shù)字秒表應(yīng)具有啟動、暫停、連續(xù)、復(fù)位和停止功能。設(shè)計要求1、以上題目可以選擇一項或多項,學(xué)生也可以自己擬定題目;2、編程語言:匯編或C51;3、《單片機技術(shù)》課程設(shè)計電腦打印指導(dǎo)手冊;4、設(shè)計時間:一周;5、實物制作;6、人員分組:一個人,一組,一個實物。6.《單片機技術(shù)》課程設(shè)計手冊正文主要內(nèi)容參考文檔《單片機技術(shù)》課程設(shè)計手冊正文主要內(nèi)容。七、《單片機技術(shù)》課程設(shè)計手冊編寫規(guī)范參考文檔《單片機技術(shù)》課程設(shè)計手冊編寫規(guī)范。8.參考文獻1.馬忠梅,C語言單片機Windows環(huán)境編程合集[M],:航空航天大學(xué),2003.6;2.光飛,單片機C編程指南[M],:航空航天大學(xué),2003.01;3.光飛,單片機課程設(shè)計實例指導(dǎo)[M],:航空航天大學(xué),2004.9。電氣自動化教研室2012年9月10日摘要本文是基于12864液晶系統(tǒng)設(shè)計的密碼鎖課程設(shè)計,以AT89S52為核心的單片機控制方案,利用單片機靈活的編程設(shè)計和豐富的I/O口,其控制精度,通過AT89S52模擬I2C總線與AT24C02通訊,實現(xiàn)基本密碼鎖功能。本設(shè)計的主要硬件由三部分組成:4×4行列式鍵盤接口電路、密碼鎖控制電路、液晶顯示電路。初步設(shè)計思路如下:(1)有原系統(tǒng)密碼88888888,密碼通過行列式鍵盤輸入。如果密碼正確,鎖將被打開。(2)用戶可以自定義密碼。解鎖后,用戶可以修改原密碼(三)有處理特殊情況的超級密碼;(4)輸入密碼時,應(yīng)處于顯示狀態(tài)。密碼輸入正確后,應(yīng)顯示密碼輸入正確的提示信息。否則會顯示密碼輸入錯誤的提示信息。密碼連續(xù)輸入錯誤3次,則不允許輸入,并報警。(5)系統(tǒng)崩潰重啟后,變?yōu)樵瓉淼某跏紶顟B(tài)軟件設(shè)計主要包括按鍵掃描子程序、LCD顯示程序、密碼比較程序、AT24C02讀寫程序、報警程序和開鎖顯示程序等。實驗證明,該密碼控制系統(tǒng)具有設(shè)計方法合理、操作簡單易行、成本低廉、使用安全等特點,滿足車用和辦公用鎖的要求,具有推廣價值。關(guān)鍵詞:12864液晶系統(tǒng);行列式鍵盤;AT89S52;24C02目錄1設(shè)計任務(wù)、功能需求描述及總體方案介紹…………41.1設(shè)計任務(wù)………………41.2功能需求描述…………41.3總體方案介紹…………42設(shè)計課題硬件系統(tǒng)設(shè)計……………………52.1設(shè)計主體硬件系統(tǒng)各模塊功能簡介…………52.2設(shè)計主體電路原理圖、PCB圖、元件布局圖……62.3設(shè)計主題組件列表………………63設(shè)計項目軟件系統(tǒng)的設(shè)計……………………73.1設(shè)計項目中使用單片機資源的情況……73.2設(shè)計項目軟件系統(tǒng)各模塊功能簡介…………73.3設(shè)計項目軟件系統(tǒng)程序流程圖……83.4設(shè)計項目軟件系統(tǒng)程序清單…………114設(shè)計結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議………………344.1設(shè)計結(jié)論和設(shè)計題目使用說明…………344.2設(shè)計方案仿真結(jié)果…………344.3設(shè)計項目誤差分析……………………344.4設(shè)計經(jīng)驗………………354.5教學(xué)建議.............................36參考...........................37至……………………38附錄……………………391密碼鎖的設(shè)計任務(wù)、功能需求描述及總體方案介紹1.1設(shè)計主題任務(wù)設(shè)計具有特定功能的密碼鎖。密碼鎖上電或按鍵復(fù)位后可自動顯示菜單系統(tǒng)界面,并根據(jù)菜單界面上的數(shù)字進入相應(yīng)的工作狀態(tài)。密碼鎖有原系統(tǒng)密碼88888888,用戶可以設(shè)置并保存用戶密碼,輸入密碼時應(yīng)顯示密碼,輸入正確密碼時應(yīng)顯示正確提示信息,否則報錯將顯示提示信息。1.2功能需求描述設(shè)計一種由AT89S52單片機控制的電子密碼鎖。電子密碼功能包括10個密碼輸入。密碼輸入過程中,有清除輸入、密碼正確與錯誤、密碼修改等提示。12864LCD顯示菜單實現(xiàn)多功能等。1.3設(shè)計項目總體規(guī)劃介紹1.3.1總體方案介紹如下:(1)系統(tǒng)原密碼88888888,密碼通過行列式鍵盤輸入。輸入密碼后會顯示。如果密碼正確,鎖將被打開。(2)用戶可以自定義密碼。解鎖后,用戶可以修改原密碼(三)有處理特殊情況的超級密碼;(4)輸入密碼時,應(yīng)處于顯示狀態(tài)。密碼輸入正確后,應(yīng)顯示密碼輸入正確的提示信息。否則會顯示密碼輸入錯誤的提示信息。密碼連續(xù)輸入錯誤3次,則不允許輸入,并報警。(5)系統(tǒng)崩潰后重啟,恢復(fù)到原來的初始狀態(tài)1.3.2單片機系統(tǒng)結(jié)構(gòu)圖:圖1單片機系統(tǒng)結(jié)構(gòu)圖2硬件系統(tǒng)設(shè)計2.1硬件電路組成及各模塊功能說明單片機系統(tǒng)是整個硬件系統(tǒng)的核心。它不僅協(xié)調(diào)整機的工作,而且是數(shù)據(jù)處理器和連接軟硬件系統(tǒng)的橋梁。系統(tǒng)主要包括:AT89S52單片機、存儲芯片AT24C02、鍵盤輸入電路、電源輸入電路、掉電存儲電路、復(fù)位電路、晶振電路、液晶顯示模塊、報警電路。2.1.1AT89S52單片機AT89S52是一款低功耗、高性能CMOS8位微控制器,具有4k字節(jié)的只讀程序存儲器。該器件采用ATMEL的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和AT89S52引腳結(jié)構(gòu),芯片集成通用8位中央處理器和ISPFlash存儲單元,功能強大的微機AT89S52可以為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。2.1.2存儲芯片AT24C02AT24C02是美國Atmel公司的一款低功耗CMOS型E2PROM,存儲空間256×8位,工作電壓寬(2.5-5.5V),擦寫次數(shù)多(10000次以上),速度快寫入速度快(小于10ms)),抗干擾能力強,數(shù)據(jù)不易丟失,體積小等特點。而且它是一個使用I2C總線讀寫數(shù)據(jù)的串口設(shè)備,占用資源和I/O線極少,支持在線編程,非常方便實時數(shù)據(jù)訪問。引腳說明:(1)SCL為串行時鐘:串行時鐘輸入引腳用于為設(shè)備的所有數(shù)據(jù)發(fā)送或接收生成時鐘,是一個輸入引腳。(2)SDL為串行數(shù)據(jù)/地址:雙向串行數(shù)據(jù)/地址引腳用于發(fā)送或接收器件所有數(shù)據(jù)的SDL,它是一個開漏輸出引腳,可與其他開漏或集電極開路輸出進行線或。(3)A0、A1、A2為設(shè)備地址輸入端子:使用24C02時,最多可級聯(lián)8臺設(shè)備。如果總線只尋址一個24C02,則三個地址輸入引腳A0、A1和A2可以懸空或連接到Vss。(4)WP被寫保護:如果WP引腳連接到Vcc,則所有電容器都具有寫保護,并且只能在WP、引腳連接到Vss或懸空時讀取,從而允許設(shè)備執(zhí)行正常的讀/寫操作[12]。2.1.3鍵盤輸入電路由于此設(shè)計中使用的按鍵數(shù)量較多,不適合使用獨立按鍵鍵盤。采用矩陣鍵鍵盤,由行線和列線組成,又稱行列式鍵盤。按鍵位于行列交叉處,密碼鎖的密碼由鍵盤輸入完成。輸入/輸出端口。2.1.4電源輸入電路密碼鎖主控部分的電源需要使用5V直流電源供電。2.1.5掉電存儲電路作為密碼鎖,掉電保護是必不可少的,這里我們使用AT24C02來存儲密碼。AT24C02的1、2、3腳為3條地址線,用于確定芯片的硬件地址。在AT89S52測試開發(fā)板上都接地,第4腳和第8腳分別為正負(fù)電源。第6腳SDA是串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這個雙向I2C總線串行傳輸,連接到AT89S52測試開發(fā)板上單片機的P3.2。第5腳SCK為串行時鐘輸入線,接AT89S52測試開發(fā)板上單片機的P3.3。SDA和SCK都需要用一個5.1K的電阻從正電源上拉。引腳7接地。2.1.6復(fù)位電路單片機的復(fù)位就是使系統(tǒng)中的CPU等功能部件處于一定的初始狀態(tài),并從這個狀態(tài)開始工作。例如復(fù)位后PC=0000H,單片機從第一單元取指令。無論是單片機第一次接通電源時,還是停電或發(fā)生故障后,都必須復(fù)位。為了避免機器死機時復(fù)位不可靠,設(shè)計電路在最簡單的復(fù)位電路下增加了手動復(fù)位按鈕。2.1.7晶振電路AT89S52的XTAL1和XTAL2腳接晶振和電容,如附錄1所示。晶振和電容構(gòu)成電容式三點振蕩器。振蕩信號的頻率與晶振的頻率和電容的容量有關(guān),但主要由晶振的頻率決定,在0~33MHz之間,電容的值在5和40pF。根據(jù)實際情況,本設(shè)計采用12MHZ作為系統(tǒng)的外接晶振。電容值為33pF。2.1.8液晶顯示電路為了提高密碼鎖的密碼顯示效果能力。本設(shè)計的顯示部分由液晶顯示器FYD12864代替普通數(shù)碼管完成。當(dāng)需要解鎖密碼鎖時,使用鍵盤上的數(shù)字鍵0-9輸入密碼,每按一次數(shù)字鍵,顯示屏上會顯示一個*,輸入多少位,多少位*顯示。密碼輸入完成后,按確認(rèn)鍵。如果輸入的密碼正確,液晶面板會顯示“成功打開”,通過液晶顯示屏可以清楚地判斷密碼鎖的狀態(tài)。表1并行接口引腳信號表針號引腳名稱等級引腳功能說明1VSS0V電源地2VCC3.0+5V正能量3V0-對比度(亮度)調(diào)整4后勤(CS)高/升RS=“H”,表示DB7-DB0為顯示數(shù)據(jù)RS=“L”,表示DB7-DB0為顯示指令數(shù)據(jù)5讀/寫(SID)高/升R/W="H",E="H",數(shù)據(jù)被讀到DB7-DB0,R/W="L",E="H→L",DB7-DB0數(shù)據(jù)被寫到IR或DR6E(SCLK)高/升使能信號7-14DB0—DB7高/升三態(tài)數(shù)據(jù)線15公安局高/升H:8位或4位并口模式,L:串口模式(見注1)16數(shù)控-空腳17/重置高/升復(fù)位端,低電平有效(見注2)18輸出電壓-LCD驅(qū)動電壓輸出19一個VDD背光正極(+5V)(見注3)20?VSS背光負(fù)極(見注3)*注1:實際應(yīng)用中如果只使用并口通訊方式,可以將PSB接固定高電平,或者將模塊上的J8和“VCC”焊錫短接。*注2:上電復(fù)位電路與模塊相連,所以當(dāng)不需要頻繁復(fù)位時,該端子可以懸空。*注3:如果背光燈和模組共用一個電源,可以用焊錫短接模組上的JA和JK。根據(jù)以上對FYD12864-0402的介紹,我們就可以設(shè)計液晶顯示器的原理圖了。可變電阻RA用于調(diào)節(jié)液晶顯示器的亮度。2.1.9報警電路報警模塊由蜂鳴器實現(xiàn)。選擇壓電蜂鳴器。密碼輸入3次錯誤時,AT89S52的P3.0口輸出低電平,蜂鳴器發(fā)出蜂鳴聲。否則,AT89S52輸出高電平,蜂鳴器不響。2.1.10鍵盤按鍵功能具體功能設(shè)計如表2所示:表2主要功能按鍵名稱功能說明1-9鍵數(shù)字鍵輸入密碼一鍵OK鍵比較密碼C鍵重置密碼鍵設(shè)置新密碼E鍵清除鍵錯誤輸入清除D鍵保存鍵保存密碼2.2設(shè)計主體電路原理圖、PCB圖、元件布局圖2.2.1液晶系統(tǒng)電路原理圖附錄22.2.2LCD系統(tǒng)PCB圖附錄32.2.3液晶系統(tǒng)3D圖附錄42.2.4底部PCB圖附錄52.2.5頂部PCB圖附錄62.2.6絲印層PCB圖附錄72.3設(shè)計課程組件列表(附錄1)3軟件設(shè)計3.1密碼鎖設(shè)計中使用單片機資源的情況原密碼存放在程序存儲器中,78H-7FH單元作為字體碼緩沖區(qū),70H-77H單元作為數(shù)據(jù)比較緩沖區(qū),61H-66H作為新密碼存儲區(qū),88H-8DH作為密碼緩沖區(qū)。3.2密碼鎖設(shè)計軟件系統(tǒng)各模塊功能介紹及流程圖軟件設(shè)計主要包括按鍵掃描子程序、LCD顯示程序、密碼比較程序、AT24C02讀寫程序、報警程序和開鎖顯示程序。3.2.1主程序結(jié)合本設(shè)計的要求,可以畫出主程序流程圖,如圖5-1所示圖3.1整體程序流程圖3.2.2按鍵掃描程序根據(jù)矩陣鍵盤的編程規(guī)則,我們可以很方便的寫出按鍵掃描子程序的流程圖按鍵掃描子程序流程圖如圖5-2所示圖3.2鍵盤掃描流程圖3.2.3密碼比對及報警程序輸入密碼時,密碼鎖只有在密碼完全相同的情況下才能解鎖。如果輸入錯誤超過3次,報警電路將被激活,鍵盤將被鎖定。密碼比對報警流程圖如圖5-3圖3.3密碼對比及告警流程3.2.4AT24C02讀寫編程有了前面對24C02和I2C總線工作原理的介紹,我們就可以輕松寫出流程圖了。圖5-4是讀操作算法的流程圖,圖5-5是寫操作算法的流程圖。圖3.4讀操作算法流程圖圖3.5寫操作算法流程圖4.設(shè)計結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議4.1設(shè)計結(jié)論本設(shè)計采用AT89S52和24C02組成電路,同樣采用LCD12864顯示,C51編寫的程序,顯示內(nèi)容非常豐富直觀,24C02可以存儲數(shù)據(jù),斷電情況下密碼能得到很好的保護,可以保證下次來電時可以繼續(xù)使用原來的密碼,設(shè)計更加人性化,可以修改密碼,并且有超級密碼,可以繼續(xù)使用密碼鎖即使用戶忘記了密碼,也提高了密碼鎖的可用性。4.2仿真結(jié)果4.2.1仿真軟件介紹仿真中使用了兩個軟件,第一個是Keil,第二個是Protues。該模擬是通過結(jié)合兩個軟件來進行的。Proteus軟件提供了30多個包含數(shù)千個組件的組件庫。元器件涉及數(shù)模、交直流等。對于一個仿真軟件或?qū)嶒炇襾碚f,被測儀器的數(shù)量、種類、質(zhì)量是決定實驗室是否合格的關(guān)鍵因素。在Proteus軟件包中,同類型儀器的數(shù)量沒有問題。Proteus還提供了圖形顯示功能,可以以圖形的方式實時顯示線路上的變化信號,與示波器類似,但功能更多。ProteusISIS是英國Labcenter公司開發(fā)的電路分析和物理仿真軟件。它運行在Windows操作系統(tǒng)上,可以模擬和分析(SPICE)各種模擬器件和集成電路。該軟件的特點是:1、實現(xiàn)了單片機仿真與SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真等功能;有多種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中,它具有全速、單步、設(shè)置斷點等調(diào)試功能,并且可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),所以在軟件仿真系統(tǒng)中,它也必須具備這些功能;同時支持第三方軟件編譯調(diào)試環(huán)境,如KeilC51uVision2等軟件。④具有強大的原理圖繪制功能。總之,本軟件是一款集單片機和SPICE分析于一體的仿真軟件,功能極其強大。單片機電路的仿真調(diào)試,選擇單片機AT89S52,左鍵點擊AT89S52,在出現(xiàn)的對話框中點擊ProgramFile按鈕,找到剛才編譯好的HEX文件,然后點擊“OK”按鈕即可模擬。點擊模擬調(diào)試按鈕的運行按鈕,進入調(diào)試狀態(tài)。我們也可以單步仿真調(diào)試,點擊按鈕進入單步調(diào)試狀態(tài),在單步仿真調(diào)試狀態(tài)下,點擊菜單欄中的“Debug”,點擊SimulationLog,會出現(xiàn)仿真調(diào)試相關(guān)信息出現(xiàn)。簡而言之,這兩種軟件的有效結(jié)合使數(shù)字電子時鐘能夠在模擬環(huán)境中運行。因此,它允許我在制作實物時先調(diào)試和模擬軟件,以便在制作實物時更有效地減少錯誤。4.2.2仿真結(jié)果使用Proteus進行模擬,圖見附錄V。圖4.1模擬密碼鎖顯示4.3設(shè)計錯誤及關(guān)鍵分析在設(shè)計過程中,雖然使用了keyscan,但還是有keyerror,不是很敏感。這個設(shè)計的重點是對用戶輸入的密碼進行逐一比較,直到所有輸入的密碼都正確才能解鎖。4.4設(shè)計經(jīng)驗通過一個學(xué)期的單片機學(xué)習(xí),對單片機有了一定的了解。王老師邊教邊教,讓我們做。我們逐漸了解了單片機。首先,我們學(xué)習(xí)了單片機的各個部分,以及部分應(yīng)用。,然后通過實驗,單片機各部分打下了良好編制依據(jù),為我們的課程設(shè)計打下了堅實編制依據(jù)。通過本次課程設(shè)計,我覺得理論還是需要與實踐相結(jié)合的。只有通過實踐,有了經(jīng)驗,才會覺得理論還是很容易學(xué)的。我覺得在這個設(shè)計過程中,一定要知道要應(yīng)用的硬件的基本結(jié)構(gòu),各個部分的基本功能,芯片各個引腳的定義以及可以實現(xiàn)的功能。在設(shè)計軟件時,一定要結(jié)合硬件電路。沒有硬件,就無法編寫軟件程序。不同的硬件電路有不同的設(shè)計方案。雖然這次應(yīng)用的電路是王老師給的電路圖,但是在學(xué)習(xí)的過程中,王老師把系統(tǒng)分成了很多模塊,對每個模塊一一講解,慢慢明白了設(shè)計這個的原因模塊。對我們自己設(shè)計硬件電路幫助很大。在編寫程序的過程中,我遇到了很多困難。它可以在模擬中實現(xiàn),但不能在實物中實現(xiàn)。這讓我很困惑,但它讓我再次意識到,理論和實踐之間仍然存在差距。還有一個我看了很久的程序。按照理論,完全沒問題,就是出不來。這使我能夠?qū)W習(xí)調(diào)試。使用keil調(diào)試程序?qū)ξ覀儊碚f也很重要。以前覺得寫程序是個大問題,一看到寫程序就不想寫了。但是在設(shè)計C51程序的過程中,我了解到,寫好程序是不夠的,還要多寫一些,在編寫實踐過程中學(xué)習(xí)C51的用法,對我也很有用未來的學(xué)習(xí)。很大的幫助,通過這個練習(xí),我不再那么害怕寫程序了。另外,我對我不是很熟悉的芯片沒有那么抗拒。不管是哪種芯片,我們都可以通過互聯(lián)網(wǎng)找到它的有用信息。通過自己閱讀資料,我們可以徹底了解不熟悉的芯片。比如一開始我對24C02了解不多,但是在編寫程序的過程中,我閱讀了相關(guān)資料,編寫了密碼鎖的程序。提高自信心。4.5教學(xué)建議一轉(zhuǎn)眼,一個學(xué)期就過去了。一個學(xué)期,在王老師的指導(dǎo)下,學(xué)習(xí)了單片機的知識,讓我感覺很充實。通過實驗與理論相結(jié)合,將理論應(yīng)用于實踐,以實踐檢驗理論,取得了良好的效果。課程設(shè)計的順利完成有其自身不懈的努力,其中很大一部分歸功于老師們所傳授的學(xué)習(xí)方法,極大地提高了學(xué)習(xí)效率。感覺王老師的教學(xué)方法很好,理論與實踐相結(jié)合,先理論后實踐,理論與實踐相結(jié)合。這對我們學(xué)習(xí)理論也很有幫助,也正是因為這種方法,我們才對單片機產(chǎn)生了濃厚的興趣。通過在實踐中找到自信,也驗證了理論的正確性。這種學(xué)習(xí)理論與實踐并舉的學(xué)習(xí)方式應(yīng)該得到推廣,可以彌補我國應(yīng)試教育的不足。王老師嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)態(tài)度、廣泛的理論知識、豐富的工作經(jīng)驗、務(wù)實的工作態(tài)度讓我受益匪淺。我不僅從他們身上學(xué)到了很多實用的方法,還學(xué)到了很多做人的道理,這對我的余生都有好處。在此,感謝王老師這學(xué)期的悉心指導(dǎo),我以后的生活和學(xué)習(xí)會做得更好。參考[1]光帝,朱月修,冷祖奇.微控制器基礎(chǔ)(第3版)。:航空航天大學(xué),2007.6。[2]宋偉.基于單片機MCS-51的智能密碼鎖設(shè)計[M].工程職業(yè)技術(shù)學(xué)院學(xué)報,2004,(01);[3]葉啟明.\o"單片機制作的新型安全密碼鎖"一種單片機制作的新型安全密碼鎖[J].家用電器,2005,(10);[4]董繼誠.一種新型安全單片密碼鎖[J].電子技術(shù),2004,(03);[5]郭海英.基于單片機的電子安全密碼鎖設(shè)計[M].現(xiàn)代電子技術(shù),2005,(13);[6]何立民.單片機應(yīng)用技術(shù)選集[M],航空航天大學(xué),1998;[7]華.MCS-51系列單片機采用接口技術(shù)[M],航空航天大學(xué),1993;單片機典型系統(tǒng)設(shè)計實例精講[M],:電子工業(yè),2006;至經(jīng)過暑假的入門培訓(xùn)和一學(xué)期的單片機學(xué)習(xí),學(xué)期末完成了電子密碼鎖的設(shè)計項目。本次設(shè)計得到了王任老師和同學(xué)們的大力支持和幫助,感激不盡! 限于我的能力和水平,錯誤和不妥在所難免,望老師批評指正。附錄附件一元器件數(shù)量及規(guī)格表1元器件數(shù)量及規(guī)格姓名數(shù)量規(guī)格單片機1AT89S52串行程序存儲器1AT24C02液晶顯示器1FYD12864-0402B電解電容器122μF普通電容器233pF排除410K可調(diào)電阻10~~100K反抗60.2K一、1K二、10K三、蜂鳴器1三極管18550六腳開關(guān)1四針鍵盤17附錄2液晶系統(tǒng)總示意圖圖1液晶系統(tǒng)一般示意圖附錄3LCD系統(tǒng)PCB圖圖2LCD系統(tǒng)PCB圖附錄4液晶系統(tǒng)3D圖圖3液晶系統(tǒng)3D圖附錄5底部PCB圖圖4底部PCB圖附錄6頂層PCB圖圖5頂層PCB圖附錄7絲印層PCB圖圖6絲印層PCB圖附錄8參考程序/************************************************//*名稱:密碼鎖*//*要求:功能要求:設(shè)計具有特定功能的密碼鎖。(1)有系統(tǒng)原密碼88888888;(2)用戶可以自定義密碼;(3)有超級密碼,在特殊情況下使用;(4)輸入密碼時,應(yīng)處于顯示狀態(tài)。密碼輸入正確后,應(yīng)顯示密碼輸入正確的提示信息。否則會顯示密碼輸入錯誤的提示信息。密碼連續(xù)輸入錯誤3次,則不允許輸入,并報警。(5)系統(tǒng)崩潰重啟后,變?yōu)樵瓉淼某跏紶顟B(tài)/*時間:2012年10月22日*/ /*邱正光*//************************************************/#include<reg52.h>#include<intrins.h>#defineuchar無符號字符#defineuint無符號整數(shù)位rs=P3^1;sbitrw=P3^6;sbiten=P3^7;#define OP_READ 0xa1 //匹配讀操作的設(shè)備地址#define OP_WRITE0xa0 //匹配寫操作的設(shè)備地址 #define MAX_ADDR0x7f //AT24C02最地址uchar碼dis_code[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};//0-9,數(shù)據(jù)串寫入AT24C01uchar代碼surper_code[]={0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39};//99999999超級密碼ucharmima[]={0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38}; //原始密碼是88,最后一個標(biāo)志位uchar密碼1[7]={0};uchar用戶密碼[7]={0}; //原密碼88 位P3_0=P3^0;位SDA=P2^3; //串行數(shù)據(jù)/地址位SCL=P2^4; //串行時鐘位富和=0,aa; //自定義溢出標(biāo)志位ucharw=0;uchar表[10]; //存儲原始密碼,可以比較uchar表2[10]; //存儲用戶自定義密碼,可以比較ucharfind_code1[16]=""; //緩沖區(qū)數(shù)組1 ucharfind_code2[16]="";//緩沖區(qū)數(shù)組2/************************函數(shù)聲明*****************************/voidDisplay_String(uchar*p,uchar); //顯示要寫入的信息ucharkey_return(); //返回鍵掃描鍵值uchar鍵掃描(無效); //按鍵掃描函數(shù)無效清除密碼(); //清除密碼函數(shù)voiddelay(uintm);//延時函數(shù)無效寫入命令(uchar命令); //LCD寫命令函數(shù)無效寫入數(shù)據(jù)(uchar日期); //LCD寫數(shù)據(jù)函數(shù)無效液晶集(無效);//LCD設(shè)置函數(shù)無效顯示(uchary,ucharx,uchar*p); //LCD顯示函數(shù)/*****24c02相關(guān)函數(shù)********/無效延遲(ucharms); //延遲子程序無效開始(); //起始位無效停止(); //停止位ucharshin(); //將數(shù)據(jù)從AT24Cxx轉(zhuǎn)移到MCU 位喊(ucharwrite_data); //將數(shù)據(jù)從MCU轉(zhuǎn)移到AT24Cxxvoidwrite_byte(ucharaddr,ucharwrite_data); //在指定地址寫入數(shù)據(jù)addrwrite_data無效填充字節(jié)(uchar填充數(shù)據(jù)); //填充數(shù)據(jù)fill_data到EEPROM ucharread_current(); //在當(dāng)前地址讀取ucharread_random(ucharrandom_addr);//在指定地址讀取/************************************************************************/無效主要(無效){ ucharu,temp2,k,surper=0; uchari,w,j=0,ii=0,n=0; //uchart;F: SDA=1; //2線串行接口 SCL=1; 填充字節(jié)(0xff); 液晶集(); 寫命令(0x01); w=read_random(8); //從24c02的第十位讀取m的值。如果m為0,表示用戶沒有修改密碼,轉(zhuǎn)24c02讀取原密碼 if(w==2)//w為2,表示一旦用戶修改了密碼,轉(zhuǎn)24c02讀出新密碼 {for(i=0;i<8;i++) {mima[i]=read_random(i);} //循環(huán)讀取24Cxx內(nèi)容 }s: display(1,1,"歡迎使用密碼鎖");display(2,1,"密碼:");display(4,1,"確認(rèn)A");display(4,6,"重新輸入E"); 而(1) { temp2=key_return(); 開關(guān)(溫度2) { 案例0x30:案例0x31:案例0x32:案例0x33:案例0x34:案例0x35:案例0x36:案例0x37:案例0x38:案例0x39: 如果(ii<=7) { 用戶密碼[ii]=temp2; find_code1[ii]='*'; Display_String(find_code1.0x88); ⅱ++; }休息; case10: //一個開鎖確認(rèn)鍵 {{if((mima[0]==Userpassword[0])&&(mima[1]==Userpassword[1])&&(mima[2]==用戶密碼[2])&&(mima[3]==用戶密碼[3])&&(mima[4]==用戶密碼[4])&&(mima[5]==用戶密碼[5])&&(mima[6]==用戶密碼[6])&&(mima[7]==用戶密碼[7])) 富和=1; 別的 富和=0; } if(fuhe==1) { 富和=0; ii=0; 清除密碼(); //清除密碼功能 display(3,1,"成功打開"); u=1; //解鎖后可以修改密碼 j=0; display(4,1,"確認(rèn)A");display(4,6,"修改C"); } 別的 {j++; 清除密碼(); display(3,1,"請重新輸入!"); u=0; } ii=0; 休息; } case12: //c設(shè)置新密碼 { if(!u) //解鎖前不能設(shè)置新密碼 { 我=0; display(3,2,"操作錯誤!"); 延遲(250); } 否則{i=0; display(2,1,"新密碼:"); 顯示(3,2,“”); display(4,1,"保存D");display(4,6,"RetypeE"); }休息; } case13: //D保存新密碼 {如果你) {我=0; } 別的 {二=0; SDA=1; SCL=1; 填充字節(jié)(0xff); 液晶集(); 延遲(50); 寫命令(0x01); f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論