freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)的日歷時(shí)鐘顯示系統(tǒng)設(shè)計(jì)畢業(yè)論文-免費(fèi)閱讀

  

【正文】 0x80)。sbit LcdEn = P2^2。}void DS1302_TimeStop(bit flag) // 是否將時(shí)鐘停止{ unsigned char Data。 DS1302_RST = 1。 i0。0x80) DS1302_SetTime(DS1302_SECOND,0)。 TimeTimeString[6] = TimeSecond/10 + 39。 TimeTimeString[2] = 39。 TimeDateString[7] = TimeDay%10 + 39。 TimeDateString[3] = TimeMonth/10 + 39。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。 return(ucData)。} unsigned char Read1302(unsigned char ucAddr) //讀取DS1302某地址的數(shù)據(jù){ unsigned char ucData。 } return(ACC)。 ACC = ACC 1。}SYSTEMTIME。 unsigned char Minute。 Print()。CurrentTime)。}main(){ SYSTEMTIME CurrentTime。在做畢設(shè)的日子里得到了徐征老師以及其他老師的悉心指導(dǎo),并且得到了許多同學(xué)的幫助,在此向他們致以誠(chéng)摯的謝意。反而達(dá)到事半功倍的效果。由于DS1302在芯片本身已經(jīng)集成了6pF的電容,所以為了獲得穩(wěn)定可靠的時(shí)鐘,必須選用具有6pF負(fù)載電容的晶振。這樣整個(gè)過(guò)程就到此結(jié)束,剩下的就是撰寫論文。但若是再改過(guò)程中,看見我們編號(hào)的程序有錯(cuò)誤,那么就根據(jù)它相應(yīng)的提示來(lái)修改錯(cuò)誤,直到該程序能夠正確編譯為止。然后就可以用我們選擇的仿真軟件進(jìn)行仿真了。帶日歷的電子鐘功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。當(dāng)DDRAM或CGRAM讀出數(shù)據(jù)時(shí),先須設(shè)定DDRAM或CGRAM的地址。設(shè)置字型大小,當(dāng)F=1時(shí)5*10點(diǎn)陣,F(xiàn)=0時(shí)為5*7點(diǎn)陣。當(dāng)S=1時(shí),內(nèi)容移動(dòng);S=0時(shí),內(nèi)容不移動(dòng)。⑥ 忙碌標(biāo)志:本標(biāo)志(BF)用以表示當(dāng)時(shí)LCD的狀態(tài),若BF=1,則表示處于忙碌狀態(tài)無(wú)發(fā)接受外部指令或數(shù)據(jù);若BF=0,則可接受外部指令或數(shù)據(jù)。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒(méi)有具體的時(shí)間記錄,因此,只能記錄數(shù)據(jù)而無(wú)法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且,某些測(cè)控系統(tǒng)可能不允許。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。當(dāng)數(shù)據(jù)讀寫完后,RST變?yōu)榈碗娖浇Y(jié)束輸入輸出過(guò)程。④ 寫保護(hù)寄存器中的WP為寫保護(hù)位,當(dāng)WP=1時(shí),寫保護(hù),當(dāng)WP=0時(shí)未寫保護(hù),當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行寫時(shí)WP應(yīng)清零,當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM讀時(shí)WP一般置1。它用于對(duì)DS1302讀寫過(guò)程進(jìn)行控制,它的格式如下: 控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。圖310 LCD1602液晶顯示電路 第四章 系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)的重點(diǎn)在于從DS1302中讀取時(shí)間和日期數(shù)據(jù),并且在LCD1602液晶屏上顯示出來(lái)。 圖37 主控制系統(tǒng) DS1302時(shí)鐘模塊的設(shè)計(jì)DS1302與CPU的連接僅需要三條線,即SCLK(7)、I/O(6)、RST(5)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。(2) LCD1602的引腳結(jié)構(gòu)LCD1602引腳圖如圖36所示。3) HD44780的顯示緩沖區(qū)DDRAM、字符發(fā)生存儲(chǔ)器(ROM)及用戶自定義的字符發(fā)生器CGRAM全部?jī)?nèi)藏在芯片內(nèi)。從小的方面看,LCD內(nèi)部結(jié)構(gòu)主要包括以下幾個(gè)部分: 圖33 LCD內(nèi)部結(jié)構(gòu)框圖控制器采用HD44780,驅(qū)動(dòng)器采用HD44100。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。 圖32 DS1302引腳及內(nèi)部結(jié)構(gòu)圖其中Vcc1為后備電源,Vcc2為主電源。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源(Vpp),當(dāng)然這必須是該器件是使用12V編程電壓(Vpp)。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。程序校驗(yàn)時(shí),需要外部上拉電阻。8位微控制器8K字節(jié)在系統(tǒng)可編程 Flash。(2) 功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。所以在此設(shè)計(jì)中采用DS1302進(jìn)行計(jì)時(shí)。方案二:采用LCD1602液晶顯示屏,LCD1602液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見。雖然,系統(tǒng)時(shí)鐘的誤差較大,電子鐘的累積誤差也可能較大,但可以通過(guò)誤差修正軟件加以修正。輸出的脈沖信號(hào)Vo的頻率f=(RA+2RB)*C,可通過(guò)調(diào)節(jié)這三個(gè)參數(shù),使輸出Vo的頻率為精確的1Hz。此硬件系統(tǒng)能顯示豐富的信息??垢蓴_的問(wèn)題也比較突出,由于體積相對(duì)大一些,使用起來(lái)也不是很方便。第三代:以89C51系列單片機(jī)為代表,這個(gè)時(shí)期的產(chǎn)品以CMOS化為特色,以完善的單片機(jī)的控制功能為己任。單片機(jī)應(yīng)用的重要意義還在于,他從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法??梢院敛豢鋸埖卣f(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷的改變著我們的生活,改變著我們的世界。時(shí)間的流逝,至從觀太陽(yáng)、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。系統(tǒng)通過(guò)LCD液晶顯示芯片顯示數(shù)據(jù),所以具有人性化的操作和美觀的效果。由于單片機(jī)從功能和形態(tài)來(lái)說(shuō)都是作為控制領(lǐng)域應(yīng)用的要求而誕生的,并且發(fā)展到新一代80C5M68HC11系列單片機(jī)時(shí),在其中著力擴(kuò)展了各種控制功能,如模/數(shù)(A/D)轉(zhuǎn)換、脈寬調(diào)制(PWM)、計(jì)數(shù)器捕獲/比較邏輯(PCA)、高速I/O口和WDT等,已突破了微型計(jì)算機(jī)的傳統(tǒng)內(nèi)容。第二代:以MCS的8058052為代表。近些年,隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)電子鐘的要求也越來(lái)越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。 本課題主要研究的內(nèi)容本課題研究的是基于單片機(jī)AT89S52的控制來(lái)設(shè)計(jì)帶日歷電子鐘。(2) 設(shè)計(jì)的主要功能與設(shè)計(jì)要求 1) 滿足電子鐘的基本功能: 2) 帶日歷:正常顯示年月日 系統(tǒng)基本方案的選擇和論證該系統(tǒng)既可以通過(guò)純硬件實(shí)現(xiàn),也可以通過(guò)軟硬件相結(jié)合實(shí)現(xiàn)。5512F的引腳圖如圖22所示:圖22 5512F的引腳圖其中,引腳8為外接晶振及振蕩電路,引腳1接電源正極,引腳4原為指針用步進(jìn)電機(jī)線圈的輸出驅(qū)動(dòng),這里可用3腳作為脈沖輸出,頻率決定于外接晶振的頻率。 顯示器件的選擇方案和論證方案一:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管是利用二極管發(fā)光顯示數(shù)字和字母,具有亮度大,通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字能夠顯示時(shí)間、日期、溫度等所有可用數(shù)字表示的參數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,所以不采用此方案。時(shí)鐘電路由DS1302構(gòu)成,DS1302是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,采用三線接口與CPU進(jìn)行同步通信,具有使用壽命長(zhǎng),精度高和方便操作等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在Flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。6) P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。8) ALE/PROG——當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。10) EA/VPP——外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。X1和X2是振蕩源。SCLK為時(shí)鐘輸入端。2) HD44780不僅可作為控制器,而且還具有驅(qū)動(dòng)16*40點(diǎn)陣液晶像素的能力,并且的驅(qū)動(dòng)能力可通過(guò)外接驅(qū)動(dòng)器擴(kuò)展360列驅(qū)動(dòng)。顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”了。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 AT89S52主控模塊的設(shè)計(jì)AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3,每一條I/O線都能獨(dú)立地作輸出或輸入。直接訪問(wèn)方式就是微處理器把液晶顯示模塊當(dāng)做存儲(chǔ)器或I/O設(shè)備直接掛在總線上,模塊8位數(shù)據(jù)總線與微處理器的數(shù)據(jù)總線相連,用讀操作或?qū)懖僮餍盘?hào)與地址信號(hào)共同產(chǎn)生控制信號(hào)。DS1302初始化為:對(duì)時(shí)鐘、RAM的讀/寫采用單字節(jié)方式,采用24小時(shí)格式顯示時(shí)間。說(shuō)明:① 數(shù)據(jù)都以BCD碼形式表示。(3) DS1302的輸入輸出過(guò)程數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè)SCLK的時(shí)鐘的上升沿時(shí)數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 (4) 結(jié)論 DS1302 存在時(shí)鐘精度不高,易受環(huán)境影響,出現(xiàn)時(shí)鐘混亂等缺點(diǎn)。③ 指令譯碼器:本寄存器是將指令寄存器里的指令譯碼,以獲得所要操作DDRAM或CGRAM的地址。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H,即顯示器的左上角,顯示緩沖區(qū)DDRAM的內(nèi)容不變。當(dāng)R/L=1時(shí)光標(biāo)右移,R/L=0時(shí)光標(biāo)左移。指令10:向DDRAM或CGRAM當(dāng)前位置中寫入數(shù)據(jù)。時(shí)間走時(shí)正常,所有結(jié)果達(dá)到理想中的要求效果。調(diào)試是一個(gè)調(diào)試過(guò)程是一個(gè)軟硬件相結(jié)合調(diào)試的過(guò)程,硬件電路是基礎(chǔ),軟件是檢測(cè)硬件電路和實(shí)現(xiàn)其功能的關(guān)鍵。其革命性的功能是:將電路仿真和微處理器仿真進(jìn)行協(xié)同,直接在基于原理圖的虛擬原型上進(jìn)行處理器編程調(diào)試,并進(jìn)行功能驗(yàn)證,通過(guò)動(dòng)態(tài)器件如單片機(jī)開發(fā)板、電機(jī),開關(guān)等,實(shí)時(shí)看到運(yùn)行后的輸入、輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,Proteus為我們建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。要求在命令字之后的第一個(gè)下降沿就要讀數(shù)據(jù),否則讀出的數(shù)據(jù)就是錯(cuò)誤的。因此,可能是32768Hz晶振造成DS1302工作不穩(wěn)定的主要原因。在整個(gè)設(shè)計(jì)過(guò)程中,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒(méi)學(xué)到的知識(shí)。此次比賽中學(xué)到了很多很多東西,這是最重要的。i++) for(j=0。 GotoXY(0,1)。 GotoXY(6,0)。 //實(shí)時(shí)時(shí)鐘復(fù)位線引腳sbit ACC0 = ACC^0。 unsigned char Year。 i) { DS1302_IO = ACC0。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 // 地址,命令 DS1302InputByte(ucDa)。 // 地址,命令 ucData = DS1302OutputByte()。 }void DS1302_GetTime(SYSTEMTIME *Time){ unsigned char ReadValue。0x0F)。0x0F)。0x0F)。039。39。039。039。\039。 DS1302_RST = 1。} void BurstRead1302(unsigned char *pRClock) //讀取DS1302時(shí)鐘數(shù)據(jù)(時(shí)鐘多字節(jié)方式){ unsigned char i。 // 讀1Byte數(shù)據(jù) pRClock++。0x7F)。 LcdEn=1。 return DBPort。 LcdRw=1。 if(flag) Write1302(DS1302_SECOND, Data|0x80)。 i0。 } DS1302_CLK = 1。 // 控制命令,WP=0,寫操作? DS1302_RST = 0。039。039。\039。039。039。 TimeMonth = ((ReadValueamp。 TimeDay = ((ReadValueamp。 TimeMinute = ((ReadValueamp。}void
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1