




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計(jì)課題名稱:基于單片機(jī)的數(shù)字鐘設(shè)計(jì)院 系 名 稱 專 業(yè) 班 級 學(xué) 生 姓 名 學(xué) 號 指 導(dǎo) 教 師 完成日期: 摘 要多功能數(shù)字鐘的應(yīng)用非常普遍,由單片機(jī)作為數(shù)字鐘的核心控制器,通過它的時(shí)鐘信號進(jìn)行實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來。本設(shè)計(jì)具有計(jì)時(shí)、校時(shí)等功能的數(shù)字時(shí)鐘,是以單片機(jī)AT89C51為核心元件同時(shí)采用LCD顯示器動態(tài)顯示“時(shí)”、“分”、“秒”、“年”、“月”、“日”的現(xiàn)代計(jì)時(shí)裝置。另外具有校時(shí)功能,秒表功能,和定時(shí)器功能,利用單片機(jī)實(shí)現(xiàn)的數(shù)字時(shí)鐘具有編程靈活,便于功能的擴(kuò)充等優(yōu)點(diǎn)。關(guān)鍵詞:多功能、AT89C51、LCDAbstractThe a
2、pplication of multi-function digital clock very general, by single chip microcomputer as the core controller, digital clock through its clock signal timing function, will realize its time data SCM outputs, using monitors displayed. This design has the timing, reset function of digital clock, is sing
3、le-chip microcomputer AT89C51 as the core element also adopts LCD display dynamic display "hour"" minutes" and "second", "year", "month", "day" modern timing device. Another is reset function, stopwatch function, and timer function, using t
4、he microcomputer digital clock with programming flexible, facilitate function expansion, etc.Keywords: multi-function, AT89C51, LCD目 錄摘 要2Abstract2目 錄3一、設(shè)計(jì)意義和方案41.1 任務(wù)要求41.2 設(shè)計(jì)意義41.3 設(shè)計(jì)方案4二、硬件設(shè)計(jì)52.1 單片機(jī)的介紹及特點(diǎn)52.2 單片機(jī)選擇62.1.1 單片機(jī)的引腳說明62.1.2 定時(shí)/計(jì)數(shù)器92.2 顯示方案92.3 時(shí)鐘電路102.4 復(fù)位電路10三、軟件設(shè)計(jì)11四、仿真原理圖12五、系統(tǒng)測試1
5、25.1 硬件測試125.2 軟件測試13六、總結(jié)13參考文獻(xiàn)14附錄14程序完整代碼14一、設(shè)計(jì)意義和方案1.1 任務(wù)要求 通過單片機(jī)內(nèi)定時(shí)器控制走時(shí),準(zhǔn)確持續(xù)走時(shí),調(diào)時(shí)不影響走時(shí)。 在LCD液晶顯示屏上顯示時(shí)、分、秒及兩個(gè)小數(shù)點(diǎn)。 含有鬧鐘功能,可以選擇鬧鐘開關(guān),可以設(shè)定鬧鈴時(shí)間。 到達(dá)鬧鐘時(shí)刻蜂鳴器警報(bào),可以關(guān)掉警報(bào)。1.2 設(shè)計(jì)意義用單片及制作數(shù)字鐘是單片機(jī)的一個(gè)典型應(yīng)用。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時(shí)、分、秒” 數(shù)字顯示的計(jì)時(shí)裝置, 廣泛應(yīng)用于個(gè)人家庭、車站、碼頭、辦公室等公共場所, 已成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的
6、精度遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。利用單片機(jī)設(shè)計(jì)一個(gè)時(shí)鐘, 單片機(jī)擴(kuò)展的LCD 顯示器用來顯示秒、分、時(shí)計(jì)數(shù)單元中的值,可以非常準(zhǔn)確地顯示標(biāo)準(zhǔn)時(shí)間。1.3 設(shè)計(jì)方案采用AT89C51芯片作為硬件核心,其內(nèi)部采用Flash ROM,具有4KB ROM 存儲空間,能于3V的超低壓工作,本系統(tǒng)的計(jì)時(shí)方案是利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí), 配合軟件延時(shí)實(shí)現(xiàn)對時(shí)、分、秒的計(jì)時(shí)。整個(gè)系統(tǒng)的控制方案是:上電后系統(tǒng)自動進(jìn)入時(shí)間顯示,從00:00:00 開始計(jì)時(shí),并且顯示“年”、“月”、“日”,通過按下時(shí)間設(shè)定/啟動計(jì)時(shí)鍵KEY,系統(tǒng)停止計(jì)時(shí),進(jìn)入到時(shí)間設(shè)定狀態(tài),系統(tǒng)
7、保持原有的顯示,等待鍵入當(dāng)前時(shí)間, 通過按鍵KUP和KDOWN調(diào)節(jié)各數(shù)值,根據(jù)需要按相應(yīng)的數(shù)字鍵可以順序設(shè)置時(shí)、分、秒,并在相應(yīng)的LCD 上顯示設(shè)計(jì)值,設(shè)置完畢后,系統(tǒng)將從設(shè)定后的時(shí)間開始計(jì)時(shí)顯示;RS調(diào)節(jié)是否顯示時(shí)間,LCDEN表示顯示器使能,使之暫停。二、硬件設(shè)計(jì)2.1 單片機(jī)的介紹及特點(diǎn)單片微型計(jì)算機(jī)簡稱單片機(jī),又成為控制器。他是在一塊半導(dǎo)體上,集成了CPU、ROM、RAM、I/O接口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等功能部件,構(gòu)成了一臺完整的數(shù)字計(jì)算機(jī)。單片機(jī)在生產(chǎn)生活中的許多方面得到廣泛的應(yīng)用,例如,生活中五彩變幻的霓虹燈,手機(jī)通信,溫度檢測,流量控制等都涉及到單片機(jī)。單片機(jī)的應(yīng)用結(jié)束了計(jì)
8、算機(jī)專業(yè)人員“壟斷”計(jì)算機(jī)系統(tǒng)開發(fā)與應(yīng)用的時(shí)代,他既給各種專業(yè)人員、特別是許多工程技術(shù)人員帶來了學(xué)習(xí)和掌握計(jì)算機(jī)技術(shù)的緊迫性,同時(shí)也帶來了可能性,因?yàn)榻M成計(jì)算機(jī)應(yīng)用系統(tǒng)變得容易、“平凡”,增強(qiáng)了人們進(jìn)入這一領(lǐng)域的信心單片機(jī)的歷史非常短暫,然而發(fā)展十分迅猛。自1971年美國Intel公司首先研制出4位單片機(jī)4004以來,他的發(fā)展可粗略劃分為四個(gè)階段:第一階段19711976年,屬萌芽階段。發(fā)展了各種4位單片機(jī),多用于家用電器、計(jì)算器、高級玩具。第二階段 19761980年,為初級8位機(jī)階段,發(fā)展了各種中、低檔8位單片機(jī),典型的如MCS-48系列單片機(jī),片內(nèi)含多個(gè)8位并行I/O接口、一個(gè)8位定時(shí)器
9、/計(jì)數(shù)器,不帶串行接口,其功能可以滿足一般工業(yè)控制和智能化儀器儀表等的需要。第三階段 19821983年,高級8位機(jī)階段,發(fā)展了高性能的8位單片機(jī),例如MCS-51系列單片機(jī),它帶有串行I/O接口和多個(gè)16位定時(shí)器/計(jì)數(shù)器,具有多級中斷功能。這一階段進(jìn)一步拓寬了單片機(jī)的應(yīng)用范圍,使之能用于智能終端、局部網(wǎng)絡(luò)接口,并擠入了個(gè)人計(jì)算機(jī)領(lǐng)域。第四階段 1983年以后,16位單片機(jī)階段。發(fā)展了MCS-96系列等16位單片機(jī)。功能很強(qiáng),價(jià)格卻迅速下降。片內(nèi)有A/D轉(zhuǎn)換器;可快速輸入、輸出;可用于電機(jī)控制;網(wǎng)絡(luò)通信能力有顯著提高。單片機(jī)的特點(diǎn)單片機(jī)的集成度很高,他將微型計(jì)算機(jī)的主要部件都集成在一塊芯片上,
10、具有下列特點(diǎn):體積小、重量輕、價(jià)格便宜、耗電少;根據(jù)工程環(huán)境要求設(shè)計(jì),且許多功能部件集成在芯片內(nèi)部,其信號通道受外界影響小,故可靠性高,抗干擾性能優(yōu)于采用一般的CPU;控制功能強(qiáng),運(yùn)行速度快。其結(jié)構(gòu)組成與指令系統(tǒng)都著重滿足工控要求,又極豐富的條件分支指令,有很強(qiáng)的位處理功能和I/O口邏輯操作功能。片內(nèi)存儲器的容量不可能很大;引腳也嫌少,I/O引腳常不夠用,且兼第二功能,第三功能但存儲器和I/O口都易于擴(kuò)展。2.2 單片機(jī)選擇本課程選用AT89C51型號的單片機(jī)。 AT89C51 是美國ATMEL 公司生產(chǎn)的低電壓,高性能CMOS8 位單片機(jī),片內(nèi)含4k bytes 的可反復(fù)擦寫的只讀程序存 儲
11、器(PEROM)和128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM ),器件采用ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)MCS-51 指令系統(tǒng),片內(nèi)置通用8 位 央處理器(CPU)和Flash 存儲單元,功能強(qiáng)大AT89C51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù): ·與MCS-51 產(chǎn) 指令系統(tǒng)完全兼容 ·4k 字節(jié)可重擦寫Flash 閃速存儲器 ·1000 次擦寫周期 ·全靜態(tài)操作:0Hz24MHz ·三級加密程序存儲器 ·128×8 字節(jié)內(nèi)部RAM ·
12、;32 個(gè)可編程I O 口線 ·2 個(gè)16 位定時(shí)計(jì)數(shù)器 ·6 個(gè) 斷源 ·可編程串行UART 通道2.1.1 單片機(jī)的引腳說明單片機(jī)(microcontroller,又稱微控制器)是在一塊硅片上集成了各種部件的微型計(jì)算機(jī)。這些部件包括中央處理器CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。AT89C51 是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場合。可以滿足多方面的性能要求。采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時(shí)間只需2 到4 個(gè)時(shí)鐘周期(6倍于標(biāo)準(zhǔn)51單片機(jī)器件)。AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)F
13、lash 閃速存儲器,128 字節(jié)內(nèi)部RAM,32 個(gè)IO 口線,兩個(gè)16位定時(shí)計(jì)數(shù)器,一個(gè)5向量兩級斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51 可降至0Hz 的靜態(tài)邏 輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU 的工作,但允許RAM,定時(shí)計(jì)數(shù)器,串行通信口及 斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。其引腳圖如下圖1:圖1 AT89C51引腳圖引腳功能介紹:·P0: P0是一組8 位漏極開路型雙向IO口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),位能吸收電流的方式驅(qū)動8 個(gè)T
14、TL 邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 在FIash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 ·P1: P1是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I O 口,P1 的輸出緩沖級可驅(qū)動 (吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。 FIash 編程和程序校驗(yàn)期間,
15、P1 接收低8 位地址。 ·P2: P2是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個(gè)TTL 邏 輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上 拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器時(shí),P2 口線上的內(nèi)容,在整個(gè)訪問期間不改變。Flash 編程或校驗(yàn)時(shí),P2 亦接收高位地址和其它控制信號。·P3:
16、P3口是一組帶有內(nèi)部上拉電阻的8 位雙向IO 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3上拉電阻輸出電流(IIL)。 P3口除了作為一般的IO口線外,更重要的用途是它的第二功能。如下表所示: P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。 ·RST 復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 ·ALE PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8
17、位字節(jié)。即使不訪問外部存儲器,ALE仍以時(shí)鐘振蕩頻率的l6 輸出固定的正脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 · PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C51 由外部程序存儲器取指令(或數(shù)據(jù))時(shí), 個(gè)機(jī)器周期兩次PSEN有 ,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,這兩次有 的PSEN信號不出現(xiàn)。 · EA VPP 外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH)
18、,EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會鎖存EA 端狀態(tài)。如EA 端為高電平 (接VCC 端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp 。·XTAL1 振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。·XTAL2 振蕩器反相放大器的輸出端。2.1.2 定時(shí)/計(jì)數(shù)器8051系列單片機(jī)至少有兩個(gè)16位內(nèi)部定時(shí)器/計(jì)數(shù)器。8052有三個(gè)定時(shí)器/計(jì)數(shù)器,其中連個(gè)基本定時(shí)器/計(jì)數(shù)器是定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。他們既可以編程
19、為定時(shí)器使用,也可以編程為計(jì)數(shù)器使用。若是計(jì)數(shù)內(nèi)部晶振驅(qū)動時(shí)鐘,則它是定時(shí)器;若是計(jì)數(shù)8051的輸入引腳的脈沖信號,則它是計(jì)數(shù)器。8051的T/C時(shí)加一計(jì)數(shù)的。定時(shí)器實(shí)際上也是工作在技術(shù)方式下的,只不過對固定頻率的脈沖計(jì)數(shù);由于脈沖周期固定,由計(jì)數(shù)值可以計(jì)算出時(shí)間,有定時(shí)功能。當(dāng)T/C工作在定時(shí)器時(shí),對振蕩源12分頻的脈沖計(jì)數(shù),即每個(gè)機(jī)器周期計(jì)數(shù)值加一,頻率加=fosc/12。晶振為6MHz,計(jì)數(shù)頻率=500KHz,每2Us計(jì)數(shù)加一。當(dāng)T/C工作在計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自外部脈沖輸入引腳T0或T1。當(dāng)T0或T1腳上負(fù)跳變需2個(gè)機(jī)器周期,即24個(gè)振蕩周期。所以T0或T1腳輸入的計(jì)數(shù)外部脈沖的最高頻
20、率為fosc/12。當(dāng)晶振為12MHz時(shí),最高技術(shù)頻率為500KHz,高于此頻率將計(jì)數(shù)出錯(cuò)2.2 顯示方案本課程采用的是LCD液晶顯示屏來顯示時(shí)間。液晶是一種既有液體流動性,又有光特性的有機(jī)化合物。它的透明程度和呈現(xiàn)的顏色受外加電場的影響。利用這一特點(diǎn),便可做城電場控制的七段數(shù)碼顯示器件。下圖2為LCD液晶顯示屏。 圖2 LCD液晶顯示屏1602在單片機(jī)系統(tǒng)中作為液晶顯示器輸出器件有以下幾個(gè)優(yōu)點(diǎn):1顯示質(zhì)量高由于液晶顯示器每一個(gè)點(diǎn)在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會閃爍。2 體積小、重量輕液晶顯示器
21、通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。3 功耗低相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。2.3 時(shí)鐘電路晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的12MHz的方波信號,可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定.不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路。本設(shè)計(jì)采用石英晶體產(chǎn)生11.0592MHZ的時(shí)鐘。時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器電路構(gòu)成,秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器。如圖3。圖32.4 復(fù)位電路 當(dāng)上電時(shí),電源對電
22、容充電,對單片機(jī)復(fù)位,當(dāng)死機(jī)時(shí)按復(fù)位開關(guān),使單片機(jī)從00H開始執(zhí)行程序。電路如圖4。圖4 上電與按鈕復(fù)位電路三、軟件設(shè)計(jì)數(shù)字電子鐘設(shè)計(jì)中主要使用定時(shí)器T0 中斷ET0,利用ET0 中斷進(jìn)行計(jì)時(shí)時(shí)間的自增,從而實(shí)現(xiàn)計(jì)時(shí)功能。AT89C51 有兩個(gè)通用定時(shí)/計(jì)數(shù)器。兩者均可配置為定時(shí)器或事件計(jì)數(shù)器。另外增加了定時(shí)器T0/T1,溢出時(shí)T0/T1 腳自動翻轉(zhuǎn)的功能選項(xiàng)。用作“定時(shí)器”功能時(shí),每經(jīng)過一個(gè)機(jī)器周期,寄存器值加1。用作“計(jì)數(shù)器”功能時(shí),寄存器在對應(yīng)的外部輸入管腳T0/T1 上每發(fā)生一次1 到0 的跳變時(shí)加1。使用該功能時(shí),外部輸入每個(gè)機(jī)器周期被采樣一次。本課題采用C語言做為軟件,采用循環(huán)掃描
23、的方式點(diǎn)亮LCD的日期、時(shí)期發(fā)光數(shù)碼管,調(diào)用一秒的中斷子程序使之達(dá)到正確的時(shí)間走時(shí),通過P0口控制各個(gè)發(fā)光數(shù)碼管的數(shù)字(09)。軟件結(jié)構(gòu)圖如下圖5。圖5 軟件結(jié)構(gòu)圖四、仿真原理圖本設(shè)計(jì)先利用Keil C51 uVision2編譯C程序,然后用Proteus軟件畫出電路原理圖,將工程文件.Hex加載到AT89C51中運(yùn)行,得到仿真圖,驗(yàn)證其原理圖和C程序的準(zhǔn)確性。仿真圖如下圖6。圖6 整體仿真圖五、系統(tǒng)測試5.1 硬件測試該數(shù)字鐘的電路系統(tǒng)較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有
24、封皮的導(dǎo)線,使電路造成短路現(xiàn)象。另外,買來的元器件要先進(jìn)行檢測,如果有壞的器件要進(jìn)行更換,還有就是要注間元器件的正確放置與安裝以及布線的合理,便于成品電路的檢測與維護(hù)。在本數(shù)字鐘的設(shè)計(jì)調(diào)試中遇到了很多的問題。回想這些問題,其實(shí)只要認(rèn)真思考很多功能都是可以避免的,電路做成后,LCD有顯示,但是不能正常計(jì)時(shí)走鐘通過檢測,查出單片機(jī)AT89S51的31腳EA 引腳 沒有接5V的電源作為高電平(因?yàn)樵撓到y(tǒng)中沒有擴(kuò)展外部程序存儲器,故電路通電工作后,其內(nèi)部程序執(zhí)行應(yīng)該從內(nèi)部程序存儲單元開始,也即EA引腳要接高電平。通常引腳懸空也可看成是接高電平,但是本次設(shè)計(jì)中選的用芯片AT89S51內(nèi)部采用的是CMOS
25、結(jié)構(gòu),不能將懸空等同為接高電平,而必須接5V的電源作為高電平才能正常工作),用導(dǎo)線將31腳接到電源,問題就得到解決了。5.2 軟件測試數(shù)字鐘的功能雖然比較少,但是程序也較為復(fù)雜,特別對于初學(xué)者的我來說更是如此,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題是燒入程序后,LCD管能顯示,也能走鐘,但時(shí)間明顯跳動很快,時(shí),是由于從“秒”、“時(shí)”、“分”的循環(huán)次數(shù)太少,加大其循環(huán)次數(shù)能解決抖動問題。六、總結(jié)通過這次單片機(jī)課程設(shè)計(jì),發(fā)現(xiàn)了自身所學(xué)知識存在許多的不足和問題,同時(shí)也學(xué)到了不少東西,提高了動手實(shí)踐的
26、能力.在整個(gè)設(shè)計(jì)過程中,從設(shè)計(jì)方案的確定,到具體電路的設(shè)計(jì),最后到總體電路的聯(lián)接構(gòu)建以及程序的編寫燒制,整個(gè)設(shè)計(jì)工程量是比較大的,單靠個(gè)人能力,很多方面考慮不周,有的地方甚至毫無頭緒,想不出具體方案。因此,絕對不能心急,不明白的地方和其它的同學(xué)共同討論研究,同時(shí)也感謝黃艷華老師對本次設(shè)計(jì)的指導(dǎo),是我更快的解決問題,完善設(shè)計(jì)。在這次設(shè)計(jì)過程中,我還查閱了許多相關(guān)資料,通過參考和研究別人的一些設(shè)計(jì),使自己的設(shè)計(jì)思路更加周密、全面,從而使設(shè)計(jì)出來的作品也更加完善和高質(zhì)量。參考文獻(xiàn)1 趙亮 、侯國銳等編著單片機(jī)C語言編程與實(shí)例 人民郵電出版社2 李玉梅 基于MCS51系列單片機(jī)原理的應(yīng)用設(shè)計(jì) 國防工業(yè)
27、出版社3 王德彪 MCS-51單片機(jī)原理及接口技術(shù) 電子工業(yè)出版社 4 張洪潤、藍(lán)清華 單片機(jī)應(yīng)用技術(shù)教程 清華大學(xué)出版社 附錄程序完整代碼#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define lcd_data P0#define lcd_com P0sbit lcd_en=P34;sbit lcd_rs=P35;sbit KEY=P30;sbit KUP=P31;sbit KDOWN=P32;uchar code disp1=" 2009-01-01"uchar
28、 code disp2=" 00:00:00"uchar aa,shi,fen,miao,ri=1,yue=1,nian=9,KNUM;void delay(uint);void write_com(uchar);void write_data(uchar);void write_str(uchar,uchar *str);void init();void sfmdisplay(uchar,uchar);void keyscan();void shanping();void main()init();write_str(0x80,disp1);write_str(0x80+
29、0x40,disp2);while(1)keyscan();/鍵盤掃描if(aa=20)aa=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;ri+;if(yue=2&&ri=29)ri=0;yue+;if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|yue=12)&&ri=32)ri=0;yue+;if(yue=13)yue=0;nian+;if(yue=4|yue=6|yue=9|yue=11)&&ri=31)ri=0;yue
30、+; if(yue=13)yue=0;nian+;sfmdisplay(0x05,nian);sfmdisplay(0x08,yue);sfmdisplay(0x0b,ri);sfmdisplay(0x40+0x03,shi);sfmdisplay(0x40+0x06,fen);sfmdisplay(0x40+0x09,miao);void timer0() interrupt 1TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa+;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>
31、0;y-);void write_com(uchar com)/寫控制字lcd_rs=0;lcd_en=0;delay(1);lcd_en=1;lcd_com=com;delay(1);lcd_en=0;void write_data(uchar lcddata)/顯示字符lcd_rs=1;lcd_en=0;delay(1);lcd_en=1; lcd_data=lcddata;delay(1);lcd_en=0;void write_str(uchar addr,uchar *str)/顯示字符串write_com(addr);dowrite_data(*str);str+;while(*s
32、tr!='0');void init()write_com(0x38); /設(shè)置顯示模式write_com(0x08); /關(guān)閉顯示屏write_com(0x01); /清楚顯示屏write_com(0x0c); /開啟顯示屏(無光標(biāo))write_com(0x06); /讀寫字符時(shí)指針自動加1(整屏不移動)TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;void sfmdisplay(uchar addr,uchar date)write_com(0x80+addr);write_da
33、ta(date/10+0x30);write_data(date%10+0x30);void keyscan()if(KEY=0)delay(5);if(KEY=0)while(!KEY);KNUM+;switch(KNUM)case 1:TR0=0;write_com(0x80+0X40+0x0a);write_com(0x0f);break;case 2:write_com(0x80+0x40+0x07);break;case 3:write_com(0x80+0x40+0x04);break;case 4:write_com(0x80+0x0b);break;case 5:write_c
34、om(0x80+0x08);break;case 6:write_com(0x80+0x05);break;case 7:write_com(0x0c);TR0=1;KNUM=0;break;if(KNUM=1)if(KUP=0)delay(5);if(KUP=0)while(!KUP);miao+;if(miao=60) miao=0;sfmdisplay(0x40+0x09,miao);write_com(0x80+0X40+0x0a);write_com(0x0f);if(KDOWN=0)delay(5);if(KDOWN=0)while(!KDOWN);miao-;if(miao=-1
35、) miao=59;sfmdisplay(0x40+0x09,miao);write_com(0x80+0X40+0x0a);write_com(0x0f);if(KNUM=2)if(KUP=0)delay(5);if(KUP=0)while(!KUP);fen+;if(fen=60) fen=0;sfmdisplay(0x40+0x06,fen);write_com(0x80+0X40+0x07);write_com(0x0f);if(KDOWN=0)delay(5);if(KDOWN=0)while(!KDOWN);fen-;if(fen=-1) fen=59;sfmdisplay(0x40+0x06,fen);write_com(0x80+0X40+0x07);write_com(0x0f);if(KNUM=3)if(KUP=0)delay(5);if(KUP=0)while(!KUP);shi+;if(shi=24) shi=0;sfmdisplay(0x40+0x
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員崗位知識培訓(xùn)課件
- 取水論證報(bào)告范文
- 求職機(jī)構(gòu)報(bào)告范文
- 情緒調(diào)控研究報(bào)告范文
- 浙江國企招聘2024金華蘭溪市興瀾旅游開發(fā)有限公司招聘4人筆試參考題庫附帶答案詳解
- 鉗工理論知識培訓(xùn)課件
- 二零二五年度辦公室租賃及智能安防系統(tǒng)合同
- 二零二五年度贈與子女房產(chǎn)及裝修設(shè)計(jì)一體化協(xié)議
- 二零二五年度幼兒托管與環(huán)保教育服務(wù)協(xié)議
- 二零二五年度紋身藝術(shù)市場分析與營銷協(xié)議
- 2025年湖南司法警官職業(yè)學(xué)院單招職業(yè)技能測試題庫審定版
- 2025年湖南科技職業(yè)學(xué)院單招職業(yè)技能測試題庫匯編
- 《火力發(fā)電廠水處理技術(shù)概述》課件
- 春節(jié)后復(fù)工安全培訓(xùn)課件
- 全國電子工業(yè)版初中信息技術(shù)第二冊第2單元2.1活動3《使用云盤備份數(shù)據(jù)》教學(xué)設(shè)計(jì)
- 2025海南三亞政府雇員人才儲備庫招聘300人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 招標(biāo)代理服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 財(cái)務(wù)人員防騙技巧培訓(xùn)課件
- 交替?zhèn)髯g課件外研社王丹
- 人教版(2024)八年級下冊物理第九章《壓強(qiáng)》第4節(jié) 跨學(xué)科實(shí)踐:制作簡易活塞式抽水機(jī) 教案
- 《餐飲業(yè)概述》課件 - 探索美食與服務(wù)之道
評論
0/150
提交評論