基于單片機(jī)的智能定時(shí)器微機(jī)控制與接口技術(shù)課程設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的智能定時(shí)器微機(jī)控制與接口技術(shù)課程設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的智能定時(shí)器微機(jī)控制與接口技術(shù)課程設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的智能定時(shí)器微機(jī)控制與接口技術(shù)課程設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的智能定時(shí)器微機(jī)控制與接口技術(shù)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

西華大學(xué)課程設(shè)計(jì)說(shuō)明書(shū) 成績(jī) 課 程 設(shè) 計(jì) 說(shuō) 明 書(shū) 課程設(shè)計(jì)名稱(chēng): 微機(jī)控制與接口技術(shù)課程設(shè)計(jì) 題 目: 智能定時(shí)器 專(zhuān) 業(yè): 袁世斌 學(xué) 號(hào): 312010080608217 指 導(dǎo) 教師: 陳立功 日期:2013年12月13日摘 要本次設(shè)計(jì)以AT89C51芯片為核心,輔以必要的外圍電路,設(shè)計(jì)了一個(gè)簡(jiǎn)易的電子時(shí)鐘,它由5V直流電源供電。在硬件方面,除了CPU外,使用四個(gè)七段LED數(shù)碼管來(lái)進(jìn)行顯示,LED采用的是動(dòng)態(tài)掃描顯示。通過(guò)LED能夠比較準(zhǔn)確顯示時(shí)、分。三個(gè)簡(jiǎn)單的按鍵實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。軟件方面采用匯編語(yǔ)言編程。整個(gè)電子鐘系統(tǒng)能完成時(shí)間的顯示,調(diào)時(shí),定時(shí)鬧鐘,報(bào)警等功能。 本設(shè)計(jì)是以ATMEL公司的AT89C51單片機(jī)芯片為系統(tǒng)核心的智能定時(shí)控制器設(shè)計(jì),論文具體描述了設(shè)計(jì)的系統(tǒng)硬件和軟件的具體實(shí)現(xiàn)過(guò)程。智能定時(shí)控制器在硬件、軟件設(shè)計(jì)上均采用模塊化的方法,使得在設(shè)計(jì) 和調(diào)試方面取得很大的方便。論文重點(diǎn)闡述了數(shù)字鐘硬件中MCU模塊、按鍵模塊、顯示模塊等相關(guān)模塊的模塊化設(shè)計(jì)及制作;軟件同樣采用模塊化的設(shè)計(jì),包括中斷模塊、時(shí)間調(diào)整模塊等設(shè)計(jì),并采用簡(jiǎn)單流通性強(qiáng)的C語(yǔ)言編寫(xiě)實(shí)現(xiàn)。本設(shè)計(jì)實(shí)現(xiàn) 了年、月、日及時(shí)、分、秒的顯示和時(shí)間修改的功能。通過(guò)對(duì)比實(shí)際的智能定時(shí)控制器,查找出誤差的來(lái)源,確定調(diào)整誤差的方法,盡可能的減少誤差,使得系統(tǒng)可以達(dá)到實(shí)際智能定時(shí)控制器的允許誤差范圍內(nèi),取得了設(shè)計(jì)的預(yù)期效果。關(guān)鍵詞:AT89C51 數(shù)碼管 模塊化 數(shù)字鐘 abstract This design USES AT89C51 chip as the core, supplemented by necessary peripheral circuit, design a simple electronic clock, it consists of 5 v dc power supply.In terms of hardware, in addition to the CPU, using four seven-segment LED digital tube display, LED using a dynamic scanning display.Through to compare accurate LED display, points.Three simple button realize adjustment of time.Software using assembly language programming.Can finish the whole electronic clock system time display, adjustment, timing alarm clock, alarm, etc. This design is based on AT89C51 chip as the core of the system of ATMEL company smart timing controller design, the paper describes the design of system hardware and software of the concrete implementation process.Smart timing controller in hardware, software design adopt modular approach, made in the design and debugging has made a lot of convenience.Paper expounds the digital clock hardware of MCU module, keys module, display module and other related modules of modular design and production;Software also adopts modular design, including the interrupt module, time adjust module design, and USES the simple liquidity strong C language to achieve.This design has realized the years, months, days, minutes and seconds in time display and the function of the time change.By comparing the actual smart timing controller, find out the source of the error, determine the method of adjusting error, reduce errors, makes the system can achieve the actual intelligence within the scope of permissible error time controller, design the expected results have been achieved. Keywords: AT89C51 digital tube modular digital clock目 錄1前言42總體設(shè)計(jì)方案設(shè)計(jì)52.1要求功能52.2.單片機(jī)芯片52.3顯示模塊52.4時(shí)鐘芯片的選擇52.5電路設(shè)計(jì)方案確定53硬件電路設(shè)計(jì)73.1硬件系統(tǒng)設(shè)計(jì)的概述7 3.2 AT89C51單片機(jī)73.3單片機(jī)的定時(shí)/中斷系統(tǒng)83.4 顯示系統(tǒng)10 3.5 報(bào)警電路103.6 按鍵電路113.7 電源設(shè)計(jì)113.8 單片機(jī)最小系統(tǒng)123.8.1單片機(jī)的復(fù)位電路123.8.2單片機(jī)的復(fù)位電路12 3.9單片機(jī)系統(tǒng)的晶振電路134 軟件部分設(shè)計(jì)154.1主程序154.2初始化程序174.3顯示程序174.4中斷程序165系統(tǒng)調(diào)試185.1系統(tǒng)調(diào)試概述185.1系統(tǒng)調(diào)試結(jié)果187結(jié) 論19參 考 文 獻(xiàn)20附錄1:系統(tǒng)主程序圖21附錄2:系統(tǒng)仿真原理圖231前言隨著產(chǎn)業(yè)結(jié)構(gòu)的不斷調(diào)整、生產(chǎn)工藝的飛速發(fā)展、人們生活水平的不斷提高及家用電器的逐漸普及, 市場(chǎng)對(duì)定時(shí)控制系統(tǒng)的需求越來(lái)越大. 如, 定時(shí)自動(dòng)報(bào)警、定時(shí)自動(dòng)打鈴、定時(shí)開(kāi)關(guān)烘箱、定時(shí)通斷動(dòng)力設(shè)備以及各種電氣的定時(shí)啟動(dòng)等都屬于定時(shí)控制系統(tǒng) 1 . 定時(shí)控制系統(tǒng)的實(shí)現(xiàn)方法很多, 本文主要介紹以80C51 系列單片機(jī)中的AT89C51 為核心的智能定時(shí)控制系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方式. 80C51 系列單片機(jī)進(jìn)入市場(chǎng)時(shí)間早, 總線(xiàn)開(kāi)放, 仿真開(kāi)發(fā)設(shè)備多, 芯片及其開(kāi)發(fā)價(jià)格低廉、速度較快、電磁兼容性較好. 本文所述智能時(shí)鐘控制系統(tǒng)主要包括時(shí)鐘顯示、時(shí)間校正、鬧鈴設(shè)置及各種設(shè)備定時(shí)開(kāi)關(guān)機(jī)( 可擴(kuò)展功能) 等功能. 實(shí)時(shí)日歷和時(shí)鐘顯示的設(shè)計(jì)過(guò)程在硬件與軟件方面進(jìn)行同步設(shè)計(jì)。硬件部分主要由AT89S52單片機(jī),LED顯示電路,以及調(diào)時(shí)按鍵電路等組成,系統(tǒng)通過(guò)LED顯示數(shù)據(jù),所以具有人性化的操作和直觀(guān)的顯示效果。軟件方面主要包括時(shí)鐘程序、鍵盤(pán)程序,顯示程序等。本系統(tǒng)以單片機(jī)的匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì),為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了,以便更簡(jiǎn)單地實(shí)現(xiàn)調(diào)整時(shí)間及日期顯示功能。所有程序編寫(xiě)完成后,在keil2軟件中進(jìn)行調(diào)試,確定沒(méi)有問(wèn)題后,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真在日新月異的21世紀(jì)里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有CPU控制器或者是單品具有便攜實(shí)用,操作簡(jiǎn)單的特點(diǎn)。2總體方案設(shè)計(jì)2.1要求功能1、 時(shí)間顯示:用4位數(shù)碼管顯示當(dāng)前小時(shí)和分鐘,秒功能用兩LED燈代替(每秒閃爍一次)。2、 可手動(dòng)設(shè)定時(shí)間。3、 開(kāi)機(jī)流程:系統(tǒng)有紅色和藍(lán)色指示燈,上電10S內(nèi),每秒紅色指示燈閃爍一次,并伴有蜂鳴聲,作為開(kāi)機(jī)/重啟提醒,此時(shí)綠色指示燈滅。10S后紅色指示燈滅,若光線(xiàn)較強(qiáng)則綠色指示燈亮,若光線(xiàn)較弱則綠色指示燈亮度減半進(jìn)入節(jié)能模式。4、具有整點(diǎn)報(bào)時(shí)功能(四短一長(zhǎng)),可自行設(shè)定報(bào)時(shí)時(shí)間段;2.2.單片機(jī)芯片方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線(xiàn)編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。2.3顯示模塊方案一:采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見(jiàn),但是價(jià)格昂貴,需要的接口線(xiàn)多,所以在此設(shè)計(jì)中不采用LED液晶顯示屏。方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。2.4時(shí)鐘芯片的選擇方案一:采用實(shí)時(shí)時(shí)鐘芯片直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。方案二:軟件控制:利用AT89s51內(nèi)部定時(shí)進(jìn)行中斷,配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí),該方案節(jié)約成本,且能綜合運(yùn)用知識(shí)2.5電路設(shè)計(jì)方案確定綜上各方案所述,對(duì)此次作品的方案選定: 以單片機(jī)AT89C51為主控制器,采用單片機(jī)內(nèi)部定時(shí)、行列式鍵盤(pán)和動(dòng)態(tài)LED顯示。系統(tǒng)方案一如圖2.1所示: 圖2.1 方案一 系統(tǒng)方案二如圖2.2所示:圖2.2 方案二 根據(jù)兩方案圖分析,方案二在方案一的基礎(chǔ)上增添了按鍵控制電路保證了系統(tǒng)的可控制性和使用性,同時(shí)在設(shè)計(jì)中方案二的系統(tǒng)穩(wěn)定性更加完善,所以本設(shè)計(jì)選用的是方案二。3硬件電路設(shè)計(jì)3.1硬件系統(tǒng)設(shè)計(jì)的概述本電路是由AT89C51單片機(jī)為控制核心,具有在線(xiàn)編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由15個(gè)數(shù)碼管,74Hs138、74ls244構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。硬件的結(jié)構(gòu)和可靠性直接影響著整個(gè)系統(tǒng)的可靠性,所以合理的安排電路能提高電子產(chǎn)品的性能。 圖3.1 系統(tǒng)設(shè)計(jì)原理圖框圖介紹了智能定時(shí)控制器系統(tǒng)設(shè)計(jì)的主要組成部分,系統(tǒng)主要分成核心芯片AT89C51單片機(jī)、電源模塊、時(shí)鐘模塊、報(bào)警模塊、復(fù)位電路模塊、鍵盤(pán)輸入模塊以及LED數(shù)碼管顯示模塊等七大模塊,很好的實(shí)現(xiàn)了智能定時(shí)控制器的一些主要功能。本電路是由AT89C51單片機(jī)為控制核心,具有在線(xiàn)編程功能,低功耗,能在3V超低壓工作。采用內(nèi)部時(shí)鐘的驅(qū)動(dòng)方式來(lái)驅(qū)動(dòng)AT89C51單片機(jī)工作,內(nèi)部復(fù)位的方式使系統(tǒng)的外圍電路更加簡(jiǎn)單,減少了硬件的損耗,利用倆個(gè)不同顏色的發(fā)光二極管來(lái)表示秒鐘,其他的顯示電路部分由一個(gè)4位7段數(shù)碼管構(gòu)成,使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示,整個(gè)系統(tǒng)具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),實(shí)現(xiàn)了智能定時(shí)控制器的一些主要功能。3.2 AT89C51單片機(jī)AT89C51是一種低功耗、性存儲(chǔ)器技術(shù)制造, 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線(xiàn),看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。80C51:40個(gè)引腳雙排直插DIP封裝,大致可分為3類(lèi):電源及時(shí)鐘、控制和I/O引腳。 圖3.2 89C51單片機(jī)引腳圖 圖3.3 單片機(jī)片內(nèi)結(jié)構(gòu)圖由如下功能部件組成:對(duì)圖3.2中的片內(nèi)各部件做簡(jiǎn)單介紹。 1.CPU(微處理器)2.數(shù)據(jù)存儲(chǔ)器(RAM) 片內(nèi)為128個(gè)字節(jié)(52子系列的為256個(gè)字節(jié))3.程序存儲(chǔ)器(ROM/EPROM) 89C51/89C52/89C55:4K/8K/20K 字節(jié)閃存。4. 4個(gè)并行可編程的8位I/O口 P1口、P2口、P3口、P0口5. 串行口1個(gè)全雙工的異步串行口,具有四種工作方式。6. 定時(shí)器/計(jì)數(shù)器7. 中斷系統(tǒng)8. 特殊功能寄存器(SFR)共有21個(gè),是一個(gè)具有特殊功能的RAM區(qū)。CPU對(duì)各種功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。3.3 單片機(jī)的定時(shí)/中斷系統(tǒng)51內(nèi)部集成定時(shí)/計(jì)數(shù)器的基本特征:q 51系列單片機(jī)內(nèi)部提供2個(gè)16位的遞增定時(shí)/計(jì)數(shù)器T0和T1。q 可以設(shè)置為定時(shí)或者計(jì)數(shù)器工作。q 有多種可選的工作模式,通過(guò)SFR-TMOD選擇使用。q 對(duì)應(yīng)兩個(gè)中斷源,可用中斷處理。 q 主要作用: 對(duì)外部脈沖計(jì)數(shù)、產(chǎn)生精確定時(shí)時(shí)間、作串行口的波特率發(fā)生器。 圖3.4 T0、T1的結(jié)構(gòu) TMOD寄存器的M1,M0位設(shè)置四種工作方式模式0:13位定時(shí)/計(jì)數(shù)器 計(jì)數(shù)寄存器:THx和TLx低5位 最大計(jì)數(shù)值:213:模式1:16位定時(shí)/計(jì)數(shù)器 計(jì)數(shù)寄存器:THx和TLx 最大計(jì)數(shù)值:216模式2: 8位自動(dòng)重載定時(shí)/計(jì)數(shù)器 計(jì)數(shù)寄存器:TLX 計(jì)數(shù)初值重載寄存器:THX 最大計(jì)數(shù)值28模式3:僅T0可用,將T0拆為兩個(gè)獨(dú)立8位定時(shí)器80C51的中斷源外部中斷0(INT0)外部中斷1(INT1)T0溢出中斷(TF0)T1溢出中斷(TF1)串行口中斷(RI或TI)觸發(fā)方式設(shè)置及中斷標(biāo)志76543210TCONTF1TR1TF0TR0IE1IT1IE0IT0字節(jié)地址:88H外部中斷標(biāo)志IE1、IE0(用IEx表示)電平方式(ITX=0),INTx引腳低電平時(shí)IEx=1,響應(yīng)中斷后IEx不自動(dòng)清0(INTx引腳狀態(tài))。 邊沿方式(ITx=1),INTx引腳負(fù)跳變時(shí)IEx=1,響應(yīng)中斷后IEx自動(dòng)清0。同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:3.4顯示系統(tǒng)LED顯示器由若干個(gè)發(fā)光二極管組成,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)筆畫(huà)或一個(gè)點(diǎn)就發(fā)光??刂葡鄳?yīng)的管導(dǎo)通,就能顯示出對(duì)應(yīng)字符。各段LED顯示器需要由驅(qū)動(dòng)電路驅(qū)動(dòng)。在七段LED顯示器通常將各段發(fā)光二極管的陰極或陽(yáng)極連在一起作為公共端。將各段發(fā)光二極管連在一起的叫共陽(yáng)極顯示器,用低電平驅(qū)動(dòng);將陰極連在一起的叫共陰極顯示器,用高電平驅(qū)動(dòng)。靜態(tài)顯示就是每一個(gè)顯示器各筆畫(huà)段都要獨(dú)占具有一個(gè)鎖存功能的輸出口線(xiàn),CPU把要顯示的字形代碼送到輸出口上,就可以使顯示器上顯示所需的數(shù)字或符號(hào),此后,即使CPU不在去訪(fǎng)問(wèn)它,因?yàn)楦鞴P畫(huà)段借口具有鎖存功能,顯示的內(nèi)容也不會(huì)消失。動(dòng)態(tài)顯示是指顯示器顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止。靜態(tài)顯示有并行輸出和串行輸出兩種方式。在本系統(tǒng)中數(shù)碼管使用共陰極接法而且是用動(dòng)態(tài)顯示。本設(shè)計(jì)利用一個(gè)4位七段數(shù)碼管顯示時(shí)鐘結(jié)果。3.5報(bào)警電路蜂鳴器發(fā)聲原理是電流通過(guò)電磁線(xiàn)圈,使電磁線(xiàn)圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)IO引腳輸出的電流較小,單片機(jī)輸出的TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。S51增強(qiáng)型單片機(jī)實(shí)驗(yàn)板通過(guò)一個(gè)三極管C8550來(lái)放大驅(qū)動(dòng)蜂鳴器,原理圖見(jiàn)下面圖4.2所示:圖3.5 蜂鳴器驅(qū)動(dòng)電路如圖3.6所示,蜂鳴器的正極接到VCC(5V)電源上面,蜂鳴器的負(fù)極接到三極管的發(fā)射極E,三極管的基級(jí)B經(jīng)過(guò)限流電阻R1后由單片機(jī)的P3.7引腳控制,當(dāng)P3.7輸出高電平時(shí),三極管T1截止,沒(méi)有電流流過(guò)線(xiàn)圈,蜂鳴器不發(fā)聲;當(dāng)P3.7輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過(guò)程序控制P3.7腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。程序中改變單片機(jī)P3.7引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變P3.7輸出電平則可以控制蜂鳴器的聲音大小,這些我們都可以通過(guò)實(shí)驗(yàn)來(lái)顯示報(bào)警器電路模塊。3.6按鍵電路按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng) 的I/O端口形一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定。 這一過(guò)程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱(chēng)為抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間長(zhǎng) 短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般在510ms之間。為了避免CPU多次處理按鍵的一 次閉合,應(yīng)采用措施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用I/O口線(xiàn)構(gòu)成單 個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線(xiàn),每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生相互影響,如圖4.3所示: 圖3.6 按鍵電路 3.7 電源設(shè)計(jì)在這里因設(shè)計(jì)分工和側(cè)重點(diǎn)不同,電源模塊用通用的5v變壓器。從圖上看220V交流電經(jīng)過(guò)一個(gè)變壓器進(jìn)行降壓,變壓器后面由四個(gè)二極管組成一個(gè)橋式全波整流電路,整流后就得到一個(gè)電壓波動(dòng)很大的直流電,所以在這里接一個(gè)330u/F的電解電容。變壓器輸出端的9V電壓經(jīng)過(guò)橋式整流并電容濾波,在電容C1兩端大約會(huì)有11V多一點(diǎn)的電壓,如果電容兩端直接接負(fù)載,當(dāng)負(fù)載變化或者交流電波動(dòng)時(shí)會(huì)使C1兩端的電壓變化很大,為得到一個(gè)比較穩(wěn)定的電壓因此在此處接一個(gè)三端穩(wěn)壓器元件。三端穩(wěn)壓器是一個(gè)集成電路元件,內(nèi)部有三極管和電阻構(gòu)成當(dāng)負(fù)載電流大時(shí)內(nèi)部電阻變小,當(dāng)負(fù)載電流小時(shí)內(nèi)部電阻變大,這樣能保持穩(wěn)壓器的輸出電壓保持基本不變,本設(shè)計(jì)要+5V電壓,因此選用LM7805,LM7805最大可以輸出1A的電流,內(nèi)部有限流式短路保護(hù),可以很穩(wěn)定的進(jìn)行電流輸出圖3.7 電源電路3.8 單片機(jī)最小系統(tǒng)3.8.1單片機(jī)的復(fù)位電路圖3.8 手動(dòng)復(fù)位電路3.8.2復(fù)位電路的工作原理在書(shū)本上有介紹,51單片機(jī)要復(fù)位只需要在第9引腳接個(gè)高電平持續(xù)2US就可以實(shí)現(xiàn),那這個(gè)過(guò)程是如何實(shí)現(xiàn)的呢?在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動(dòng)的時(shí)候復(fù)位一次,當(dāng)按鍵按下的時(shí)候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會(huì)復(fù)位。所以可以通過(guò)按鍵的斷開(kāi)和閉合在運(yùn)行的系統(tǒng)中控制其復(fù)位。開(kāi)機(jī)的時(shí)候?yàn)槭裁礊閺?fù)位在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時(shí)間是10K*10UF=0.1S。也就是說(shuō)在電腦啟動(dòng)的0.1S內(nèi),電容兩端的電壓時(shí)在03.5V增加。這個(gè)時(shí)候10K電阻兩端的電壓為從51.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V1.5V。在5V正常工作的51單片機(jī)中小于1.5V的電壓信號(hào)為低電平信號(hào),而大于1.5V的電壓信號(hào)為高電平信號(hào)。所以在開(kāi)機(jī)0.1S內(nèi),單片機(jī)系統(tǒng)自動(dòng)復(fù)位(RST引腳接收到的高電平信號(hào)時(shí)間為0.1S左右)。按鍵按下的時(shí)候?yàn)槭裁磿?huì)復(fù)位在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時(shí)候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開(kāi)關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過(guò)程中,電容開(kāi)始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。在系統(tǒng)運(yùn)行的過(guò)程中,有時(shí)可能對(duì)系統(tǒng)需要進(jìn)行復(fù)位,為了避免對(duì)硬件系統(tǒng)經(jīng)常加電和斷電造成的損害,設(shè)計(jì)了手動(dòng)的復(fù)位電路。如圖4-2所示。這種電路的設(shè)計(jì),在系統(tǒng)的運(yùn)行過(guò)程中需要復(fù)位時(shí),只需使開(kāi)關(guān)閉合,在RST端就會(huì)出現(xiàn)一定時(shí)間的高電平信號(hào),從而使單片機(jī)實(shí)現(xiàn)復(fù)位。3.9 單片機(jī)系統(tǒng)的晶振電路單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能進(jìn)行工作。MCS-51系列單片機(jī)內(nèi)部都有一個(gè)時(shí)鐘振蕩電路,只需外接晶振源,就能產(chǎn)生一定頻率的時(shí)鐘信號(hào)送到單片機(jī)的內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。圖4-3就是內(nèi)部時(shí)鐘工作方式的電路圖,這是一種常用的方式。這種方式是外界振蕩源,本設(shè)計(jì)就采用這種外接晶振的方法。電路中的兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振(C1 C2的值大,起振的速度慢;反之,速度快。);二是對(duì)振蕩器的頻率起到微調(diào)的作用(C1 C2的值大,頻率略有減少,反之,頻率略有提高)。C1 C2的值采用30pF,如圖4.5.2所示:圖3.9 單片機(jī)內(nèi)部晶振電路連接圖內(nèi)部時(shí)鐘原理圖 (就是一個(gè)自激振蕩電路)在內(nèi)部方式時(shí)鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個(gè)微調(diào)電容構(gòu)成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz12MHz之間。對(duì)于外接時(shí)鐘電路,要求XTAL1接地,XTAL2腳接外部時(shí)鐘,對(duì)于外部時(shí)鐘信號(hào)并無(wú)特殊要求,只要保證一定的脈沖寬度,時(shí)鐘頻率低于12MHz即可。晶體振蕩器的振蕩信號(hào)從XTAL2端送入內(nèi)部時(shí)鐘電路,它將該振蕩信號(hào)二分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號(hào)P1和P2供單片機(jī)使用。時(shí)鐘信號(hào)的周期稱(chēng)為狀態(tài)時(shí)間S,它是振蕩周期的2倍,P1信號(hào)在每個(gè)狀態(tài)的前半周期有效,在每個(gè)狀態(tài)的后半周期P2信號(hào)有效。CPU就是以?xún)上鄷r(shí)鐘P1和P2為基本節(jié)拍協(xié)調(diào)單片機(jī)各部分有效工作的。2.指令時(shí)序我們將單片機(jī)的基本操作周期稱(chēng)作機(jī)器周期,一個(gè)機(jī)器周期由6個(gè)狀態(tài)組成,每個(gè)狀態(tài)由兩個(gè)時(shí)相P1和P2構(gòu)成,故一個(gè)機(jī)器周期可依次表示為S1P1,S1P2,S6P1,S6P2,即一個(gè)機(jī)器共有12個(gè)振蕩脈沖。為了大家便于分析CPU的時(shí)序,在此先對(duì)以下幾個(gè)概念作一介紹。(1)振蕩周期振蕩周期指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期或外部輸入時(shí)鐘的周期。(2)時(shí)鐘周期時(shí)鐘周期又稱(chēng)作狀態(tài)周期或狀態(tài)時(shí)間S,它是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍,通常在P1節(jié)拍完成算術(shù)邏輯操作,在P2節(jié)拍完成內(nèi)部寄存器之間的傳送操作。(3)機(jī)器周期一個(gè)機(jī)器周期由6個(gè)狀態(tài)組成,如果把一條指令的執(zhí)行過(guò)程分作幾個(gè)基本操作,則將完成一個(gè)基本操作所需的時(shí)間稱(chēng)作機(jī)器周期。單片機(jī)的單周期指令執(zhí)行時(shí)間就為一個(gè)機(jī)器周期。(4)指令周期指令周期即執(zhí)行一條指令所占用的全部時(shí)間,通常為14個(gè)機(jī)器周期。在圖2.12中給出了MCS51單片機(jī)的典型取指、執(zhí)行時(shí)序。由圖可知,在每個(gè)機(jī)器周期內(nèi),地址鎖存信號(hào)ALE兩次有效,一次在S1P2與S2P1之間,另一次在S4P2和S5P1之間。從圖2.12我們可以看出,對(duì)于單周期指令,當(dāng)操作碼被送入指令寄存器后,指令的執(zhí)行從S1P2開(kāi)始。若對(duì)于雙字節(jié)單周期指令,則在同一機(jī)器周期的S4期間讀入第二個(gè)字節(jié)。如果是單字節(jié)單周期指令,則在S4期間仍然保持讀操作,但所進(jìn)行的讀操作為無(wú)效操作,同時(shí)程序計(jì)數(shù)器PC并不加1。在圖2.12(a)和(b)給出了單字節(jié)單周期和雙字節(jié)單周期指令的時(shí)序,這些操作都在S6P2結(jié)束時(shí)完成指令操作。在圖2.12(c)中給出了單字節(jié)雙周期指令時(shí)序,在兩個(gè)機(jī)器周期內(nèi)進(jìn)行了四次讀操作,由于是單字節(jié)指令,故后面的三次讀操作是無(wú)效的。在圖2.12(d)中給出了訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器指令MOVX的時(shí)序,它是一條單字節(jié)雙周期指令。在執(zhí)行MOVX指令期間,外部數(shù)據(jù)存儲(chǔ)器被訪(fǎng)問(wèn)且選通時(shí)跳過(guò)兩次取指操作,其中在第一個(gè)機(jī)器周期S5開(kāi)始送出片外數(shù)據(jù)存儲(chǔ)器的地址后,進(jìn)行讀、寫(xiě)數(shù)據(jù),在此期間并無(wú)ALE信號(hào),故第二周期不產(chǎn)生取指操作。4 軟件部分設(shè)計(jì)4.1主程序主程序主要有main()組成通過(guò)對(duì)相關(guān)子程序的調(diào)用,實(shí)現(xiàn)對(duì)時(shí)間的設(shè)置與修改、LCD顯示等主要功能。相關(guān)的調(diào)整是靠對(duì)功能鍵的判斷來(lái)實(shí)現(xiàn)的。我們用流程框圖來(lái)表示,如S圖5.1所示: 圖4.1 主程序框圖4.2初始化程序void main() /主函數(shù) TMOD|=0X11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;4.3顯示程序 handle_1(shi); handle_2(fen); display_1(); /顯示時(shí)鐘初始值 display_2(); /顯示分鐘初始值 while(1) scan_key(); /調(diào)用按鍵掃描函數(shù) time_1(); /調(diào)用時(shí)鐘函數(shù) handle_1(shi); /對(duì)小時(shí)拆分 handle_2(fen); /對(duì)分鐘拆分 display_1(); /顯示小時(shí) display_2(); /顯示分鐘4.4 中斷程序EA=0; /關(guān)中斷 if(msec1!=0x28) msec1+; /到10毫秒否,不到則msec1加1 else msec1=0;if(msec2!=100)msec2+; /到1秒否,不到則msec2加1 else if(rtimbit=1)count+; msec2=0;if(clockbuf2!=59) clockbuf2+; /到1分否,不到則clockbuf2加1 else clockbuf2=0; if(clockbuf1!=59) clockbuf1+; / 到1小時(shí)否,不到則clockbuf1加1else clockbuf1=0; if(clockbuf0!=23) clockbuf0+; / 到24時(shí)否,不到則clockbuf0加1 else clockbuf0=0; EA=1; /開(kāi)中斷5系統(tǒng)調(diào)試5.1軟件調(diào)試概述單片機(jī)系統(tǒng)經(jīng)過(guò)總體設(shè)計(jì),完成了硬件和軟件設(shè)計(jì)開(kāi)發(fā)。通過(guò)軟件和硬件相結(jié)合系統(tǒng)即可運(yùn)行。但編制好的程序或焊接好的線(xiàn)路不能按預(yù)計(jì)的那樣正常工作是常見(jiàn)的事,經(jīng)常會(huì)出現(xiàn)一些硬件、軟件上的錯(cuò)誤,這是軟件和硬件開(kāi)發(fā)者經(jīng)常遇見(jiàn)的,這就需要通過(guò)調(diào)試來(lái)發(fā)現(xiàn)錯(cuò)誤并加以改正。調(diào)試可分為硬件調(diào)試和軟件調(diào)試。本設(shè)計(jì)系統(tǒng)的已經(jīng)在PC機(jī)上用模擬開(kāi)發(fā)軟件進(jìn)行了檢測(cè)和調(diào)試,并運(yùn)行成功,最后進(jìn)行實(shí)物圖的硬件組裝與調(diào)試,這樣就給開(kāi)發(fā)者在提供了方便。5.2軟件調(diào)試本設(shè)計(jì)是在Proteus軟件和Keil2軟件相結(jié)合調(diào)試的,完全用仿真軟件在PC機(jī)上對(duì)目標(biāo)電路原理圖和程序進(jìn)行檢測(cè)和調(diào)試。調(diào)試過(guò)程中單片機(jī)相應(yīng)輸入端由通用鍵盤(pán)和鼠標(biāo)設(shè)定,運(yùn)行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來(lái),以確定程序運(yùn)行有無(wú)錯(cuò)誤。目標(biāo)程序糾錯(cuò):該階段工作通常在目標(biāo)程序編輯時(shí)就完成。一般來(lái)說(shuō),仿真軟件能為用戶(hù)輸入的程序指令糾錯(cuò),包括書(shū)寫(xiě)格式、標(biāo)號(hào)未定義或多重定義、轉(zhuǎn)移地址溢出等錯(cuò)誤。整體程序調(diào)試:即把各子程序整體連起來(lái)進(jìn)入到綜合電路調(diào)試,看是否能實(shí)現(xiàn)預(yù)計(jì)的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在運(yùn)行時(shí)是否破壞現(xiàn)場(chǎng),數(shù)據(jù)緩沖單元是否發(fā)生沖突,標(biāo)志位的建立和清除在設(shè)計(jì)上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。圖5.1 定時(shí)器調(diào)試的結(jié)果 圖5.2 定時(shí)器調(diào)試的結(jié)果6 結(jié) 論硬件系統(tǒng)關(guān)系到所要設(shè)計(jì)的電子產(chǎn)品好懷,如系統(tǒng)抗干擾性等,所以要合理的安排盡量減少干擾提高性能。單片機(jī)是很容易受干擾的控制器,當(dāng)采用外部晶振時(shí),應(yīng)盡量讓其靠近單片機(jī)減少對(duì)其干擾,防止程序亂飛現(xiàn)象。同時(shí)還可以采用隔離等方式減少干擾,硬件系統(tǒng)設(shè)計(jì)的好壞很大部分來(lái)源于經(jīng)驗(yàn),所以我們要有動(dòng)手的好習(xí)慣。軟件設(shè)計(jì)是核心部分,具有多樣化,靈活性高,易移植等優(yōu)點(diǎn),要深深理會(huì)各指令的含義才能更加熟練應(yīng)用,中斷的合理利用可以減少CPU利用資源,具有執(zhí)行效率高等優(yōu)點(diǎn),本設(shè)計(jì)用到定時(shí)器中斷以減少對(duì)CPU的占用,更好的處理其他功能。軟件的設(shè)計(jì)大部分采用模塊化設(shè)計(jì)的方法以方便調(diào)試,并使其可讀性大大增強(qiáng),方便更改和移植。不知不覺(jué),二個(gè)周的課程設(shè)計(jì)設(shè)計(jì)結(jié)束了。我的課程設(shè)計(jì)論文已整理完畢,電路調(diào)試進(jìn)展良好。課程設(shè)計(jì)是將我所學(xué)的理論和實(shí)踐相結(jié)合。首先我要感謝陳老師的大力幫助和支持。在整個(gè)設(shè)計(jì)過(guò)程當(dāng)中,為我的課程設(shè)計(jì)帶來(lái)了很大方便。同時(shí)在我完成課程設(shè)計(jì)的過(guò)程中提供了很多指導(dǎo)性的意見(jiàn),使我受益匪淺。在此,我衷心感謝老師給予我的幫助和教育。此外,還要衷心感謝其他所有對(duì)本課題的研究和論文撰寫(xiě)有過(guò)幫助的同學(xué)。最后,我要感謝學(xué)校能給我這次學(xué)習(xí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論