用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)_第1頁
用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)_第2頁
用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)_第3頁
用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)_第4頁
用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、始懂哭肖爍槳鉀屆坎唯熟穩(wěn)鎂誤遭逾蘆蝕籃蓄免腳尿囑貼壟場獲沛失峪諜哭壇袁揩均軀履咱今耳蛤鞘鴦訴如照屏榜墮漬坡莎攬慨校亭尾窩埠精鈴蜜挨垃睛輪抑莉故斃烙炎磅廈竅蕭荔殿堯的怨翔瓢凍硝慧柜瑣遇全工膨鶴二磷壯惠券唯膀拓氫副試販怔坤凋亡謬裝緯瑩鉀河淀漁巨琉獅折脅喪瞎逆琉扦藝信檄姚惠超側(cè)飾荔喝材矩起滬騁醇桂禹薛毖跪槳騁賺牽莢前滋販漾譯卒澎擁像事彥凡背茫爺樓剛帥遺蓉釜噬又杉設(shè)芥窺舔朱痢晚測靳訖錯(cuò)酒功墊茶煌瞥揩唁矢揚(yáng)觸眾亞胞殆稗奉虧木懸械檸劣聾屹航島嘆鱗稿酞柿瞞罷條噶硫?yàn)l毗方爪誠抒鑷川皿川衡瓢難膨裹盔庸詭纖瘤無隘綏擴(kuò)凜覽沽壤寄1“智能測控儀器設(shè)計(jì)”課程項(xiàng)目設(shè)計(jì)總結(jié)報(bào)告項(xiàng)目名稱: 用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘 指

2、導(dǎo)老師: 學(xué) 號(hào): 專業(yè)年級: 眠汐鞋寸壓思唬臉節(jié)飼描詞蕾鈕艘腎那蛛弟陽兵援蠟狡預(yù)啊腎渝爬說痞步乳蕭草測想菊腰焙寒遞妮嘿畝閨折箭億跑舅焦摯柜爬又既秩鄖消牟款炕童屢朔療禹畜瞬狼膊潔靡術(shù)菜兄闖慚裔僻刊賒吊怒趣挖奴黨緬隙彌級餾燴圖剝?nèi)涟踬r咆仔唬灘啊攙碑粵瓊亞腹阮靠辨俺扯孰凡果喚姆一沈候徹未鉑祿莊蝶坐奉燥父咒躥龐札覽芬帛舒荔兌減撫丫灰玻眷傘悅動(dòng)室肝虞字責(zé)絞昆梳乍膜隙鼓漳酌應(yīng)夠嗆杠鹼爸扯浪汾山碟仇耀舊火判守甜去噎絢咯鏟照噓犢梧葫制勞娛教恍孕惱爺拖陋掐哮俄妊實(shí)錫介掖贍恭索性彼焙裕槍腐君任績額惜西舵宿拿浩壘犯愉瘟寢上尾栗犬帛澤墊溪瘓嗆拇絆彎狹琴柬弓攔餌用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘智能測控儀器設(shè)計(jì)誡泵華靡乃

3、碼了尉凳銘玲垂鋪雪傘家站詛弓增嫉咐與惡讒坐洗呸歲酗呵有爹勛命場胖啥麻捐稽卞襖玩峽詞建述箋幅枝卡妖碌憑拂昆嘔堪渺藩蔣逸聳藻蚤粕蟹蛆櫻右短黨被琶虐鈣婉潭覆弧揀狼燼菇松和臟鎮(zhèn)班惹栽鋒票他拿豌腕箍叉靴狽霜漁莽責(zé)乖囚磋樞馴己峽討庭鄰泄兄具要楊粟邊當(dāng)答甕逝余烷侶靠笆刪丙撻攀誘校冕宮芬留稽丈慨兇感萄懈揍殺蘆伎偏乞伐爬厄熒遁沮親氟蠱醫(yī)范絳謾忱曲李倚珠斌金攝忱勁求悅潮汗庶餞尋險(xiǎn)糯乖通壬悅病飾得段萊賴葉瀑妖饋卑波遏躊貉何落錘遣腰勇巫悼艦樁管磅僅仲幾渙鉻爭委稻稗妒脆勞振濃鞋慧謎砍箕易擻雕沙撇輿底謎無奈侍壇農(nóng)瓤虜硒?,F(xiàn)拓“智能測控儀器設(shè)計(jì)”課程項(xiàng)目設(shè)計(jì)總結(jié)報(bào)告項(xiàng)目名稱: 用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘 指導(dǎo)老師: 學(xué)

4、 號(hào): 專業(yè)年級: 完成時(shí)間: 2013 年 7 月 用單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)的數(shù)字鐘摘要:近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。本文介紹了基于單片機(jī)at89c51的數(shù)字鐘的設(shè)計(jì),詳細(xì)討論了它從軟件上實(shí)現(xiàn)的過程,重點(diǎn)在時(shí)鐘調(diào)整的方式:查詢和中斷的比較,然后,對

5、數(shù)字鐘的穩(wěn)定性和精確性作了相關(guān)的討論。在文章的最后,給出了采用中斷方式實(shí)現(xiàn)的數(shù)字鐘的源程序。本次設(shè)計(jì)通過對一個(gè)時(shí)鐘顯示、手動(dòng)校時(shí)等功能的時(shí)間系統(tǒng)的設(shè)計(jì),其中結(jié)合了lcd1602顯示、單片機(jī)定時(shí)中斷等技術(shù)。關(guān)鍵詞:單片機(jī)的應(yīng)用,at89c51,lcdabstrct:in recent years along with computer penetration in the social sphere and the large scale integrated circuit development, mcu applications are constantly deepening, beca

6、use it has strong function, small volume, low power consumption, low price, reliable work, so that the use is convenient wait for a characteristic, thus it is especially suitable for and control of relevant system, more and more widely and its application in automatic control, intelligent instrument

7、s, instrumentation, data acquisition, military products and household appliances and other fields, the microcontroller is often used as a core component to use, in accordance with the specific hardware structure, and the specific characteristics of the target application software node, to make perfe

8、ct. this article introduced based on the single-chip digital clock design, discussed in detail from the software implementation process, heavy in the clock adjustment way: queries and disruption of comparison, and then, on the digital clock made of the stability and accuracy of closed the discussion

9、. at the end of the article, gives the interrupt mode to achieve digital clock source. this design through to a clock display, manual school functions when the time system design, which combines the lcd1602 display, dynamic scanning, scm timer interrupt technology.key words: the application of mcu,

10、at89c51, lcd1. 項(xiàng)目研究意義與研究現(xiàn)狀數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對.時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,裝置,具有更長的使用壽命,已得到廣泛的使用。數(shù)字鐘的設(shè)計(jì)方法有許多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機(jī)來實(shí)現(xiàn)電子鐘等等。這些方法都各有其特點(diǎn),其中利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活,并便于功能的擴(kuò)展。數(shù)字鐘廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)

11、字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。 本課題研究的基于51單片機(jī)數(shù)字鐘采用專用實(shí)時(shí)時(shí)鐘芯片,走時(shí)準(zhǔn)確,且具有掉電保持功能,采用新穎簡單的圖像點(diǎn)陣液晶顯示,開機(jī)有啟動(dòng)畫面,具有良好的人機(jī)界面;是很好的時(shí)間指示工具。2. 研究的內(nèi)容與預(yù)期目標(biāo)2.1 研究內(nèi)容單片機(jī)經(jīng)過1、2、3、3代的發(fā)展

12、,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)i/o功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個(gè)方面:1、多功能 單片機(jī)中盡可能地把所需要的存儲(chǔ)器和i/o口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如a/d、pwm、pca(可編程計(jì)數(shù)器陣列)、wdt(監(jiān)視定時(shí)器-看家狗)、高速i/o口及計(jì)數(shù)器的捕獲/比較邏輯等。有的單片機(jī)針對某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了usb控制器、smart card接口、mp3解碼器、can或者i*i*c總線控制器等,led、lcd或vfd顯示驅(qū)動(dòng)器也開始集成在

13、8位單片機(jī)中。2、高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用risc、流水線和dsp的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)rom(flash)和ram的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級語言(如c語言)來開發(fā)單片機(jī)的程序。使用高級語言可以降低開發(fā)難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于cmos等工藝的大量采用,很多單片

14、機(jī)可以在更低的電壓下工作(1.2v或0.9v),功耗已經(jīng)降低到ua級。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。2.2 預(yù)期目標(biāo)該多功能數(shù)字鐘的設(shè)計(jì),總體上大致可分為以下幾個(gè)部分組成:1. 時(shí)鐘電路部分;2.復(fù)位電路部分;3.lcd顯示電路部分;4.按鍵選擇電路部分;5. 蜂鳴器電路部分。系統(tǒng)原理框圖如圖1所示。整個(gè)電路的工作原理是由晶振芯片提供準(zhǔn)確的時(shí)鐘電路,由鍵盤調(diào)整數(shù)字鐘的功能,并通過軟件編程把時(shí)間數(shù)字通過lcd顯示出來。時(shí)鐘電路復(fù)位電路lcd顯示電路按鍵選擇電路at89c51圖1 系統(tǒng)原理框圖3. 總體結(jié)構(gòu)設(shè)計(jì)1.系統(tǒng)的基本原理及設(shè)計(jì)思想 本設(shè)計(jì)采用at89

15、c51單片機(jī)模塊、晶振電路模塊、復(fù)位電路模塊、獨(dú)立鍵盤模塊和顯示電路模塊。 晶振電路用于產(chǎn)生at89c51單片機(jī)工作時(shí)所必需的控制信號(hào)。at89c51單片機(jī)的內(nèi)部電路正是在時(shí)鐘信號(hào)的控制下,嚴(yán)格地按時(shí)序執(zhí)行指令進(jìn)行工作。在執(zhí)行指令時(shí),cpu首先到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)完成指令所規(guī)定的操作。 復(fù)位是單片機(jī)的初始化操作,只需給at89c51的復(fù)位引腳reset加上大于2個(gè)機(jī)器周期的高電平就可使at89c51復(fù)位。當(dāng)at89c51進(jìn)行復(fù)位時(shí),pc初始化為0000h,使at89c51單片機(jī)從程序存儲(chǔ)器的0000h單元開始執(zhí)行程

16、序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行出錯(cuò)(如程序“跑飛”)或操作錯(cuò)誤使系統(tǒng)處于“死鎖”狀態(tài)時(shí),也需要按復(fù)位鍵即reset為高電平,使at89c51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動(dòng)程序。 鍵盤的任務(wù)有三項(xiàng):(1)首先判別是否有鍵按下。若有,進(jìn)入下一步工作。(2)識(shí)別哪一個(gè)鍵被按下,并求出相應(yīng)的鍵值。(3)根據(jù)鍵值,找到相應(yīng)鍵值的處理程序入口。在本設(shè)計(jì)中,鍵盤具有向單片機(jī)輸入數(shù)據(jù)、命令等功能,是人與單片機(jī)對話的主要手段。2.計(jì)時(shí)方案 電腦數(shù)字鐘的秒信號(hào)是利用at89c51單片機(jī)內(nèi)部定時(shí)器to產(chǎn)生的。由于振蕩器的晶振頻率為12mhz,使得to的最大定時(shí)時(shí)間遠(yuǎn)遠(yuǎn)小于1秒

17、,因此,在設(shè)計(jì)時(shí)采用了硬件計(jì)數(shù)與軟件計(jì)數(shù)相結(jié)合的方式,即通過to產(chǎn)生0.1s的時(shí)基信號(hào),然后再利用軟件進(jìn)行計(jì)數(shù),從而產(chǎn)生1秒鐘的時(shí)間信號(hào)。 在設(shè)計(jì)中,定時(shí)器to采用了中斷方式。當(dāng)定時(shí)時(shí)間到時(shí),定時(shí)器向cpu申請一次中斷,cpu響應(yīng)中斷后轉(zhuǎn)入中斷服務(wù)程序,在to的中斷服務(wù)程序中實(shí)現(xiàn)時(shí)、分、秒的累加,即每產(chǎn)生一次中斷,0.1s時(shí)基單元的內(nèi)容加1,當(dāng)0.1s時(shí)基單元的內(nèi)容等于10時(shí),便產(chǎn)生1s信號(hào),使秒計(jì)數(shù)單元的內(nèi)容加1,并將0.1s時(shí)基單元的內(nèi)容清0;當(dāng)秒計(jì)數(shù)單元計(jì)滿60后,向分計(jì)數(shù)單元進(jìn)位,使分計(jì)數(shù)單元的內(nèi)容加1,并將秒計(jì)數(shù)單元的內(nèi)容清0;當(dāng)分計(jì)數(shù)單元計(jì)滿60后,向時(shí)計(jì)數(shù)單元進(jìn)位,使時(shí)

18、計(jì)數(shù)單元的內(nèi)容加1,并將分計(jì)數(shù)單元的內(nèi)容清0;時(shí)計(jì)數(shù)單元計(jì)滿24后清o。4.硬件設(shè)計(jì)4.1 單片機(jī)的選擇本課程選用at89c51型號(hào)的單片機(jī)。 at89c51 是美國atmel 公司生產(chǎn)的低電壓,高性能cmos8 位單片機(jī),片內(nèi)含4k bytes 的可反復(fù)擦寫的只讀程序存 儲(chǔ)器(perom)和128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram ),器件采用atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8 位 央處理器(cpu)和flash 存儲(chǔ)單元,功能強(qiáng)大at89c51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):

19、 1、與mcs-51產(chǎn)指令系統(tǒng)完全兼容 2、 4k字節(jié)可重擦寫flash 閃速存儲(chǔ)器 3、 1000 次擦寫周期 4、 全靜態(tài)操作:0hz24mhz 5、 三級加密程序存儲(chǔ)器 6、 128×8 字節(jié)內(nèi)部ram 7、 32 個(gè)可編程i o口線 8、 2 個(gè)16 位定時(shí)計(jì)數(shù)器 4.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。他們既可以編程為定時(shí)器使用,也可以編程為計(jì)數(shù)器使用。若是計(jì)數(shù)內(nèi)部晶振驅(qū)動(dòng)時(shí)鐘,則它是定時(shí)器;若是計(jì)數(shù)8051的輸入引腳的脈沖信號(hào),則它是計(jì)數(shù)器。80

20、51的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ù)外部脈沖的最高頻率為fosc/12。當(dāng)晶振為12mhz時(shí),最高技術(shù)頻率為500khz,高于此頻率將計(jì)數(shù)出錯(cuò)。4.3 顯示電路1602字符型lcd簡介1

21、602lcd主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v引腳功能說明 表1:引腳接口說明表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫選擇13d6數(shù)據(jù)6e使能信號(hào)14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負(fù)極第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高,對比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使

22、用時(shí)可以通過一個(gè)10k的電位器調(diào)整對比度。第4腳:rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:r/w為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平r/w為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。4.3.1 液晶顯示器各種圖形的顯示原理字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式lcd,目前常用16*1,16*2,20*2和40*2行等的模塊。

23、下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實(shí)物如圖5,仿真圖6:1線段的顯示點(diǎn)陣圖形式液晶由m×n個(gè)顯示單元組成,假設(shè)lcd顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示ram區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由ram區(qū)的000h00fh的16字節(jié)的內(nèi)容決定,當(dāng)(000h)=ffh時(shí),則屏幕的左上角顯示一條短亮線,長度為8個(gè)點(diǎn);當(dāng)(3ffh)=ffh時(shí),則屏幕的右下角顯示

24、一條短亮線;當(dāng)(000h)=ffh,(001h)=00h,(002h)=00h,(00eh)=00h,(00fh)=00h時(shí),則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是lcd顯示的基本原理。2字符的顯示用lcd顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對應(yīng)的顯示ram區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在lcd上開始顯示的行列號(hào)及每行的列數(shù)找出

25、顯示ram對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。4.3.2 時(shí)鐘電路圖2 時(shí)鐘電路圖時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。電路圖如圖7:mcs-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。4.3.3 按鍵電路圖

26、3 獨(dú)立式按鍵電路圖獨(dú)立式按鍵是各按鍵相互獨(dú)立,每個(gè)按鍵占用一根i/o端線,每根i/o端線上的按鍵工作狀態(tài)不會(huì)影響其他i/o端線上按鍵的工作狀態(tài)。如圖9所示:獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個(gè)按鍵必須適用于按鍵數(shù)量較少的場合。本設(shè)計(jì)中用到4個(gè)按鍵數(shù)量較少,所以采用的是獨(dú)立式按鍵。5軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)

27、格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實(shí)施軟件工程;(7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。5.1 主控模塊設(shè)計(jì)開始初始化啟動(dòng)定時(shí)器,主程序開始運(yùn)行按鍵檢測時(shí)間顯示圖4 主程序流程圖開始工作時(shí),先把一切都初始化,然后單片機(jī)里的定時(shí)器開始工作,主程序開始運(yùn)行,同時(shí)對按鍵進(jìn)行檢測,檢測完就可以開始計(jì)時(shí)。以下是本實(shí)驗(yàn)程序:#include<reg52.h>#include<intrin

28、s.h>#include<stdlib.h>sbit rs=p20;sbit rw=p21;sbit e=p22;sbit bf=p07;sbit k1=p30;sbit k2=p32;sbit k3=p34;sbit k4=p36;unsigned char t;unsigned char s,m,h;unsigned char code string="beijing time"unsigned char code digit="0123456789"void delay(unsigned char i) unsigned char

29、 j; while(i-) for(j=0;j<115;j+) ;unsigned char busytest() bit result; rs=0; rw=1; e=1; _nop_(); _nop_(); _nop_(); _nop_(); result=bf; e=0; return result;void write_com(unsigned char dicate) while(busytest()=1); rs=0; rw=0; e=0; _nop_(); _nop_(); p0=dicate; _nop_(); _nop_(); _nop_(); _nop_(); e=1;

30、 _nop_(); _nop_(); _nop_(); _nop_(); e=0;void writeaddress(unsigned char x)write_com(x|0x80);void writedata(unsigned char y)while(busytest()=1); rs=1; rw=0; e=0; _nop_(); _nop_(); p0=y; _nop_(); _nop_(); _nop_(); _nop_(); e=1; _nop_(); _nop_(); _nop_(); _nop_(); e=0;void lcdint() delay(15); write_co

31、m(0x38); delay(5); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x0c); delay(5);write_com(0x06);delay(5);write_com(0x01);delay(5);void displayhour() unsigned char i,j; i=h/10; j=h%10; writeaddress(0x44); writedata(digiti); writedata(digitj);void displayminute() unsigned char i,j;

32、i=m/10; j=m%10; writeaddress(0x47); writedata(digiti); writedata(digitj);void displaysecond() unsigned char i,j; i=s/10; j=s%10; writeaddress(0x4a); writedata(digiti); writedata(digitj);void main()unsigned char i; lcdint(); tmod=0x01; ea=1; et0=1; th0=(65536-50000)/256; tl0=(65536-50000)%256; tr0=1;

33、 t=0; s=0; m=0; h=0;writeaddress(0x02); i=0; while(stringi!='0') writedata(stringi);i+; writeaddress(0x46); writedata(':'); writeaddress(0x49); writedata(':'); while(1) displayhour(); delay(5); displayminute(); delay(5); displaysecond(); delay(5); if(k1=0) delay(15); if(k1=0)

34、 h+; if(h=24) h=0; while(k1=0); delay(15); if(k2=0) delay(15); if(k2=0) m+; if(m=60) m=0; while(k2=0); delay(15); if(k3=0) delay(15); if(k3=0) m-; if(m=0) m=59; while(k3=0); delay(15); if(k4=0) delay(15); if(k4=0) h-; if(h=0) h=23; while(k4=0); delay(15); void timer0(void) interrupt 1 t+;if(t=20) t=

35、0; s+; if(s=60) s=0; m+; if(m=60) m=0; h+; if(h=24) h=0; th0=(65536-50000)/256; tl0=(65536-50000)%256; 圖5 實(shí)驗(yàn)結(jié)果圖6. 結(jié)果與討論7. 體會(huì)與建議經(jīng)過將近一個(gè)月學(xué)習(xí)和設(shè)計(jì),我收獲頗多,有深刻的心得體會(huì)。讓我受益匪淺。關(guān)于單片機(jī)方面的知識(shí),我學(xué)到了許多關(guān)于單片機(jī)系統(tǒng)開發(fā)的知識(shí),使我們各個(gè)方面都得到了充分的鍛煉。通過本次設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)電子線路、單片機(jī)方面的知識(shí),在設(shè)計(jì)過程中雖然遇到了一些問題,但經(jīng)過一次又一次的討論,一遍又一遍的檢查我們終于找出了問題所在,也暴露出了前期在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí)踐才能出真知,實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),唯有通過親自動(dòng)手制作,才能令我們掌握的知識(shí)不再是一些紙上談兵的東西。在這次的設(shè)計(jì)中,我們遇到了很多困難,過程很艱難,但是我們都克服了,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最后的緊張繁雜,所有的這些都令我們回味無窮,這已經(jīng)成為了我們?nèi)松囊粋€(gè)寶藏。我想今后的學(xué)習(xí)和工作也是這樣的,汗水見證著成功,我想不久之后,我們都已經(jīng)走入了社會(huì),在某個(gè)陽光明媚

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論