版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào):課程設(shè)計(jì)說(shuō)明書(shū)題 目: 基于單片機(jī)的數(shù)字時(shí)鐘院 (系): 信息與通信學(xué)院 專 業(yè): 電子信息工程 學(xué)生姓名:學(xué) 號(hào):指導(dǎo)教師:2013年 12月 03 日摘 要電子時(shí)鐘是一種非常廣泛日常計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來(lái)越流行。它可以實(shí)現(xiàn)對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí)等多種功能。數(shù)字時(shí)鐘采用直觀數(shù)字顯示,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3-5V電壓供電。本系統(tǒng)硬件部分由AT89S52單片機(jī)、1062液晶顯示器、鍵盤(pán)、蜂鳴器系統(tǒng)等部分構(gòu)成。軟件部分在keil環(huán)境下用C51語(yǔ)言編寫(xiě),包括時(shí)間顯示、時(shí)間校對(duì)?;趩纹瑱C(jī)技術(shù)原理,
2、以單片機(jī)芯片AT89C52作為核心控制器,通過(guò)硬件電路的制作以及軟件程序的編制,設(shè)計(jì)制作出一個(gè)簡(jiǎn)易數(shù)字時(shí)鐘系統(tǒng)。單片機(jī)擴(kuò)展的LCD顯示器用來(lái)顯示秒、分、時(shí)、星期、日、月、年計(jì)數(shù)單元中的值。整個(gè)設(shè)計(jì)包括兩大部分:硬件部分和軟件部分,以單片機(jī)為核心,配以一定的外圍電路和軟件。硬件是整個(gè)系統(tǒng)的基礎(chǔ),軟件部分則要合理、充分地支持和使用系統(tǒng)的硬件,從而完成系統(tǒng)所要完成的任務(wù)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)AT89S52;液晶顯示1602;按鍵AbstractElectronic clock is a very extensive daily timing tool , more and more popular in
3、modern society . It can be achieved on the year, month , date, day , hour, minute , seconds chronograph and other functions . Intuitive digital display digital clock , also has a time calibration functions. This circuit uses AT89S52 microcontroller as the core , low power consumption , can work in l
4、ow-voltage 3V voltage can choose 3 5V voltage supply.The hardware of the system by the AT89S52 microcontroller , some 1062 LCD monitor, keyboard , buzzer systems and other accessories. Software part in keil environment with C51 language, including the time display, time proofreading.Based on the pri
5、nciple of single-chip technology , chip AT89C52 microcontroller as the core controller , and a software program produced by the preparation of the hardware circuit , designed to create a simple digital clock system. Single-chip LCD display is used to display the extended seconds, minutes , hours, da
6、y, date, month, year counting unit value. The whole design consists of two parts: hardware and software components , microcontroller as the core , with some peripheral circuits and software. Hardware is the foundation of the entire system, the software part will have reasonable and adequate to suppo
7、rt the use of systems and hardware ,thus completing the system to complete the task .Keywords:Microcontroller AT89S52; LCD 1602; buttons目 錄引言51設(shè)計(jì)方案51.1 數(shù)字時(shí)鐘的設(shè)計(jì)分析51.2 設(shè)計(jì)要求62 總體系統(tǒng)方案的設(shè)計(jì)與選擇論證62.1 計(jì)時(shí)方案62.2 控制芯片的選擇62.3 芯片控制語(yǔ)言的選擇73系統(tǒng)電路的設(shè)計(jì)及原理說(shuō)明83.1.1AT89S52單片機(jī)性能與特點(diǎn)8AT89S52單片機(jī)的引腳及內(nèi)部結(jié)構(gòu)83.2 單片機(jī)最小系統(tǒng)電路介紹83.3 LCD
8、1602顯示電路94 軟件設(shè)計(jì)部分94.1軟件編程思路94.2 電路的仿真10Proteus仿真原理圖10Proteus仿真結(jié)果.104.3 電路調(diào)試.104.3.1硬件調(diào)試.104.3.2軟件調(diào)試.10 5結(jié)論10謝 辭11參考文獻(xiàn)12附錄.13附錄一:原理圖.13附錄二:PCB圖.14附錄三:程序代碼.15引言21世紀(jì),電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代化電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。時(shí)鐘,自它被發(fā)明的那天起,就成為人類的朋友。隨著時(shí)間的推移,隨著科學(xué)技術(shù)的不斷
9、發(fā)展,隨著生活水平的提高,人們?cè)絹?lái)越追求人性化的事物,對(duì)時(shí)間計(jì)量的精度要求越來(lái)越高,應(yīng)用也越來(lái)越廣泛,這些都導(dǎo)致傳統(tǒng)的時(shí)鐘已不能滿足人們的需求?,F(xiàn)代生活的人們?cè)絹?lái)越重視了時(shí)間觀念,可以說(shuō)是時(shí)間和金錢(qián)劃上了等號(hào)。對(duì)于那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來(lái)說(shuō),時(shí)間的不準(zhǔn)確會(huì)帶來(lái)非常大的麻煩,所以以LCD1602為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)了更大的優(yōu)勢(shì)。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路
10、實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見(jiàn)的是數(shù)字時(shí)鐘。利用單片機(jī)實(shí)現(xiàn)的電子時(shí)鐘具有編程靈活、精確度高等特點(diǎn),并且便于電子時(shí)鐘的擴(kuò)充,即可用該電子鐘發(fā)出各種控制信號(hào),同時(shí)可以用該電子時(shí)鐘發(fā)出各種控制信號(hào)。本時(shí)鐘還具有環(huán)保、走時(shí)無(wú)噪音、低功耗等非實(shí)時(shí)時(shí)鐘不具有的功能。該實(shí)時(shí)時(shí)鐘不但可以作為家用,而且更可以在公共場(chǎng)合使用,如車站、碼頭、商場(chǎng)等場(chǎng)所。本文主要介紹用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)電子時(shí)鐘的方法,本設(shè)計(jì)由單片機(jī)AT89S52芯片和LCD1602為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)數(shù)字
11、時(shí)鐘。1 設(shè)計(jì)方案1.1 數(shù)字時(shí)鐘的設(shè)計(jì)分析方案一:采用AT89S52作為主控單片機(jī),顯示模塊選用LCD1602,設(shè)置部分選用按鍵電路;方案二:采用AT89S52作為主控單片機(jī),顯示模塊選用數(shù)碼管,設(shè)置部分選用按鍵電路;方案三:可用數(shù)字電路芯片74192,74153,7447,NE555,與非門(mén)和數(shù)碼管實(shí)現(xiàn)數(shù)字時(shí)鐘功能。三種方案相比較,方案三使用芯片過(guò)多,線路繁瑣,方案二顯示電路需要多個(gè)三極管輔助驅(qū)動(dòng),電路復(fù)雜,相比之下,方案一LCD1602顯示電路、驅(qū)動(dòng)程序都相對(duì)簡(jiǎn)單,所以本設(shè)計(jì)選擇了方案一。1.2 設(shè)計(jì)要求設(shè)計(jì)制作一個(gè)能實(shí)現(xiàn)顯示年、月、日、星期、時(shí)、分、秒功能時(shí)鐘,要求方案簡(jiǎn)單,易行并有一
12、定的實(shí)用意義。2 總體系統(tǒng)方案的設(shè)計(jì)與選擇論證2.1 計(jì)時(shí)方案采用AT89S52作為主控單片機(jī),顯示模塊選用LCD1602,設(shè)置部分選用按鍵電路配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,并且能使讀者在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉和提高,對(duì)單片機(jī)的指令系統(tǒng)能有更深入的了解。AT89S52外接LCD1602顯示電路、按鍵電路、晶振電路、復(fù)位電路、電源以及按鍵電路構(gòu)成設(shè)計(jì)框圖。設(shè)計(jì)框圖如圖2-1所示:AT89S52 按鍵電路LCD1602顯示電路晶振電路復(fù)位電路電源 圖2-1 系統(tǒng)設(shè)計(jì)框圖圖2-2 系統(tǒng)整體設(shè)計(jì)圖數(shù)字時(shí)鐘總電路包括單片機(jī)最小系統(tǒng),即單片機(jī)、振蕩電路、復(fù)位
13、電路、電源供電模塊,另外供電,模塊附有LED指示燈,指示電源電源供電是否成功,LCD1602顯示模塊,獨(dú)立按鍵模塊,下載接口模塊,蜂鳴器模塊。2.2 控制芯片的選擇AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。2.3 芯片控制語(yǔ)言的選擇C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)
14、語(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語(yǔ)言已先后被移植到大、中、小及微型機(jī)上,它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到C語(yǔ)言,適于編寫(xiě)系統(tǒng)軟件,三維、二維圖形和動(dòng)畫(huà),具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。3 系統(tǒng)電路的設(shè)計(jì)及原理說(shuō)明3.1 AT89S52單片機(jī)的工作原理AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flas
15、h 存儲(chǔ)器。它是利用單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器工作與定時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間(如10ms),然后再用另外一個(gè)計(jì)數(shù)器或軟件計(jì)數(shù)的形式對(duì)基準(zhǔn)時(shí)間進(jìn)行計(jì)數(shù),形成秒(如10ms計(jì)數(shù)100次),“秒”計(jì)數(shù)60次形成“分”,“分”計(jì)數(shù)60次形成“時(shí)”,“時(shí)”計(jì)數(shù)24次形成“天”,并清零,然后通過(guò)譯碼、顯示器把它們的內(nèi)容在顯示屏上顯示出來(lái)。在具體的設(shè)計(jì)時(shí),定時(shí)器采用中斷方式工作,對(duì)時(shí)鐘的形成在中端程序中實(shí)現(xiàn),主程序是對(duì)定時(shí)器/計(jì)數(shù)器的定義初始化,調(diào)用顯示程序和控制程序的初始化,另外為了使用方便,也設(shè)計(jì)了按鍵,他可以對(duì)時(shí)分秒等進(jìn)行調(diào)整,這樣,程序就加了按鍵程序。AT89S52單片機(jī)性能與特點(diǎn)(1)A
16、T89S52為 ATMEL 所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。(2)在單片機(jī)的應(yīng)用系統(tǒng)中,單片機(jī)作為一種較為簡(jiǎn)單的計(jì)算機(jī)是嵌入到系統(tǒng)內(nèi)部,作為系統(tǒng)電路的一部分,作為系統(tǒng)實(shí)現(xiàn)數(shù)字化和智能化的關(guān)鍵部件。AT89S52主要功能列舉如下:擁有靈巧的8位CPU和在系統(tǒng)可編程Flash晶片內(nèi)部具時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)內(nèi)部程序存儲(chǔ)器(ROM)為 8KB內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 256字節(jié)32 個(gè)可編程I/O 口線8 個(gè)中斷向量源三個(gè) 16 位定時(shí)器/計(jì)數(shù)器三級(jí)加密程序存儲(chǔ)器全雙工UART串行通道3.1.2AT89S52單片機(jī)的引腳
17、及內(nèi)部結(jié)構(gòu)P89C5X系列單片機(jī)有40個(gè)引腳。其引腳圖如圖2-1所示:(1)VCC:AT89S52電源正端輸入,接+5V。(2)VSS:電源地端。(3)XTAL1:?jiǎn)涡酒到y(tǒng)時(shí)鐘的反相放大器輸入端。(4)XTAL2:系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。(5)RESET:AT89S52的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得
18、內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開(kāi)始讀入程序代碼而執(zhí)行程序。(6)EA/Vpp:"EA"為英文"External Access"的縮寫(xiě),表示存取外部程序代碼之意,低電平動(dòng)作,也就是說(shuō)當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來(lái)執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無(wú)程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。(7)ALE/PROG:ALE是
19、英文"Address Latch Enable"的縮寫(xiě),表示地址鎖存器啟用信號(hào)。AT89S52可以利用這支引腳來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0A7)鎖進(jìn)鎖存器中,因?yàn)锳T89S52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄 圖3-1 AT89S52引腳圖8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。(8)PSEN:此為"Program Store Enable"的縮寫(xiě),其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為
20、讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。(9)PORT0(P0.0P0.7):端口0是一個(gè)8位寬的開(kāi)路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器)
21、,P0就以多工方式提供地址總線(A0A7)及數(shù)據(jù)總線(D0D7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0A7,再配合端口2所送出的A8A15合成一完整的16位地址總線,而定址到64K的外部存儲(chǔ)器空間。(10)PORT2(P2.0P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來(lái)使用。P2除了當(dāng)做一般I/O端口使用外,若是在AT89S52擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來(lái)使用了。(11)PORT1(P1.0P1.7):端
22、口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。(12)PORT3(P3.0P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋F湟_分配如下:P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.
23、2:INT0,外部中斷0輸入。P3.3:INT1,外部中斷1輸入。P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)入信號(hào)。P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。AT89S52單片機(jī)的內(nèi)部功能模塊如下圖3-2,為實(shí)現(xiàn)其基本功能,內(nèi)部必需要有配置輸入輸出(I/O口)、儲(chǔ)存器(RAM或ROM)、運(yùn)算和控制單元(CPU)等相應(yīng)的功能電路。圖3-2 AT89S52內(nèi)部結(jié)構(gòu)3.2 單片機(jī)最小系統(tǒng)電路介紹單片機(jī)最小系統(tǒng)主要由復(fù)位電路,晶振電路,電源等幾部分組成。復(fù)位電路是為了把電路初始化到一個(gè)確定的狀態(tài),把一個(gè)例如狀態(tài)機(jī)初始化到空狀態(tài);震蕩電路是為系
24、統(tǒng)提供基本的時(shí)鐘信號(hào);電源則是為系統(tǒng)供電。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖2-1并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且這個(gè)高電平持續(xù)的時(shí)間由電路的RC值決定,所以適合組合RC的取值就可以保證可靠的復(fù)位。一般C取10uF,R取10K。單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容的大小直接影響單片機(jī)的復(fù)位時(shí)間,相應(yīng)的值越大,復(fù)位時(shí)間越短。晶振電路:典型的晶振取11.0592MHz或者12MHz,單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。圖3-3 單片機(jī)最小系統(tǒng)3.3 LCD1602顯示電路圖3-4 1602顯示電路液晶顯示器簡(jiǎn)
25、稱是利用液晶經(jīng)過(guò)處理后能夠改變光線傳輸方向的特性,達(dá)到顯示字符或者圖形的目的。其特點(diǎn)是體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中有著日益廣泛的應(yīng)用。1602芯片:主要用于顯示時(shí)間和定時(shí)時(shí)間。1602芯片由點(diǎn)陣字符液晶顯示器件和專用的行、列驅(qū)動(dòng)器、控制及必要的鏈接件、結(jié)構(gòu)件組裝而成,可以顯示數(shù)字和西文字符,但不能顯示圖形,已經(jīng)可以滿足本次設(shè)計(jì)的需要。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個(gè)控制端口,工作電壓為5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能。4 軟件設(shè)計(jì)部分軟程序主要分為兩個(gè)部分,即液晶顯示部分和控制按鍵部分。由于本設(shè)計(jì)采
26、用的是用按鍵分別控制,可以在主函數(shù)中調(diào)用一個(gè)鍵盤(pán)掃描的函數(shù),當(dāng)相應(yīng)的不同按鍵按下后通過(guò)控制單片機(jī)P2的輸出,從而控制液晶的顯示。源程序見(jiàn)附錄三所示:4.1 軟件編程思路在確定了時(shí)鐘要實(shí)現(xiàn)的功能后按照上述各按鍵所實(shí)現(xiàn)的效果編寫(xiě)程序。本程序包含液晶寫(xiě)指令函數(shù)(write-com())、寫(xiě)數(shù)據(jù)函數(shù)(write-data()、初始化函數(shù)(init())、寫(xiě)入時(shí)分秒函數(shù)(write-sfm())和鍵盤(pán)掃描函數(shù)這些程序圍繞主函數(shù)相互調(diào)用。4.2 電路的仿真4.2.1Proteus仿真原理圖圖4-1 仿真原理圖4.2.2Proteus仿真結(jié)果圖4-2 仿真結(jié)果圖4.3 電路調(diào)試4.3.1硬件調(diào)試將安裝好的電
27、路板按要求接入5V電源,指示燈亮,說(shuō)明電源連接成功;撥動(dòng)開(kāi)關(guān)后,兩個(gè)指示燈都亮,電路板已進(jìn)入正常供電模塊,液晶也已點(diǎn)亮,調(diào)節(jié)控制LCD1602的電位器,使液晶顯示屏第一行出現(xiàn)16個(gè)小黑方塊,則電位器調(diào)已合適,硬件調(diào)試結(jié)束。4.3.2軟件調(diào)試先定義管腳,寫(xiě)void w_com(uchar com);(寫(xiě)指令)和void w_data(uchar date);(寫(xiě)數(shù)據(jù))函數(shù),初始化函數(shù),中斷函數(shù),主函數(shù)等,液晶顯示年月日、星期、時(shí)分秒,然后寫(xiě)按鍵掃描函數(shù),實(shí)現(xiàn)時(shí)間校對(duì)功能。5 結(jié)論本次設(shè)計(jì)主要采用了AT89S52單片機(jī)和LCD1602顯示頻等元器件,實(shí)現(xiàn)本次設(shè)計(jì)的方法不唯一,但相較而言,本方案所用
28、的元器件較少,提高了設(shè)計(jì)電路的易操作性,并且實(shí)驗(yàn)的調(diào)節(jié)方法也很簡(jiǎn)單,做到了節(jié)約、簡(jiǎn)便、迅速、易行的基本要求。通過(guò)C語(yǔ)言將程序?qū)懭胄酒瑑?nèi)部后,是芯片按照設(shè)定進(jìn)行運(yùn)行。課程設(shè)計(jì)主要目的還是培養(yǎng)我們綜合運(yùn)用所學(xué)的知識(shí),將理論與實(shí)踐相結(jié)合,初步認(rèn)識(shí)單片機(jī)芯片與電路,研究它的線路組成和工作方式、工作原理。電路設(shè)計(jì)是一個(gè)很靈活的東西,它反映你解決問(wèn)題的邏輯思維和創(chuàng)新能力。本次課程設(shè)計(jì),我能運(yùn)用已學(xué)知識(shí)解決設(shè)計(jì)過(guò)程中碰到的問(wèn)題,使自己的動(dòng)手能力和思考問(wèn)題的能力得到很大的提高本次實(shí)驗(yàn)提高了我的課程設(shè)計(jì)基本技能,使我學(xué)會(huì)了如何設(shè)計(jì)電路,熟練了電路焊接方法以及掌握硬件調(diào)試方法與軟件調(diào)試方法,同時(shí)還提高了我的動(dòng)手能
29、力和測(cè)試技術(shù)能力。從開(kāi)始進(jìn)行設(shè)計(jì)到完成實(shí)現(xiàn)數(shù)字時(shí)鐘功能,我找了很多資料,并應(yīng)用了Altium designer,Proteus軟件進(jìn)行畫(huà)圖、仿真,并通過(guò)調(diào)試以完成設(shè)計(jì)要求的功能。 謝 辭感謝學(xué)校、學(xué)院給我們提供這樣的實(shí)踐動(dòng)手機(jī)會(huì),并通過(guò)課程設(shè)計(jì)使我們能夠有機(jī)會(huì)將書(shū)本上學(xué)到的知識(shí)運(yùn)用到的實(shí)際中去。在電路設(shè)計(jì)和硬件調(diào)試的過(guò)程中,本人通過(guò)復(fù)習(xí)課本和上網(wǎng)查閱多種資料,尤其是著重對(duì)單片機(jī)的學(xué)習(xí),了解其原理、性能及各引腳的作用,此外本次設(shè)計(jì)中的復(fù)位電路,晶振電路及LCD1602顯示部分也有了更深刻的認(rèn)識(shí),也對(duì)模擬電路和數(shù)字電路的基礎(chǔ)知識(shí)又有了許多新的了解,從而對(duì)設(shè)計(jì)方法與性能參數(shù)的測(cè)試有所了解與掌握。在這
30、次課程設(shè)過(guò)程中蔣俊正老師給了我很多的指導(dǎo)和幫助,并監(jiān)督我及時(shí)完成了本次課程設(shè)計(jì),在此對(duì)蔣俊正老師和所有給予我?guī)椭耐瑢W(xué)表示感謝。謝謝!參考文獻(xiàn)1 王衛(wèi)東 李旭瓊. 模擬電子技術(shù)基礎(chǔ)(第2版). 北京:電子工業(yè)出版社,20102 周茜.電路分析基礎(chǔ)M.北京:電子工業(yè)出版社,2010.3 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2008.4 華成英. 模擬電子技術(shù)基礎(chǔ)(第4版). 北京:高等教育出版社,20065 康華光. 電子技術(shù)基礎(chǔ)-模擬部分(第4版).北京:高等教育出版社,2006附 錄附錄一:原理圖附錄二:PCB圖附錄三:程序代碼#include<reg52.h> #d
31、efine uchar unsigned char #define uint unsigned int sbit rs=P20;sbit rw=P21; sbit lcden=P22; sbit s1=P14; sbit s2=P16; sbit s3=P17;sbit beep=P36; uint count,s1num; uchar shi,fen,miao,zhou,ri,yue,nian; uchar code table=" 2013-11-26 2 " uchar code table1=" 23:59:55 " void delay(uin
32、t z); /延時(shí)1msvoid di();/void w_com(uchar com); /寫(xiě)指令void w_data(uchar date); /寫(xiě)數(shù)據(jù)void init(); /1602初始化void w_sfm(uchar add,uchar date);/時(shí)分秒顯示函數(shù)void w_zhou(uchar add,uchar date);/周顯示函數(shù)void w_ryn(uchar add,uchar date); /日月年顯示函數(shù)void keyscan();/按鍵掃描程序/-主程序-/-主程序-void main() init(); TMOD=0x01; /使用定時(shí)器T0的模式1
33、TH0=(65536-46083)/256; /定時(shí)器T0的高8位設(shè)置初值TL0=(65536-46083)%256; /定時(shí)器T0的低8位設(shè)置初值EA=1; /開(kāi)總中斷ET0=1; /定時(shí)器T0中斷允許TR0=1; /啟動(dòng)定時(shí)器T0 while(1) keyscan(); if(count=20) count=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; di(); shi+; if(shi=24) shi=0; zhou+; ri+; if(zhou=8) zhou=1; w_zhou(14,zhou); if(yue=1|yu
34、e=3|yue=5|yue=7|yue=8|yue=10|yue=12) if(ri=32) ri=1; yue+; if(yue=13) yue=1; nian+; if(nian=100) nian=1; w_ryn(4,nian); w_ryn(7,yue); w_ryn(10,ri); if(yue=4|yue=6|yue=9|yue=11) if(ri=31) ri=1; yue+; if(yue=13) yue=1; nian+; if(nian=100) nian=1; w_ryn(4,nian); w_ryn(7,yue); w_ryn(10,ri); w_sfm(4,shi)
35、; w_sfm(7,fen); w_sfm(10,miao); /-子程序-/-子程序-void delay(uint z) uint x,y; for(x=0;x<z;x+) for(y=0;y<110;y+); void di() beep=0; delay(50); beep=1; delay(50); void w_com(uchar com) rs=0; rw=0; lcden=0; P0=com; delay(5); lcden=1;/給高脈沖 delay(5); lcden=0; void w_data(uchar date) rs=1; rw=0; lcden=0;
36、 P0=date; delay(5); lcden=1; delay(5); lcden=0; void init() uchar num; lcden=0;/初始化使能為0 fen=59; miao=55; shi=23; zhou=2; ri=26; yue=11; nian=1013; w_com(0x38);/寫(xiě)入顯示模式指令碼 w_com(0x0c);/寫(xiě)入顯示開(kāi)/關(guān)及光標(biāo)指令碼 w_com(0x06);/當(dāng)寫(xiě)一個(gè)字符后,地址指針加一,光標(biāo)加一,不動(dòng)光標(biāo)不閃爍 w_com(0x01); /清零 w_com(0x80);/代表第一行第一位 for(num=0;num<15;num
37、+) w_data(tablenum); delay(5); w_com(0x80+0x40);/代表第二行第一位 for(num=0;num<12;num+) w_data(table1num); delay(5); TMOD=0x01; TH0=0x3c; TL0=0xb0; EA=1; ET0=1; TR0=1; /* 初始化函數(shù)*/ void w_sfm(uchar add,uchar date)/時(shí)分秒 uchar shi,ge; shi=date/10; ge=date%10; w_com(0x80+0x40+add);/寫(xiě)第二行add個(gè)地址 w_data(0x30+shi)
38、; w_data(0x30+ge); void w_zhou(uchar add,uchar date)/周 uchar z; z=date; w_com(0x80+add); /寫(xiě)第一行add個(gè)地址 w_data(0x30+z); void w_ryn(uchar add,uchar date)/日 uchar shi,ge; shi=date/10; ge=date%10; w_com(0x80+add); w_data(0x30+shi); w_data(0x30+ge); void keyscan() if(s1=0)/閃爍位置 delay(15); if(s1=0) while(!s1); s1num+; if(s1num=1)/s1鍵按一下依次從秒分周日月時(shí)向左移 TR0=0; w_com
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)上冊(cè)人教版歷史知識(shí)點(diǎn)總結(jié)
- 2025健身房教練聘用合同
- 課題申報(bào)參考:領(lǐng)導(dǎo)差錯(cuò)取向?qū)苿?chuàng)企業(yè)雙元綠色創(chuàng)新的跨層次傳導(dǎo)及干預(yù)機(jī)制研究
- 跨文化教育中的創(chuàng)新教學(xué)方法探討
- 2024年壓敏熱熔膠項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年核電站用過(guò)濾氈項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 趣味數(shù)學(xué)在辦公中的應(yīng)用
- 中考生物一輪復(fù)習(xí)抓重點(diǎn)考典型專題19 生物的生殖和發(fā)育(含解析)
- 個(gè)人承包物業(yè)清潔維護(hù)服務(wù)合同2024年度3篇
- 2025年浙科版必修2物理下冊(cè)階段測(cè)試試卷含答案
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實(shí)踐路徑
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年湖北省知名中小學(xué)教聯(lián)體聯(lián)盟中考語(yǔ)文一模試卷
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 燃?xì)庑袠I(yè)有限空間作業(yè)安全管理制度
- JB T 7946.1-2017鑄造鋁合金金相
- 包裝過(guò)程質(zhì)量控制
- 通用電子嘉賓禮薄
- 赤峰市海業(yè)礦產(chǎn)有限責(zé)任公司福合元礦區(qū)銅鉬礦2022年度礦山地質(zhì)環(huán)境治理與土地復(fù)墾方案
評(píng)論
0/150
提交評(píng)論