版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上指導(dǎo)教師評(píng)定成績(jī): 審定成績(jī): 重 慶 郵 電 大 學(xué) 移 通 學(xué) 院課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目:基于LCD的電子時(shí)鐘實(shí)驗(yàn)學(xué) 校: 重慶郵電大學(xué)移通學(xué)院 學(xué) 生 姓 名: 曹相凱 專 業(yè): 電氣工程與自動(dòng)化 班 級(jí): 學(xué) 號(hào): 指 導(dǎo) 教 師: 陳龍燦 設(shè)計(jì)時(shí)間: 2013 年 12 月重慶郵電大學(xué)移通學(xué)院前言 時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘?,F(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體
2、振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用
3、單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法,典型的時(shí)鐘芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。本文主要介紹用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn)電子時(shí)鐘的方法,本設(shè)計(jì)由單片機(jī)AT89S51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。系統(tǒng)設(shè)計(jì)課題目標(biāo)及總體方案通過S3C44B0X處理器的學(xué)習(xí),可以利用其內(nèi)部的RTC單元和LCD控制器,外接LCD模塊、晶振和(后備)電源實(shí)現(xiàn)電子實(shí)時(shí)時(shí)鐘的功能。主要實(shí)現(xiàn)方法為:通過電源和晶振保證處理器的
4、正常工作和時(shí)鐘來源,通過編程設(shè)定RTC單元的工作模式,實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘的功能;然后根據(jù)所要求顯示的圖形效果,編寫程序設(shè)定LCD控制器的相應(yīng)寄存器,將RTC單元和LCD控制器合理有效地結(jié)合起來;最終由LCD模塊作出相應(yīng)動(dòng)作,完成實(shí)時(shí)時(shí)鐘的顯示功能。本課程設(shè)計(jì)設(shè)計(jì)一種基于ARM7的嵌入式微處理器S3C44B0X和LCD顯示器的電子時(shí)鐘,實(shí)現(xiàn)電子時(shí)鐘的功能,并在LCD上顯示類似的時(shí)鐘界面;動(dòng)態(tài)顯示當(dāng)前的時(shí)間,包括:年、月、日、時(shí)、分、秒,時(shí)針。本課程設(shè)計(jì)主要為軟件設(shè)計(jì),硬件部分使用EL-ARM-830教學(xué)實(shí)驗(yàn)箱上的S3C44B0X和LCD模塊,LCD初始化模塊、時(shí)鐘應(yīng)用系統(tǒng)模塊等,其中,時(shí)鐘系統(tǒng)應(yīng)用模塊
5、包括時(shí)鐘計(jì)時(shí)模塊、時(shí)鐘顯示模塊等。各模塊之間功能獨(dú)立,協(xié)同完成本課程設(shè)計(jì)的全部功能。系統(tǒng)設(shè)計(jì)框圖如圖 硬件平臺(tái)簡(jiǎn)介S3C44B0X簡(jiǎn)介S3C44B0X 微處理器是三星公司研發(fā)的基于ARM7TDMI 核的高性能嵌入式處理器,為手持設(shè)備和一般類型應(yīng)用提供了高性價(jià)比和高性能的微控制器解決方案。由于其高性價(jià)比以及內(nèi)嵌了多種接口,在手持設(shè)備和消費(fèi)類電子中得到了廣泛的應(yīng)用。為了降低成本,S3C44B0X提供了豐富的內(nèi)置部件,包括:8KB cache、內(nèi)部SRAM、LCD 控制器、帶自動(dòng)握手協(xié)議的2通道UART、4通道DMA、系統(tǒng)管理器(片選邏輯,F(xiàn)P/EDO/SDRAM控制器)、帶有PWM功能的5通道定時(shí)
6、器,I/O端口,RTC,8通道10位ADC,IIC-BUS接口,IIS-BUS接口,同步SIO接口和PLL倍頻器。S3C44B0X 采用了ARM7TDMI內(nèi)核,0.25um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)編譯器。它的低功耗和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。同樣S3C44B0X還采用了一種新的總線結(jié)構(gòu),即SAMBAII(三星ARM CPU 嵌入式微處理器總線結(jié)構(gòu))。 S3C44B0X的特性是它的CPU核,是由ARM公司設(shè)計(jì)的16/32位ARM7TDMI RISC處理器(主頻66MHZ)。ARM7TDMI體系結(jié)構(gòu)的特點(diǎn)是它集成了Thumb代碼壓縮器,片上的ICE斷點(diǎn)調(diào)試支持,和一個(gè)
7、32 位的硬件乘法器。S3C44B0X 內(nèi)置LCD控制器可以支持規(guī)格為每像素2位 (4 級(jí)灰度) 或每像素4 位(16 級(jí)灰度)的黑白LCD。也可以支持每像素8位(256級(jí)顏色)的彩色LCD屏。LCD控制器可以通過編程支持不同LCD屏的要求,例如行和列像素?cái)?shù),數(shù)據(jù)總線寬度,接口時(shí)序等。 S3C44B0X與LCD連接本課程設(shè)計(jì)使用的EL-ARM-830教學(xué)實(shí)驗(yàn)箱包含有一塊5.7寸,256色,320X240像素的LCD顯示屏,S3C44B0X內(nèi)置了LCD控制器,控制LCD。S3C44B0X與LCD連接示意圖如圖3。 S3C44B0X LCD控制器LCD5.7寸,256色,320*240 圖3 S3
8、C44B0X與LCD連接示意圖RTC模塊 利用RTC的各種寄存器功能,設(shè)計(jì)出一個(gè)時(shí)鐘表。 實(shí)時(shí)時(shí)鐘(RTC)器件是一種能提供日歷/時(shí)鐘、數(shù)據(jù)存儲(chǔ)等功能的專用集成電路,常用作各種計(jì)算機(jī)系統(tǒng)的時(shí)鐘信號(hào)源和參數(shù)設(shè)置存儲(chǔ)電路。RTC具有計(jì)時(shí)準(zhǔn)確、耗電低和體積小等特點(diǎn),特別適用于在各種嵌入式系統(tǒng)忠記錄事件發(fā)生的時(shí)間和相關(guān)信息,尤其是在通信工程、電力自動(dòng)化、工業(yè)控制等自動(dòng)化程度較高領(lǐng)域的無人職守環(huán)境。隨著集成電路技術(shù)的不斷發(fā)展,RTC器件的新品也不斷推出。這些新品不僅具有準(zhǔn)確的RTC,還有大容量的存儲(chǔ)器、溫度傳感器和A/D數(shù)據(jù)采集通道等,已成為集RTC、數(shù)據(jù)采集和存儲(chǔ)于一體的綜合功能器件,特別適用于以微控
9、制器為核心的嵌入式系統(tǒng)。 S3C44B0X實(shí)時(shí)時(shí)鐘單元是處理器集成的片內(nèi)外設(shè)。由開發(fā)板上的后備電池供電,可以在系統(tǒng)電源關(guān)閉的情況下運(yùn)行。RTC發(fā)送8位BCD碼數(shù)據(jù)到CPU。傳送的數(shù)據(jù)包括秒、分、小時(shí)、星期、月份和年份。RTC單元時(shí)鐘源由外部32。768kHz晶振提供,可以實(shí)現(xiàn)鬧鐘(報(bào)警)功能。S3C44B0X實(shí)時(shí)時(shí)鐘單元特性如下:BCD數(shù)據(jù):秒、分、小時(shí)、星期、日期、月份和年份;鬧鐘(報(bào)警)功能:產(chǎn)生定時(shí)中斷或激活系統(tǒng);自動(dòng)計(jì)算閏年;無2000年問題;獨(dú)立的電源輸入;支持ms級(jí)時(shí)間片中斷,位RTOS提供時(shí)間基準(zhǔn)。2)讀/寫寄存器訪問RTC模塊的寄存器,首先要社RTCCON的位0位1。CPU通過
10、讀取RTC模塊中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON和BCDYEAR的值,得到當(dāng)前的相應(yīng)時(shí)間值。但是,由于多個(gè)寄存器一次讀出,所以由可能產(chǎn)生錯(cuò)誤。例如:用戶一次讀取年(1989)、月(12)、日(31)、時(shí)(23)、分(59)、秒(59)。當(dāng)秒數(shù)位159時(shí),無任何問題;但是,當(dāng)秒數(shù)位0時(shí),當(dāng)前時(shí)間和日期就變成了1990年1月1日0時(shí)0分。在這種情況下(秒數(shù)位0),用戶應(yīng)該重新讀取年份到分鐘的值。3)后備電池RTC單元可以使用后后備電池通過引腳RTCVDD供電。當(dāng)系統(tǒng)關(guān)閉電源以后,CPU和RTC的接口電路被阻斷。后備電池只需要驅(qū)動(dòng)晶振和BC
11、D計(jì)數(shù)器,從而達(dá)到最小功耗。4)鬧鐘報(bào)警功能RTC在指定的時(shí)間產(chǎn)生報(bào)警信號(hào),包括CPU工作在正常模式和休眠(Power Down)模式下。在正常工作模式,報(bào)警中斷信號(hào)(ALMINT)別激活;在修們模式,報(bào)警中斷信號(hào)和喚醒信號(hào)(PMWKUP)同時(shí)被激活。RTC報(bào)警寄存器(RTCALM)決定報(bào)警功能的使能/屏蔽和完成報(bào)警時(shí)間檢測(cè)。5)時(shí)間片中斷RTC時(shí)間片中斷用于中斷請(qǐng)求。寄存器TICNT由一個(gè)中斷使能位和中斷計(jì)數(shù)。該中斷計(jì)數(shù)自動(dòng)遞減,當(dāng)達(dá)到0時(shí),則產(chǎn)生中斷。中斷周期)Period計(jì)算公式如下:Period(n1)/128s其中,n為RTC時(shí)鐘中斷計(jì)數(shù),可取值為1127。6)置0計(jì)數(shù)功能RTC的置
12、0計(jì)數(shù)功能可以實(shí)現(xiàn)30s、40s和50s步長(zhǎng)重新計(jì)數(shù),供某些專用系統(tǒng)使用。當(dāng)使用50s置0設(shè)置時(shí),如果當(dāng)前時(shí)間是11:59:49,則1s后時(shí)間將變?yōu)?2:00:00。注意:所有的RTC寄存器都是字節(jié)型的,必須使用字節(jié)訪問指令(STRB、LDRB)或字符型指針訪問。RTC初始化。LCD初始化模塊設(shè)計(jì) 本模塊的主要功能完成LCD的初始化,加載LCD驅(qū)動(dòng)程序,使LCD與S3C44B0X實(shí)現(xiàn)對(duì)接,完成顯示功能。本模塊我們使用了實(shí)驗(yàn)箱現(xiàn)有的相關(guān)程序。 LCD模塊是嵌入式應(yīng)用系統(tǒng)中重要的人機(jī)交互部件。目前,許多常用的LCD模塊一般自身都不帶有字庫,而實(shí)際應(yīng)用中人機(jī)界面又經(jīng)常需要顯示中英文字符。對(duì)于不帶字庫
13、的LCD模塊顯示字符的解決方法通常是利用字模提取軟件來進(jìn)行預(yù)處理,即將系統(tǒng)中可能用到的字符一一將其字模提取出來,并將字模數(shù)據(jù)存放在程序空間中。該方法只適用于顯示字符固定且數(shù)量較入式系統(tǒng)中,靈活性差??紤]到嵌入式系統(tǒng)一般帶有一定容量的ROM存儲(chǔ)系統(tǒng),本文以無字的圖形LCD模塊LM2028為例,搭建了以ARM微處理器s3C44BOX為基礎(chǔ)的嵌式液晶系統(tǒng)工作平臺(tái),在此平臺(tái)的基礎(chǔ)上,討論了一種基于自制硬件字庫的中英文字符顯示方案。LCD控制器的作用是將系統(tǒng)存儲(chǔ)器中的LCD圖像數(shù)據(jù)傳送到外部LCD驅(qū)動(dòng)器中,并產(chǎn)生必須的LCD控制信號(hào)。S3C44BOX LCD控制器支持在灰白LCD上的單色、4級(jí)灰度、16
14、級(jí)灰度顯示,也能與彩色LCD接口支持最大256色的顯示??梢跃幊讨С植煌胶痛怪秉c(diǎn)數(shù)(64O×480、320×240、160×160等)、不同數(shù)據(jù)線寬度、不同接口時(shí)序和刷新速率的LCD,支持4位雙掃描、4位單掃描、8位單掃描的LCD顯示器,并支持水平垂直卷動(dòng),以用來支持更大的屏幕顯示(如1280×1280) 。S3C44BOX支持查找表,用于各種色彩選擇或灰度級(jí)別的選擇。在灰度模式中,通過查找表可以在16級(jí)灰度中選擇四種灰度,在彩色模式中,一個(gè)字節(jié)的圖像數(shù)據(jù)是用3位表示紅色,3位表示綠色,2位表示藍(lán)色,通過查找表可以選擇16級(jí)紅色中的8種紅色、16級(jí)綠
15、色中的8種綠色和16級(jí)藍(lán)色中的4種藍(lán)色。S3C44B0X 中具有內(nèi)置的LCD 控制器,它能將顯示緩存(在SDRAM存儲(chǔ)器中)中的LCD圖像數(shù)據(jù)傳輸?shù)酵獠康腖CD驅(qū)動(dòng)電路上的邏輯功能。它支持單色、4級(jí)、16級(jí)灰度LCD顯示,以及256彩色LCD顯示。在顯示灰度時(shí),它采用時(shí)間抖動(dòng)算法(time-based dithering algorithm)和幀率控制 (Frame Rate Control)方法,在顯示彩色時(shí),它采用RGB的格式,即RED、GREEN、BLUE,三色混合調(diào)色。通過軟件編程,可以實(shí)現(xiàn)233或332的RGB調(diào)色的格式。對(duì)于不同尺寸的LCD顯示器,它們會(huì)有不同的垂直和水平象素點(diǎn)、不
16、同的數(shù)據(jù)寬度、不同的接口時(shí)間及刷新率,通過對(duì)LCD 控制器中的相應(yīng)寄存器寫入不同的值,來配置不同的LCD 顯示板。S3C44B0X 中內(nèi)置的LCD 控制器提供了下列外部接口信號(hào):VFRAME: LCD 控制器和LCD 驅(qū)動(dòng)器之間的幀同步信號(hào)。它通知LCD屏開始顯示新的一幀,LCD 控制器在一個(gè)完整幀的顯示后發(fā)出VFRAME 信號(hào)。VLINE: LCD 控制器和LCD 驅(qū)動(dòng)器間的同步脈沖信號(hào),LCD 驅(qū)動(dòng)器通過它來將水平移位寄存器中的內(nèi)容顯示到LCD 屏上。LCD 控制器在一整行數(shù)據(jù)全部傳輸?shù)絃CD 驅(qū)動(dòng)器后發(fā)出VLINE 信號(hào)。VCLK: LCD 控制器和LCD 驅(qū)動(dòng)器之間的象素時(shí)鐘信號(hào),LC
17、D 控制器在VCLK的上升沿發(fā)送數(shù)據(jù),LCD 驅(qū)動(dòng)器在VCLK 的下降沿采樣數(shù)據(jù)。VM: LCD 驅(qū)動(dòng)器所使用的交流信號(hào)。LCD 驅(qū)動(dòng)器使用VM 信號(hào)改變用于打開或關(guān)閉象素的行和列電壓的極性。VM 信號(hào)在每一幀觸發(fā),也可通過編程在一定數(shù)量的VLINE 信號(hào)后觸發(fā)。VD3:0: LCD 象素?cái)?shù)據(jù)輸出端口。VD7:4: LCD 象素?cái)?shù)據(jù)輸出端口。LCD 控制器包含REGBANK, LCDCDMA, VIDPRCS, 和TIMEGEN。REGBANK 具有18 個(gè)可編程寄存器,用于配置LCD 控制器。LCDCDMA為專用的DMA,它可以自動(dòng)地將顯示數(shù)據(jù)從幀內(nèi)存中傳送到LCD 驅(qū)動(dòng)器中。通過專用DMA
18、,可以實(shí)現(xiàn)在不需要CPU 介入的情況下顯示數(shù)據(jù)。VIDPRCS 從LCDCDMA 接收數(shù)據(jù),將相應(yīng)格式(比如48 位單掃描和4 位雙掃描顯示模式)的數(shù)據(jù)通過VD7:0發(fā)送到LCD的驅(qū)動(dòng)器上。TIMEGEN 包含可編程的邏輯,以支持常見的LCD 驅(qū)動(dòng)器所需要的不同接口時(shí)間和速率的要求。TIMEGEN 部分產(chǎn)生VFRAME,VLINE, VCLK, VM 等信號(hào)。Lcd顯示的時(shí)鐘界面包括:靜止不動(dòng)的圓形鐘面和一直在走動(dòng)的時(shí)鐘指針。所以需要構(gòu)建兩個(gè)重要的函數(shù)實(shí)現(xiàn)畫圓和畫直線。以下為畫圓函數(shù):該算法是通過X變量的自增,補(bǔ)償1 修正正方形控制Y變量自減,找到距中心恒定距離的點(diǎn),其中rs=45,X自0加1
19、增至45。和原點(diǎn)坐標(biāo)運(yùn)算,可以在第一象限找到一點(diǎn),再通過折疊對(duì)稱找到其他象限的三個(gè)點(diǎn),通過畫點(diǎn)函數(shù)描繪出。再畫他的45度鏡像就好了。以中心的坐標(biāo)為起點(diǎn),使用while函數(shù)與指針最外圈的點(diǎn)比較,不斷延長(zhǎng)直至相等,所以事先計(jì)算出時(shí)針,分針和秒針三個(gè)同心圓最外圈點(diǎn)的坐標(biāo),以便帶入函數(shù)。也同圓類似,要考慮不同象限點(diǎn)的情況,根據(jù)不同的位置帶參數(shù)到畫點(diǎn)函數(shù)中描繪。時(shí)鐘應(yīng)用系統(tǒng)模塊設(shè)計(jì) 本模塊是電子時(shí)鐘功能實(shí)現(xiàn)的主要模塊,也是本次課程設(shè)計(jì)的核心模塊,本模塊實(shí)現(xiàn)的功能主要有:時(shí)間計(jì)時(shí),鐘面時(shí)間顯示,數(shù)字時(shí)間顯示。其中,時(shí)間計(jì)時(shí)功能和在LCD上顯示數(shù)字鐘顯示功能較易實(shí)現(xiàn),之前的單片機(jī)課程設(shè)計(jì)和HDL課程設(shè)計(jì)均有
20、所涉及。計(jì)時(shí)使用S3C44B0X內(nèi)部時(shí)鐘脈沖和分頻實(shí)現(xiàn),在LCD上顯示數(shù)字鐘顯示使用LCD數(shù)字顯示功能實(shí)現(xiàn)。在LCD上實(shí)現(xiàn)鐘面顯示功能較為復(fù)雜,主要包括以下過程:1、 給秒針、分針各設(shè)定60個(gè)坐標(biāo)(包括X左邊和Y坐標(biāo)),表示60秒和60分,給時(shí)針設(shè)定12個(gè)坐標(biāo)(包括X左邊和Y坐標(biāo));2、 設(shè)定鐘面顯示初值并完成初值與時(shí)針、分針、秒針的坐標(biāo)的映射,更更改初值可以完成時(shí)間的設(shè)定;3、 使用畫線函數(shù)完成秒針、分針、時(shí)針顯示,主要功能是擦除上一秒(分、時(shí))的軌跡和顯示這一秒(分、時(shí))。4、 使用畫點(diǎn)函數(shù)完成鐘面基本構(gòu)造,即鐘面與12個(gè)整點(diǎn)時(shí)間點(diǎn)。 除此之外,需要在整個(gè)移植后的系統(tǒng)中初始化堆棧并設(shè)定任務(wù)
21、,通過任務(wù)完成時(shí)鐘的各項(xiàng)功能。實(shí)驗(yàn)結(jié)果及討論調(diào)試結(jié)果與分析 通過編譯調(diào)試下載到實(shí)驗(yàn)箱的S3C44B0X芯片中進(jìn)行調(diào)試,LCD顯示結(jié)果如圖7所示。 圖7 LCD調(diào)試結(jié)果顯示屏幕右上角顯示出學(xué)號(hào)姓名和作品信息;屏幕中間顯示的是鐘面,有時(shí)針、分針和秒針,顯示實(shí)時(shí)時(shí)間;屏幕下方顯示的是數(shù)字時(shí)鐘,顯示時(shí)分秒(與鐘面時(shí)間相對(duì)應(yīng))和年月日。完成系統(tǒng)設(shè)計(jì)要求的各項(xiàng)功能。結(jié) 論本課程設(shè)計(jì)屬于嵌入式系統(tǒng)項(xiàng)目設(shè)計(jì),利用EL-ARM-830教學(xué)實(shí)驗(yàn)箱上的嵌入式微處理器S3C44B0X和LCD模塊,實(shí)現(xiàn)如下功能:1、 LCD顯示“鐘面”樣式,時(shí)針、分針、秒針顯示實(shí)時(shí)時(shí)間;2、 LCD顯示“數(shù)字鐘”樣式,動(dòng)態(tài)顯示年、月、
22、日、時(shí)、分、秒;3、 顯示時(shí)間可以修改并保持“鐘面”與“數(shù)字鐘”時(shí)間保持一致;4、 LCD左上角動(dòng)態(tài)顯示小組成員姓名、學(xué)號(hào)及選題信息。本課程設(shè)計(jì)完成選題要求,但是有如下方面有待改進(jìn):1、 “鐘面”現(xiàn)實(shí)不夠精確,分針和時(shí)針只設(shè)定了60個(gè)坐標(biāo)位置,分針和時(shí)針走動(dòng)不均勻;2、 數(shù)字鐘部分尚未考慮到“大月”和“小月”以及“平年”和“閏年”的日期問題,所有月份均設(shè)定為30天;3、 時(shí)間修改麻煩,需要對(duì)源程序中設(shè)定的初值進(jìn)行修改,無法通過鍵盤對(duì)時(shí)間進(jìn)行修改;4、 未調(diào)用S4C44B0X內(nèi)部實(shí)時(shí)時(shí)鐘(RTC)模塊,不能顯示出精確的內(nèi)部實(shí)時(shí)時(shí)間。 本次課程設(shè)計(jì)是嵌入式系統(tǒng)項(xiàng)目設(shè)計(jì),是在本學(xué)期我們學(xué)完了嵌入式系
23、統(tǒng)課程以后相應(yīng)的課程設(shè)計(jì)。我們自己查找了許多關(guān)于S3C44B0X和LCD的資料和文獻(xiàn)作為課程設(shè)計(jì)的知識(shí)儲(chǔ)備,同時(shí)也參考了去年學(xué)長(zhǎng)學(xué)姐完成的課題,取人之長(zhǎng)、補(bǔ)己之短。經(jīng)過我們的努力,在老師同學(xué)的幫助下,我們順利完成了課程設(shè)計(jì),對(duì)嵌入式系統(tǒng)的硬件、軟件有了更為深入的了解,也深入掌握了嵌入式系統(tǒng)設(shè)計(jì)的基本方法,達(dá)到了預(yù)期的目的。本次課程設(shè)計(jì)首先要感謝陳龍燦老師,對(duì)我們的課程設(shè)計(jì)給予了充分的關(guān)懷和幫助;然后要感謝我的搭檔范娟,我們一起完成了本次課程設(shè)計(jì)。 附 錄源程序: #include ".incconfig.h"#defineSTACKSIZE256#define x_line
24、 160#define y_line 80OS_STK_DATA stk;extern GUI_FONT CHINESE_FONT12;extern GUI_FONT CHINESE_FONT16;extern GUI_FONT GUI_Font8x16;OS_EVENT * Send_LCD_Sem;OS_EVENT *Key_Mbox;I8 Hour3,Min3,Sec3;I8 hour = 0, min = 0, sec = 0,ms;I8 YEA13,YEA23,MON3,DAY3;int yea1 = 20,yea2=11, mon = 6, day = 23;I8 XH03,XH1
25、3,XH23,XH33;I8 XH43,XH53,XH63,XH73;char xh0=01,xh1=62,xh2=31,xh3=03;char xh4=32,xh5=36,xh6=02,xh7=12;/int TimeCount = 0;int SpaceXS61=160,165,170,175,180,185,189,193,197,201,205,206,207,208,209,210,209,208,207,206,205,201,197,193,189,185,180,175,170,165,160,155,150,145,140,135,131,127,123,119,115,11
26、4,113,112,111,110,111,112,113,114,115,119,123,127,131,135,140,145,150,155,160, , SpaceYS61=30,31,32,33,34, 35,39,43,47,51, 55,60,65,70,75, 80,85,90,95,100, 105,109,113,117,121, 125,126,127,128,129, 130,129,128,127,126, 125,121,117,113,109, 105,100,95,90,85, 80,75,70,65,60, 55,51,47,43,39, 35,34,33,3
27、2,31,30, SpaceXM61=160,164,168,172,176,180,183,186,189,192, 195,196,197,198,199,200,199,198,197,196, 195,192,189,186,183,180,176,172,168,164, 160,156,152,148,144,140,137,134,131,128, 125,124,123,122,121,120,121,122,123,124, 125,128,131,134,137,140,144,148,152,156, 160 , SpaceYM61=40,41,42,43,44,45,4
28、8,51,54,57, 60,64,68,72,76,80,84,88,92,96, 100,103,106,109,112,115,116,117,118,119, 120,119,118,117,116,115,112,109,106,103, 100,96,92,88,84,80,76,72,68,64, 60,57,54,51,48,45,44,43,42,41, 40 , SpaceXH13=160,175,185,190,185,175,160,145,135,130,135,145,160, SpaceYH13=50,55,65,80,95,105,110,105,95,80,6
29、5,55,50, *Placex=&SpaceXS0,*Placey=&SpaceYS0,*Placexm=&SpaceXM0,*Placeym=&SpaceYM0, *Placexh=&SpaceXH0,*Placeyh=&SpaceYH0;void Display_xh1(char xx1,char yy1);void Display_xh2(char xx2,char yy2);void Display_xh3(char xx3,char yy3);void show(I8 s)void Shows() show(sec); Set_Col
30、or(GUI_GRAY); /擦除上一秒的 Draw_Line(x_line,y_line,*Placex,*Placey); Placex=Placex+1; Placey=Placey+1; Set_Color(GUI_YELLOW); /顯示下一秒的 Draw_Line(x_line,y_line,*Placex,*Placey); Set_Color(GUI_RED); /顯示下一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Set_Color(GUI_GREEN); /顯示下一時(shí)的 Draw_Line(x_line,y_line,*Pl
31、acexh,*Placeyh); if(Placex=&SpaceXS60&&Placey=&SpaceYS60) Placex=&SpaceXS0; Placey=&SpaceYS0; void Showm() Set_Color(GUI_GREEN); Fill_Circle (288, 50, 25); Set_Color(GUI_RED); Fill_Circle (280, 50, 10); Fill_Circle (296, 50, 10); Fill_Circle (288, 40, 10); Fill_Circle (288, 6
32、0, 10); Set_Color(GUI_YELLOW); Fill_Circle (288, 50, 5); Set_Color(GUI_GRAY); /擦除上一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Placexm=Placexm+1; Placeym=Placeym+1; Set_Color(GUI_RED); /顯示下一分的 Draw_Line(x_line,y_line,*Placexm,*Placeym); Set_Color(GUI_GREEN); /顯示下一時(shí)的 Draw_Line(x_line,y_line,*Place
33、xh,*Placeyh); if(Placexm=&SpaceXM60&&Placeym=&SpaceYM60) Placexm=&SpaceXM0; Placeym=&SpaceYM0; void Showh() Set_Color(GUI_YELLOW); Fill_Circle (288, 50, 25); Set_Color(GUI_GREEN); Fill_Circle (280, 50, 10); Fill_Circle (296, 50, 10); Fill_Circle (288, 40, 10); Fill_Circle (28
34、8, 60, 10); Set_Color(GUI_RED); Fill_Circle (288, 50, 5); Set_Color(GUI_GRAY); /擦除上一時(shí)的 Draw_Line(x_line,y_line,*Placexh,*Placeyh); Placexh=Placexh+1; Placeyh=Placeyh+1; Set_Color(GUI_GREEN); /顯示下一時(shí)的 Draw_Line(x_line,y_line,*Placexh,*Placeyh); if(Placexh=&SpaceXH12&&Placeyh=&SpaceYH12
35、) Placexh=&SpaceXH0; Placeyh=&SpaceYH0; void Shouw_Cricle() / 整 點(diǎn)Set_Color(GUI_YELLOW); Fill_Circle (160, 30,2); / 12點(diǎn)(x,y,r) Fill_Circle (135, 35,2); / 11 點(diǎn)(x,y,r) Fill_Circle (115, 55,2); / 10 點(diǎn)(x,y,r) Fill_Circle (110, 80,2); / 9 點(diǎn)(x,y,r) Fill_Circle (115, 105,2); / 8 點(diǎn)(x,y,r) Fill_Circle
36、 (135, 125,2); / 7 點(diǎn)(x,y,r) Fill_Circle (160, 130,2); / 6 點(diǎn)(x,y,r) Fill_Circle (185, 125,2); / 5 點(diǎn)(x,y,r) Fill_Circle (205, 105,2); / 4 點(diǎn)(x,y,r) Fill_Circle (210, 80,2); / 3 點(diǎn)(x,y,r) Fill_Circle (205, 55,2); / 2點(diǎn)(x,y,r) Fill_Circle (185, 35,2); / 1點(diǎn)(x,y,r) Set_Color(GUI_WHITE); Fill_Circle (165, 31,
37、1); Fill_Circle (170, 32,1); Fill_Circle (175, 33,1); Fill_Circle (180, 34,1); Fill_Circle (189, 39,1); Fill_Circle (193, 43,1); Fill_Circle (197, 47,1); Fill_Circle (201, 51,1); Fill_Circle (206, 60,1); Fill_Circle (207, 65,1); Fill_Circle (208, 70,1); Fill_Circle (209, 75,1); Fill_Circle (209, 85,
38、1); Fill_Circle (208, 90,1); Fill_Circle (207, 95,1); Fill_Circle (206, 100,1); Fill_Circle (201, 109,1); Fill_Circle (197, 113,1); Fill_Circle (193, 117,1); Fill_Circle (189, 121,1); Fill_Circle (180, 126,1); Fill_Circle (175, 127,1); Fill_Circle (170, 128,1); Fill_Circle (165, 129,1); Fill_Circle
39、(155, 129,1); Fill_Circle (150, 128,1); Fill_Circle (145, 127,1); Fill_Circle (140, 126,1); Fill_Circle (131, 121,1); Fill_Circle (127, 117,1); Fill_Circle (123, 113,1); Fill_Circle (119, 109,1); Fill_Circle (114, 100,1); Fill_Circle (113, 95,1); Fill_Circle (112, 90,1); Fill_Circle (111, 85,1); Fil
40、l_Circle (111, 75,1); Fill_Circle (112, 70,1); Fill_Circle (113, 65,1); Fill_Circle (114, 60,1); Fill_Circle (119, 51,1); Fill_Circle (123, 47,1); Fill_Circle (127, 43,1); Fill_Circle (131, 39,1); Fill_Circle (140, 34,1); Fill_Circle (145, 33,1); Fill_Circle (150, 32,1); Fill_Circle (155, 31,1); voi
41、d Delay(int time);void ChangeForm(char Time,char time) Time0 = time / 10 + 48; Time1 = time % 10 + 48; Time2 = '0'void Display_Time(char x,char y) ChangeForm(Hour, hour); ChangeForm(Min, min); ChangeForm(Sec, sec); ChangeForm(MON, mon); ChangeForm(DAY, day); ChangeForm(YEA1, yea1); ChangeFor
42、m(YEA2, yea2); Disp_String (Hour,x,160); Disp_String (":",x + 16,160); Disp_String (Min,x + 24,160); Disp_String (":",x + 40,160); Disp_String (Sec,x + 48,160); Disp_String (YEA1,x , 180); Disp_String (YEA2,x +16,180); Disp_String (",",x + 32,180); Disp_String (MON,x +
43、40,180); Disp_String (",",x + 56,180); Disp_String (DAY,x + 64,180); void Show_Color()Set_Color( GUI_BLUE ); Fill_Rect(0,0,319,239); Set_Color(GUI_RED); Set_BkColor (GUI_BLUE); Fill_Rect(0,0,319,2); Fill_Rect(0,0,2,239); Fill_Rect(0,237,319,239); Fill_Rect(317,0,319,239); Set_Color(GUI_RED); Set_Font (&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版智能家居系統(tǒng)安裝與調(diào)試合同
- 二零二五年度企業(yè)綜合服務(wù)合同
- 2025年度民間借貸與借款合同范本解析及實(shí)施6篇
- 2024某企業(yè)與物流公司之間的國(guó)際貨運(yùn)代理合同
- 2024年租賃合同租金擔(dān)保期限規(guī)定
- 二零二五年度個(gè)人原木批發(fā)及銷售合作協(xié)議書3篇
- 二零二五年度公共文化設(shè)施運(yùn)營(yíng)合同3篇
- 2024技術(shù)服務(wù)合同:云計(jì)算平臺(tái)搭建
- 2025年度海口市短期租房合同撰寫要點(diǎn)及注意事項(xiàng)2篇
- 2024年綜合網(wǎng)絡(luò)安全技術(shù)保護(hù)及信息服務(wù)合同
- 2025年中國(guó)煙草總公司湖北省公司校園招聘227人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024版帶貨主播電商平臺(tái)合作服務(wù)合同范本3篇
- 2025公司資產(chǎn)劃轉(zhuǎn)合同
- 2024-2030年中國(guó)鋁汽車緊固件行業(yè)銷售規(guī)模與盈利前景預(yù)測(cè)報(bào)告
- 廣東省清遠(yuǎn)市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)物理試題(解析版)
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)上冊(cè)期末檢測(cè)試卷(含答案)
- 《外盤期貨常識(shí)》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)保科工作總結(jié)
- 2024-2025學(xué)年譯林版八年級(jí)英語上學(xué)期重點(diǎn)詞匯短語句子歸納【考點(diǎn)清單】
- 2024年企業(yè)采購部年終總結(jié)及今后計(jì)劃(3篇)
評(píng)論
0/150
提交評(píng)論