版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué) 號: 課 程 設(shè) 計(jì)題 目電子鬧鐘的設(shè)計(jì)與制作學(xué) 院信息工程學(xué)院專 業(yè)電子信息工程班 級 姓 名指導(dǎo)教師 2016年 1 月9 日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位: 信息工程學(xué)院 題 目: 電子鬧鐘的設(shè)計(jì)仿真與制作 初始條件:(1)PROTEUS、KEIL、WAVE等軟件;(2)課程設(shè)計(jì)輔導(dǎo)書:單片微型計(jì)算機(jī)與接口技術(shù)要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)(1)課程設(shè)計(jì)時間:1 周;(2)課程設(shè)計(jì)題目:電子鬧鐘的設(shè)計(jì)仿真與制作;(3)本課程設(shè)計(jì)統(tǒng)一技術(shù)要求:本系統(tǒng)采用單片機(jī)AT89C52作為本設(shè)計(jì)的核心元件,利用7段LE
2、D作為顯示器件。接入LED顯示器,可顯示時、分鐘、秒、單片機(jī)外圍接有定時報警系統(tǒng),定時時間到,揚(yáng)聲器發(fā)出報警聲。電路由下列部分組成:時鐘電路、復(fù)位電路、LED顯示,報警電路,芯片選用AT89C52單片機(jī)。 (4)課程設(shè)計(jì)說明書按學(xué)?!罢n程設(shè)計(jì)工作規(guī)范”中的“統(tǒng)一書寫格式”撰寫,并標(biāo)明參考文獻(xiàn)。(5)寫出本次課程設(shè)計(jì)的心得體會。時間安排:第18周指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄摘要1Abstract21 軟件介紹31.1 Proteus31.2 Kell41.3 Wave600042 設(shè)計(jì)方案53 硬件設(shè)計(jì)63.1芯片AT89C5263.2 喇叭SPEAKER
3、83.3 時鐘電路83.4顯示器模塊的設(shè)計(jì)94 軟件設(shè)計(jì)114.1劃分模塊114.2程序流程圖114.3模塊程序154.3.1 時間的設(shè)置程序154.3.2 鬧鐘時間的設(shè)置程序174.3.3 喇叭響應(yīng)程序194.4 數(shù)碼顯示205 系統(tǒng)仿真216 課設(shè)過程中的體會257 心得體會26參考文獻(xiàn)27附錄A 源程序代碼28附錄B 系統(tǒng)原理圖39附錄C 實(shí)物圖40本科生課程設(shè)計(jì)成績評定表41摘要本課程設(shè)計(jì)主要是通過單片機(jī)AT89C52,綜合運(yùn)用定時器、中斷、數(shù)碼顯示等知識設(shè)計(jì)一個可定時的電子鐘。它包括系統(tǒng)總體方案及硬件設(shè)計(jì),軟件設(shè)計(jì),Proteus軟件仿真等部分。硬件設(shè)計(jì)的主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,
4、以及在所選機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲器,I/O電路及有關(guān)外圍電路等然后設(shè)計(jì)出系統(tǒng)的電路原理圖。合理的軟件結(jié)構(gòu)是設(shè)計(jì)出一個性能優(yōu)良的單片機(jī)應(yīng)用性系統(tǒng)軟件的基礎(chǔ),因此必須充分重視。編寫完程序后在用Proteus軟件仿真檢查設(shè)計(jì)是否合理。關(guān)鍵詞:可定時電子鐘,軟件,硬件,AT89C52AbstractThis course design mainly by single chip microcomputer system, the integrated use of the timer, interrupt, digital display, such as knowledge to d
5、esign a can timing electronic clock. It including the system overall scheme and hardware design, software design, and Proteus simulation software.Is the main task of the hardware design based on the general design requirements, and on the basis of the selected type, determine the system extensions t
6、o use memory, I/O circuit and related peripheral circuit, and then design the circuit principle diagram of the system.The reasonable structure of software is to design a good performance of the basis of single chip microcomputer application system software, so must full attention. After writing the
7、program in use Proteus software simulation check whether the design is reasonable.Keywords:timing electronic clock software, hardware, AT89C521 軟件介紹 1.1 ProteusProteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單
8、片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。
9、由于PROTEUS提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)。可使設(shè)計(jì)時間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險。相信在單片機(jī)開發(fā)應(yīng)用中PROTEUS也能茯得愈來愈廣泛的應(yīng)用。使用Proteus 軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真軟件的操作能力;在單片機(jī)課程設(shè)計(jì)和全國大學(xué)生電子設(shè)計(jì)競
10、賽中,我們使用 Proteus 開發(fā)環(huán)境對學(xué)生進(jìn)行培訓(xùn),在不需要硬件投入的條件下,學(xué)生普遍反映,對單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實(shí)踐證明,在使用 Proteus 進(jìn)行系統(tǒng)仿真開發(fā)成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。因此,Proteus 有較高的推廣利用價值。 1.2 Kell keilKeil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方
11、案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。 1.3 Wave6000 wave6000,這個軟件是南京偉福公司的單片機(jī)開發(fā)軟件,一般就是用在C51單片機(jī)。不需要購買仿真器,使用軟件模擬器就可以了,使用很方便的。 也支持KEILC,但最好不要在WAVE內(nèi)使用C,如果想用C編寫,還是用KEIL C方便。WAVE6000編譯軟件,采用中文界面。用戶源程
12、序大小不受限制,有豐富的窗口顯示方式,能夠多方位、動態(tài)地展示程序的執(zhí)行過程。其項(xiàng)目管理功能強(qiáng)大,可使單片機(jī)程序化大為小,化繁為簡,便于管理。另外,其書簽、斷點(diǎn)管理功能以及外設(shè)管理功能等為51單片機(jī)的仿真帶來極大的便利。2 設(shè)計(jì)方案 本課程設(shè)計(jì)的定時鬧鐘采用單片機(jī)AT89C52芯片作為核心芯片,用匯編語言進(jìn)行編程,時、分、秒用6位LED數(shù)碼管顯示。在電路中通過四個按鍵S1、S2、S3和S4來進(jìn)行定時和調(diào)時,定時時間到通過喇叭發(fā)出報警聲。 電路由下列部分組成:時鐘電路、復(fù)位電路、控制電路、LED顯示,報警電路,芯片選用AT89C52 單片機(jī)。系統(tǒng)框圖:晶振及復(fù)位 單片機(jī)AT89C52RESPACK
13、-8鍵盤(按鈕)SPEAKER喇叭圖2.1 系統(tǒng)框圖3 硬件設(shè)計(jì) 3.1芯片AT89C52AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,可穩(wěn)定地工作于5V的電源下。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C52是一種高效微控制器。圖3.1 AT89C52引腳圖AT89C52管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口
14、為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。此外,與AT89C51不同之處是,P1.0和P1.1還可分別作為
15、定時/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸出(P1.1/T2EX) P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 P3口:P3口是一個具有內(nèi)部上
16、拉電阻的8位雙向I/O口,P3輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電平。對P3口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入端口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ILL。P3口除了作為一般、的I/O口線外,更重要的是它的第二功能,如表3.1所示表 3.1 P3口引腳第二功能引腳號第二功能P3.0 RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存
17、儲器讀選通)在Flash編程和校驗(yàn)時,P3口也接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果
18、微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 3.2 喇叭SPEAKE
19、R由P3.7口控制喇叭,使其定時時間到能發(fā)出報警聲。 3.3 時鐘電路單片機(jī)的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHz12MHz之間。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF100pF之間取值。AT98C52單片機(jī)的時鐘電路。如圖3.2所示。XTAL2AT89C52XTAL1圖3.2 AT98C52單片機(jī)的時鐘電路 上拉電阻:RESPACK8控制按鍵:BUTTON ACTIVE SPST Push
20、Button本系統(tǒng)要進(jìn)行時間的調(diào)整和定時,因此用4個手動按鍵對其進(jìn)行控制。 3.4顯示器模塊的設(shè)計(jì) 利用7SEG-MPX6-CC-BLUE數(shù)字顯示器的1-6引腳連接AT89C51單片機(jī) P2.0 P2.5接口,其他8個引腳分別與AT89C51單片機(jī)的P0.0 - P0.7和共陽極管RESPACK-8排阻的 2 - 9 引腳分別連接。數(shù)碼管:7SEG-MPX6-CC-BLUE單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫。LED顯示器由于結(jié)構(gòu)簡單,價格便宜,體積小,亮度高,電壓低,可靠性高,壽命長,響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機(jī)接口方便而得到廣泛應(yīng)用。LED顯示器是由若干個
21、發(fā)光二極管組成顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點(diǎn)或一個筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。LED顯示器有多種形式,如:“米”字型顯示器,點(diǎn)陣顯示器和七段數(shù)碼顯示器等,在單片機(jī)系統(tǒng)中使用最多的是七段數(shù)碼顯示器。因?yàn)楣碴帢O的LED數(shù)碼管它的驅(qū)動電流是分開的,在單片機(jī)進(jìn)行動態(tài)掃描的時候不會影響彼此的電流,故該系統(tǒng)中的6位LED數(shù)碼管均用共陰極的數(shù)碼管。如圖3.3所示圖3.3 六位七段數(shù)碼管4 軟件設(shè)計(jì) 4.1劃分模塊根據(jù)設(shè)計(jì)要求,定時鬧鐘程序可分為以下幾個模塊:1)顯示時間的設(shè)置;2)鬧鐘時間的設(shè)置:3)定時時間的響應(yīng)。 4.2程序流程圖開始初始化按下S1顯示時
22、間YNNS3是否按下?S4是否按下?喇叭響YY按S3設(shè)置小時數(shù)按S2設(shè)置小時數(shù)按S2設(shè)置分鐘數(shù)按S4設(shè)置分鐘數(shù)NS1是否按下?Y圖4.1 總流程圖顯示時間S4是否按下?NYS2是否按下?S3是否按下?NY小時數(shù)+1分鐘數(shù)+1Y小時數(shù)+1Y是否=60?是否=24?NNY是否=60? 置零Y顯示分鐘值顯示小時值 返回調(diào)用圖4.2 設(shè)置顯示時間的流程圖顯示時間S3是否按下?NYS4是否按下?S2是否按下?N顯示分鐘值分鐘數(shù)+1YY小時數(shù)+1小時數(shù)+1Y是否=60?是否=24?NNY是否=60? 置零Y顯示小時值 返回調(diào)用圖4.3 設(shè)置鬧鐘時間流程圖當(dāng)前時間與定時時間相等?NY喇叭響應(yīng)當(dāng)前時間與定時時
23、間不等?NY按下S1喇叭停止響應(yīng)返回調(diào)用圖4.4 喇叭響應(yīng)流程圖4.3模塊程序 4.3.1 時間的設(shè)置程序 如下:SETTIME: L0:LCALL DISPLAY1 MM1: JB P1.2,L1 ;P1.2=1時轉(zhuǎn)移 MOV C,P1.2 JC MM1 LCALL DELAY1 ;延時 JC MM1MSTOP1: MOV C,P1.2 JNC MSTOP1 ;P1.2為0時轉(zhuǎn)移 LCALL DELAY1 ;延時 MOV C,P1.2 JNC MSTOP1 INC 22H ;小時自加一 MOV A,22H CJNE A,#18H,GO12 ;小時計(jì)數(shù)循環(huán) MOV 22H,#00H ;復(fù)位 M
24、OV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.1,L2 ;P1.1=1時轉(zhuǎn)移 MOV C,P1.1 JC L1 LCALL DELAY1 ;延時 JC L1MSTOP2: MOV C,P1.1 JNC MSTOP2 ;P1.10時轉(zhuǎn)移 LCALL DELAY1 ;延時 MOV C,P1.1 JNC MSTOP2 INC 21H ;分鐘加一 MOV A,21H CJNE A,#3CH,GO11 ;分鐘計(jì)數(shù)循環(huán) MOV 21H,#00H ; 復(fù)位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH DIV AB
25、MOV 32H,B ; 將A的高4位存入32單元 MOV 33H,A ; 將A的低4位存入33單元 LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B ;將A的高4位存入34單元 MOV 35H,A ;將A的低4位存入35單元 LJMP L0 L2:JB P1.0,L0 ; P1.01時轉(zhuǎn)移 MOV C,P1.0 JC L2 LCALL DELAY1 ;延時 MOV C,P1.0 JC L2 STOP1:MOV C,P1.0 JNC STOP1 ; P1.00時轉(zhuǎn)移 LCALL DELAY1 ;延時 MOV C,P1.0 JNC STOP1 LJMP LOOP 4
26、.3.2 鬧鐘時間的設(shè)置程序SETATIME:LCALL DISPLAY2 ;調(diào)用DISPLAY2 N0:LCALL DISPLAY2 MM2: JB P1.1,N1 ;P1.1=1時轉(zhuǎn)移 MOV C,P1.1 JC MM2 LCALL DELAY1 ; 延時 JC MM2 MSTOP3:MOV C,P1.1 JNC MSTOP3 ; P1.10時轉(zhuǎn)移 LCALL DELAY1 ; 延時 MOV C,P1.1 JNC MSTOP3 INC 24H ;小時加一 MOV A,24H CJNE A,#24,GO22 ;小時計(jì)數(shù)循環(huán) MOV 24H,#00H ;復(fù)位 MOV 38H,#00H MOV
27、39H,#00H LJMP N0 N1:JB P1.3,N2 ;P1.31時轉(zhuǎn)移 MOV C,P1.3 JC N1 LCALL DELAY1 ;延時 JC N1MSTOP4: MOV C,P1.3 JNC MSTOP4 ;P1.30時轉(zhuǎn)移 LCALL DELAY1 ;延時 MOV C,P1.3 JNC MSTOP4 INC 23H ;分鐘加一 MOV A,23H CJNE A,#60,GO21 ;分鐘計(jì)數(shù)循環(huán) MOV 23H,#00H ;復(fù)位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B ;將A的高4位存入
28、36單元 MOV 37H,A ;將A的低4位存入37單元 LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B ;將A的高4位存入38單元 MOV 39H,A ;將A的低4位存入39單元 LJMP N0 N2:JB P1.0 ,N0 ;P1.01時轉(zhuǎn)移 MOV C,P1.0 JC N2 LCALL DELAY1 ;延時 MOV C,P1.0 JC N2STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 JNC STOP2 LJMP LOOP 4.3.3 喇叭響應(yīng)程序 TIMEPRO:MOV A,21H MOV B,
29、23H CJNE A,B,BK ;判斷定時鬧鐘的分鐘 MOV A,22H MOV B,24H CJNE A,B,BK ;判斷定時鬧鐘的小時 SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;調(diào)用TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ ;用喇叭響應(yīng)程序 LCALL DISPLAY2 ;延時 CLR 25H.0 ;調(diào)用喇叭響應(yīng)程序結(jié)束 JB P1.0, X1 ;P1.01時轉(zhuǎn)移 LCALL DELAY CLR 25H.0 LJMP DISPLAY1 ;延時 BZ:CLR P3.7 MOV R7,#250 ;喇叭響應(yīng)時間
30、T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET4.4 數(shù)碼顯示將所編程序在WAVE里進(jìn)行編譯,編譯正確后生成HEX文件。在AT89C51芯片中加載此文件后,進(jìn)行仿真。系統(tǒng)運(yùn)行后,能準(zhǔn)確的顯示時間。通過S1、S2、S3和S4四個按鍵,能夠?qū)r間進(jìn)行修改和鬧鐘的設(shè)置。定時時間到能發(fā)出報警聲。如圖4.2所示。圖4.2 5 系統(tǒng)仿真通過S1、S2、S3和S4四個按鍵,對時間進(jìn)行修改和鬧鐘的設(shè)置。定時時間到能發(fā)出報警聲,使用偉福軟件編輯程序,在仿真設(shè)置中選擇E6000/T仿真器,選擇POD-51仿真頭,選擇8031CPU進(jìn)行匯編程序編輯,然
31、后進(jìn)行proteus進(jìn)行仿真,其仿真圖如下:系統(tǒng)初始狀態(tài)如圖5.1所示。圖5.1 初始狀態(tài)按下S1鍵后數(shù)值不變,秒指示仍然自動跳躍。當(dāng)按下S3后定時,此時顯示的是程序中設(shè)定的鬧鐘響應(yīng)的時間,如圖5.2所示。 圖5.2 按S2鍵可以對時指示進(jìn)行修改,如圖5.3所示。圖5.3按S4鍵可以對分指示進(jìn)行修改,如圖5.4所示。圖5.4按下S1鍵后數(shù)值不變,秒指示仍然自動跳躍。此時顯示的是電子表的時間,如圖5.5所示。 圖5.5 當(dāng)按下S4后,再按S3鍵可以對時指示進(jìn)行修改,如圖5.6所示。圖5.6再按S2鍵可以對分指示進(jìn)行修改,如圖5.7所示。圖5.76 課設(shè)過程中的體會(1) 由于電路用Proteus
32、仿真是正確的,但是在實(shí)物操作過程中,單片機(jī)開發(fā)板的八段數(shù)碼管的顯示一直是亂碼的。經(jīng)過我們的反復(fù)排查,發(fā)現(xiàn)由于我們的片選只需要6根,但是我們用了有八根孔的排插,將所有的片選端口P2與數(shù)碼管連接了起來。最后,我們一根一根地連接P2端口與六位七段數(shù)碼片選端口起來。終于,數(shù)碼管的顯示是正確的了。(2) 由于我們的電子鬧鐘的要求是可定時,可更改顯示時間與到時間要求蜂鳴器報警,功能較多。所以,我們劃分了三大模塊來編寫代碼,然后分別用Wave來調(diào)試。這樣就大大減小了我們的負(fù)擔(dān)。(3) 在用STC軟件燒程序進(jìn)入集成板的過程中,我們選錯了芯片,造成結(jié)果是錯誤的。這教會了我做課設(shè)的時要細(xì)心,遇到問題要有耐心。7
33、心得體會 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在,作為二十一世紀(jì)的大學(xué)生來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。 通過本次單片機(jī)原理及應(yīng)用課程設(shè)計(jì)使我充分認(rèn)認(rèn)到了課程設(shè)計(jì)的理要性和必要性,本次設(shè)計(jì)使我對已學(xué)過的基礎(chǔ)知識有了更深入的理解,學(xué)會了獨(dú)立思考、獨(dú)立工作以及對應(yīng)用所學(xué)基本理論分析和解決實(shí)際問題的能力有了很大的提高。另外,本次設(shè)計(jì)使我的實(shí)際操作技能得到了訓(xùn)練, 同時也進(jìn)一步培養(yǎng)了我嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)。
34、回顧起此次單片機(jī)課程設(shè)計(jì),從選題到定稿,從理論到實(shí)踐,在整整一星期的日子里,可以說得是苦多于甜,但是從中卻學(xué)到很多很多的的東西,不但鞏固了以前所學(xué)過的知識,而且對單片機(jī)原理課外知識也的到了拓展。做的過程中,開始的確遇到了不少困難的問題,比如說芯片管腳不熟悉怎么放置,對單片機(jī)匯編語言掌握得不好等等,同時在這過程中也發(fā)現(xiàn)了自己的許多不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。 通過單片機(jī)課程設(shè)計(jì)之后,我不僅加深了對單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我們還學(xué)會了如何去培養(yǎng)創(chuàng)新精神和嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng),從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會了堅(jiān)
35、持不懈,不輕易言棄。參考文獻(xiàn)1.李朝青.單片機(jī)原理及接口技術(shù)(修訂版).北京:北京航空航天大學(xué)出版社,19982. 何立民.單片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社, 19943.張毅剛. 單片機(jī)原理及接口技術(shù).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,19904李群芳.單片微型計(jì)算機(jī)與接口技術(shù). 北京:電子工業(yè)出版社,20125.Mak.S,Radford.D,Designconsiderationsforimplementationoflargescaleautomaticmeterreadingsystems,PowerDelivery,IEEETransactionson,Volume10
36、,Issue1,Jan.19956.余發(fā)山主編,單片機(jī)原理及應(yīng)用技術(shù),中國礦業(yè)大學(xué)出版社2003.12附錄A 源程序代碼ORG 0000H LJMP MAIN ORG 000BH LJMP TIME* MAIN PROGRAM * ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;BIN SECOND MOV 21H,#00H ;BIN MINUTE MOV 22H,#00H ;BIN HOUR MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H MOV 32H
37、,#00H ;BCD MINUTE MOV 33H,#00H MOV 34H,#00H ;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位計(jì)數(shù)器 MOV TH0,#03CH ;賦初值 MOV TL0,#0B0H MOV IE,# ;中斷允許 SETB TR0 ;啟動T0 MOV R2,#14H MOV P2,#0FFH LOOP:LCALL TIMEPRO LCALL DISPLAY1 JB P1.3,M1 ;P1.31時轉(zhuǎn)移 LCALL SETTIME ;調(diào)
38、用SETTIME子程序 LJMP LOOP M1:JB P1.2,M2 ;P1.2=1時轉(zhuǎn)移 LCALL SETATIME ;調(diào)用SETTIME子程序 LJMP LOOP M2:JB P1.0,M4 ;P1.01時轉(zhuǎn)移 LCALL LOOKATIME ;調(diào)用LOOKATIME子程序 M4:LJMP LOOP DELAY:MOV R4,#030H ;延時 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET SETTIME: L0:LCALL DISPLAY1 MM1: JB P1.2,L1 ;P1.2=1時轉(zhuǎn)移 MOV C,P1.2 JC MM1 LCALL DELAY1 ;延時 JC MM1MSTOP1: MOV C,P1.2 JNC MSTOP1 ;P1.2為0時轉(zhuǎn)移 LCALL DELAY1 ;延時 MOV C,P1.2 JNC MSTOP1 INC 22H ;小時自加一 MOV A,22H CJNE A,#18H,GO12 ;小時計(jì)數(shù)循環(huán) MOV
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國醫(yī)藥外包服務(wù)市場供需狀況與投資規(guī)劃研究報告
- 2025-2030全球與中國應(yīng)用服務(wù)器行業(yè)發(fā)展現(xiàn)狀及趨勢預(yù)測分析研究報告
- 2026年浙江盛達(dá)鐵塔有限公司招聘備考題庫及完整答案詳解1套
- 中共珠海市委黨校2026年公開招聘教師備考題庫及參考答案詳解1套
- 2025至2030礦業(yè)自動化裝備市場趨勢與風(fēng)險投資機(jī)會研究報告
- 2026年長沙市公安局巡特警支隊(duì)公開招聘普通雇員備考題庫帶答案詳解
- 建筑工程安全課件
- 2026年昭通市公安局招聘輔警備考題庫有答案詳解
- 2025-2030中國啤酒行業(yè)深度發(fā)展研究與“”企業(yè)投資戰(zhàn)略規(guī)劃報告
- 2026年雁塔區(qū)華育小天使幼兒園招聘5人備考題庫及完整答案詳解一套
- 2026上海碧海金沙投資發(fā)展有限公司社會招聘參考題庫含答案
- 2025年中小學(xué)校長選拔筆試試題及答案
- 光伏發(fā)電項(xiàng)目設(shè)備維護(hù)合同范本
- 2026內(nèi)蒙古華能扎賚諾爾煤業(yè)限責(zé)任公司招聘50人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年京東慧采廠直考試京東自營供應(yīng)商廠直考試題目及答案
- JJG 1148-2022 電動汽車交流充電樁(試行)
- 周黑鴨加盟合同協(xié)議
- 黃色垃圾袋合同
- 骨科手術(shù)術(shù)前宣教
- 電梯安全培訓(xùn)課件下載
- 事業(yè)單位職工勞動合同管理規(guī)范
評論
0/150
提交評論