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

正文內(nèi)容

畢業(yè)設(shè)計-基于stc89c52單片機(jī)的電子日程表設(shè)計-免費(fèi)閱讀

2025-07-07 02:13 上一頁面

下一頁面
  

【正文】 dd == 0x01 ){ LCM_WriteString( 八一建軍節(jié) )。 } if ( mo == 0x07 amp。amp。 dd == 0x01 ){ LCM_WriteString( 國際兒童節(jié) )。 } if ( mo == 0x05 amp。amp。 dd == 0x08 ){ LCM_WriteString( )。 } if ( mo == 0x03 amp。amp。 day_moon == 0x01 ){ LCM_WriteString( 今日春節(jié) )。 } } else { if ( mo == 0x01 amp。 case 4:LCM_WriteString(比賽即將開始 加油 )。 // || if(g_todolist_enable) { switch(g_todolist_index) { case 0:LCM_WriteString(記得要開會哦 )。 //LCM初始化 void LCM_clr(void)。 led=1。 i 125。//定義靜態(tài)小時更新用數(shù)據(jù)變量 static unsigned char keys = 0。 sbit ACC7 = ACC^7。//ds18B20 /*****************************************************************************/ //鍵盤引腳定義 sbit KEY_1 = P1^4。 sbit LCM_psb = P2^6。 在這里向 他 致以衷心的感謝。大學(xué)的課堂的學(xué)習(xí)只是在給我們灌輸專業(yè)知識,而我們應(yīng)把所學(xué)的用到我們現(xiàn)實(shí)的生活中去,此次的時鐘設(shè)計給我奠定了一個實(shí)踐基礎(chǔ) 。 ( 2) 簡要 介紹了時鐘芯片 DS1302, 對單片機(jī)軟硬件資源和接口擴(kuò)展都有了深入的學(xué)習(xí)。 源程序的編寫 :首先從 菜單 的 “ Project” 中 “ New Project” ,建立 工程 ;然后 為 文件 選擇 好 單片機(jī)型號 , 此次使用的是 STC89C52,選擇 Atmel89C52; 確定后 新的 工程 就算建立了 。 硬件測試 本設(shè)計的硬件驗證電路完全由按照上述理論進(jìn)行焊接。本設(shè)計采用了分屏顯示的原理,在時間顯示時顯示屏一,在時間調(diào)整時顯示屏二,其流程圖分 別如圖 3 34所示。 count=0。(Read1302(0xca)==Read1302(0x86))//day amp。//清屏 Init_1302()。mm=0xff。KEY_2 = 1。 TL1=(6553550000)%256。 綜上所說,匯編語言的特點(diǎn)明顯,其誘人的優(yōu)點(diǎn)直接導(dǎo)致其嚴(yán)重的缺點(diǎn),其“ 與機(jī)器相關(guān) ” 和 “ 執(zhí)行的高效率 ” 導(dǎo)致其可移植性差和調(diào)試難。 本設(shè)計采用了匯編語言,因為匯編語言更接近機(jī)器語言, 可以直接存取寄存器和 I/O, 編寫的代碼可以非常精確的被執(zhí)行 , 可以編寫出比一般編譯系統(tǒng)高效的代碼 , 可以作為不同語言或不同標(biāo)準(zhǔn)的接口 。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示 CGROM(中文字庫)、 HCGROM( ASCII 碼字庫)及 CGRAM(自定義字形)的內(nèi)容。 7. Z 地址計數(shù)器 Z地址計數(shù)器是一個 6 位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。 DDF 的 狀態(tài)是指令 DISPLAY ON/OFF 和 RST 信號控制的。當(dāng) D/I=1 時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入 DR,或在 E信號高電平作用下由 DR讀到 DB7∽DB0 數(shù)據(jù)總線。電路圖如圖 29 所示。 DS1302 工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時,功耗小于 1mW。 DS1302是 DS1202的升級產(chǎn)品,與 DS1202 兼容,但增加了主電源 /后背電源雙電源引腳,同時提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。 /EA 端( 31 引腳)接 +5V 電壓。 STC89C52 PDIP 管腳封裝,如圖 22所示。 系統(tǒng)由主控制器 STC89C5時鐘芯片 DS130 LCD 液晶顯示 電路、鍵掃描電路和通信系統(tǒng)模塊電路組成。 比較上述兩種方案可以看出方案 三 耗能少,顯示靈活,易 于電路擴(kuò)展而且不管是軟件設(shè)計還是硬件設(shè)計都比較簡單,因此采用第三 種設(shè)計方案。 日程表 顯示的方案選擇 方案一: 時鐘的顯示可以用 多位七段 LED 數(shù)碼管顯示, 七段 LED 數(shù)碼管顯示耗能多,而且顯示位數(shù)有限,每增加一位都要在程序設(shè)計和硬件設(shè)計方面增加很多的工作量,不利于電路的擴(kuò)展,而且無法顯示 事務(wù)、 年、月、日、星 期這些漢字,使得顯示不夠直觀,靈活。這種設(shè)計還有一個非常大的缺點(diǎn)就是如果單片機(jī)斷電,時間計時就停止,再次上電時又從初始設(shè)定重新計時,這樣就需要在每次上電都調(diào)整時間,比較麻煩。 3 第 1 章 日程表 計時 和顯示 方案 事務(wù)提醒時間的準(zhǔn)確性是日程表首要考慮的問題。因此,研究 數(shù)字 日程表 及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用 單片機(jī)通過軟件方法來實(shí)現(xiàn)了。但是,遇上 重要 事務(wù) ,一時的耽誤可能釀成大禍?;?STC89C52 單片機(jī)的電子日程表設(shè)計 摘 要 本文借助電路仿真軟件 Protues 對基于 STC89C52 單片機(jī)的電子日程表的設(shè)計方法及仿真進(jìn)行了全面的闡述。 因此從人們的日常生活到 公司辦公 ,從 臺式電腦到便攜式智能手機(jī) , 都要求標(biāo)配上日程表的作用。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 因此本論文所做的數(shù)字 日程表 采用了以單片機(jī)( STC89C52)為核心,結(jié)合相關(guān)的外圍元器件例如液晶顯示、按鍵電路、復(fù)位電路、報警電路,再配以相應(yīng)的軟件,達(dá)到制作簡易數(shù)字鐘的目的, 能實(shí)現(xiàn) 實(shí)時 時鐘顯示的功能,能進(jìn)行 漢字事務(wù) 、日歷、時間 和實(shí)時溫度 的顯示 。單片機(jī)的接口信號是數(shù)字信號, 要想用單片機(jī)獲取時間這類非電信號的信 息,必須使用時間芯片,將時間信息轉(zhuǎn)換為電流或電壓輸出。 方案二:在傳統(tǒng)的基于單片機(jī)的數(shù)字時鐘設(shè)計的基礎(chǔ)上經(jīng)過一些改進(jìn),引入DS1302 時間芯片,將電路 的控制部分和計時部分分開,電路的控制部分為單片機(jī),計時部分為 DS1302 時間芯片。但是這種設(shè)計方案在顯示位數(shù)比較少時性價比比較高,價格便宜, 方案二:采用點(diǎn)陣式數(shù)碼管顯示。 綜上所述,本設(shè)計采用獨(dú)立計時,引入時鐘日歷芯片 DS1302 的設(shè)計方案,顯示使用 LCD 液晶顯示。系統(tǒng)硬件設(shè)計框圖如圖 21所示。 圖 22 STC89C52 PDIP管腳封裝 7 主控制模塊電路 單片機(jī) STC89C52 的 P0 口作為輸入口。由此就構(gòu)成了單片機(jī)主控模塊的最小系統(tǒng),如圖 24所示。主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。 時鐘模塊電路 時鐘模塊 DS1302的 AD 口與單片機(jī)的 P0口相連,進(jìn)行時間 、 日歷數(shù)據(jù)輸出 。 12345678RST91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE/PROG30EA/VPP313233343536373839VCC40U1STC89C52RDCSALERWINT1S1SWpbS2SWpbS4SWpbS3SWpbRD1TD1bellS5SWSPST時間調(diào)整按鍵加一按鍵 鬧鐘調(diào)整按鍵減一按鍵通信選擇按鍵10KR1110KR1210KR?Res210KR?Res210KR?Res2VCC+5V 圖 29 按鍵電路 10 顯示模塊的方案設(shè)計 此設(shè)計方案采用了 LCD 液晶顯示,由于此設(shè)計不需要顯示太多內(nèi)容,因此選用了 12232F 圖形點(diǎn)陣液晶顯示器 。 DR 和 DDRAM 之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。 5. XY 地址計數(shù)器 XY 地址計數(shù)器是一個 9 位計數(shù)器。當(dāng)一行掃描完成,此地址計數(shù)器自動加 1,指向下一行掃描數(shù)據(jù),RST 復(fù)位后 Z 地址計數(shù)器為 0。三種不同字符 /字型的選擇編碼范圍為: 0000~ 0006H( 其代碼分別是 0000、 000 0000006 共 4 個)顯示自定義字型, 02H~ 7FH 顯示半寬 ASCII 碼字符, A1A0H~ F7FFH顯示 8192種 GB2312中文字庫字形。 因此,依據(jù)課題設(shè)計的要求,采用匯編語言進(jìn)行軟件編程,用模塊化程序設(shè)計思想,將軟件劃分成若干模塊單元; 包括 : DS1302時鐘顯示模塊、延時等模塊 ,鍵盤掃描子程序,按鍵處理子程序模塊,通信中斷子程序, 編程語言選擇 匯編語言的實(shí)質(zhì)和 機(jī)器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,更容易識別和記憶。所以,我們在選用匯編語言時要根據(jù)實(shí)際的應(yīng)用環(huán)境,盡可能避免其缺點(diǎn)對整個應(yīng)用系統(tǒng)的影響。 EA=1。KEY_3 = 1。ss=0xff。 while(1) { Keydone()。amp。 beep=1。 18 圖 33 時間顯示,屏一顯示流程圖 在屏一顯示流程圖中,顯示設(shè)置液晶顯示設(shè)置為全屏顯示,顯示界面沒有光標(biāo)顯示,年月日的顯示從第二行第一個字符開始,時分秒的顯示從第三行第一個字符開始 。其電路焊接如圖41 所示。接下來 進(jìn)行編輯、修改等操作 。 ( 3)在系統(tǒng)的軟件仿真調(diào)試中,運(yùn)用了 Keil、 STCISP 等 軟件;學(xué)習(xí)了他們的基本操作,掌握了程序的編譯過程、 程序燒 入 過程。本系統(tǒng)的設(shè)計應(yīng)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機(jī)控制技術(shù)、電路焊接工藝等多方面的知識,所設(shè)計的 帶有萬年歷功能的日程表 電路,達(dá)到了題目要求。 在近 兩 個月的畢業(yè)設(shè)計中, 他 在學(xué)術(shù)上給了我很多幫助和教育,尤其是導(dǎo)師 們 在學(xué)習(xí)和思維方法上給我的教育,讓我受益匪淺。 //H=并口 。 //設(shè)置事務(wù) sbit KEY_2 = P1^6。 /*****************************************************************************/ //定義全局變量 30 unsigned char yy,mo,dd,xq,hh,mm,ss,e,em。//定義靜態(tài)小時更新用數(shù)據(jù)變量 static unsigned char timecount = 0。 i++)。 DelayM(80)。 //清屏 void Delay(int num)。 break。 break。amp。 } if (month_moon== 0x01 amp。 dd == 0x02 ){ LCM_WriteString( 世界濕地日 )。amp。 } if ( mo == 0x04 amp。 dd == 0x08 ){ LCM_WriteString( 復(fù)活節(jié) )。amp。 }//6 if ( mo == 0x06 amp。 day_moon == 0x15 ){ LCM_WriteString( 中元節(jié) )。amp。 }//8 if ( mo == 0x08 amp。amp。 dd == 0x07 ){ LCM_WriteString(抗日戰(zhàn)爭記念33 日 )。 } if (month_moon== 0x07 amp。amp。 day_moon == 0x05 ){ LCM_WriteString( 端午節(jié) )。 } if ( mo == 0x04 amp。amp。 dd == 0x14 ){ LCM_WriteString( 今天是情人節(jié) )。 } 32 if ( mo == 0x02 amp。amp。 break。 break。 LCM_WriteDatOrCom(0,0x98)。 //延時 void LCM_init(void)。 beep =1。 while( a != 0) { for(i = 0。 static unsigned char menu = 0。 //實(shí)時時鐘復(fù)位線引腳/*****************************************************************************/ //定義累加器 A中的各位
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1