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

正文內(nèi)容

基于51單片機的電子萬年歷畢業(yè)論文設(shè)計-預覽頁

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

下一頁面
 

【正文】 表儀器上的液晶顯示器或者是電腦筆記本上的液晶顯示器,都使用了 LCD。每一個點陣字符位都可以顯示一個字符。市場上有許多電子萬年歷的專用芯片,如:LM836LM8365 等,但它們功能單一,電路連接復雜,不便于調(diào)試制作。由于將多功能8 位 CPU 和閃爍存儲器組合在單個芯片中,89C51 是一種高效微控制器,51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案但是運用于電路設(shè)計中時由于不具備在線編程(ISP)技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插可能對芯片造成一定的損壞,目前該型號芯片已經(jīng)停產(chǎn)。由于我們設(shè)計的萬年歷燒寫文件大概在 7KB 左右 ,而 AT89S52 單片機的程序 Flash 為 8KB,不用再外接程序存儲器了。可以顯示 1616 點陣的漢字,也可完成圖形顯示,低電壓低功耗是其又一顯著特點。方案二: 系統(tǒng)采用 LED 顯示。采用 LED,但不能顯示文字,性價比不是很高,操作起來比較液晶顯示來說略顯繁瑣,所以也不用此種作為顯示。直接采用單片機定時計數(shù)器提供秒信號,計數(shù)的脈沖由外部提供,定時的脈沖由外部晶振提供,定時加 1 的周期為一個機器周期;定時時間與初值和晶振頻率有關(guān)。DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶RAM 的實時時鐘電路,它可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,工作電壓為 ~。DS1302 內(nèi)部有一個 318 的用于臨時性存放數(shù)據(jù)的 RAM 寄存器。熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件。熱敏電阻廣泛用于家用電器、電力工業(yè)、通訊、軍事科學、宇航等各個領(lǐng)域,發(fā)展前景極其廣闊。在應(yīng)用與高精度、高可靠性的場合時 DALLAS(達拉斯)公司生產(chǎn)的 DS18B20 溫度傳感器當仁不讓。DS18B20 數(shù)字溫度計提供 9 位(二進制)溫度讀數(shù),指示器件的溫度。采用 DS18B20 溫度傳感器,可以對溫度做出比較精確的測量,而且和單片機通訊只要一個 IO,連接方便。它可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。 溫度模塊傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D 轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號送入計算機處理,處理電路復雜、可靠性相對較差,占用計算機的資源比較多,本設(shè)計測溫模塊采用一線制總線數(shù)字溫度傳感器 DS18B20,可將溫度信號直接轉(zhuǎn)換成數(shù)字信號送給微處理器,電路簡單,成本低,其電路原理圖如圖 33 所示:圖 33 DS18B20 溫度模塊從圖中可看出,將溫度傳感器的一線制總線通過端口 2 與本設(shè)計主控芯片STC12C5A6S2 的端口標號為 DS18B20 的相連即可實現(xiàn)相互之間的通信。DS18B20 數(shù)字溫度計提供 9 位(二進制)溫度讀數(shù),指示器件的溫度。2)DS18B20芯片其封裝結(jié)構(gòu)如下: 圖 34 DS18B20 芯片封裝圖 由其引腳可看出,其 3 個引腳: GND 為電壓地直接接地;DQ 為單數(shù)據(jù)總線用來與單片機相連接,本系統(tǒng)中 DS 與單片機 接口連接,僅此一個連接就能保證 DS18B20 與單片機之間的數(shù)據(jù)交換;VDD 引腳接電源電壓。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。第5個字節(jié)則是用戶第3個EEPROM的鏡像。我們在每一次讀溫度之前都必須進行復雜的且精準時序的處理,因為DS18B20的硬件簡單結(jié)果就會導致軟件的巨大開消。按鍵采用的是 Tack Switch 按鈕開關(guān),它具有自動恢復(彈回)的功能。7 個按鍵實現(xiàn)了開機模式選擇,日期調(diào)節(jié)等功能,獨立按鍵的引入使得體現(xiàn)了本設(shè)計的人性化,智能化,功能的強大。本設(shè)計里,我們采用有源蜂鳴器,由于蜂鳴器的工作電流一般比較大,以至于單片機的 I/O 口是無法直接驅(qū)動的,所以要利用放大電路來驅(qū)動,我們使用三極管來放大電流,驅(qū)動蜂鳴器,此模塊只要通過 BELL(連接到到單片機 )輸入的 PWM 波既可以使蜂鳴器分出聲音,我們設(shè)計的這款萬年歷可以在鬧鐘定時中作為聲音提醒信號。使用 Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和隨后由從機發(fā)出的存在脈沖:(1)復位:首先我們必須對DS18B20芯片進行復位,復位就是由控制器(單片機)給DS18B20單總線至少480us的低電平信號。(3)控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。這條指令適合單芯片和多芯片掛接。 Alarm Search(報警芯片搜索)[ECH]: 在多芯片掛接的情況下,報警芯片搜索指令只對附合溫度高于TH或小于TL報警條件的芯片做出反應(yīng)。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個18B20芯片時可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令” ) 。寫入過程中可以用復位信號中止寫入。此后由于芯片忙于EEPROM儲存處理,當控制器發(fā)一個讀時間隙時,總線上輸出“0” ,當儲存工作完成時,總線將輸出“1” 。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持500MS,來維持芯片工作。這樣RAM中的兩個報警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。 DS18B20需要嚴格的協(xié)議以確保數(shù)據(jù)的完整性。一個復位脈沖跟著一個存在脈沖表明DS18B20已經(jīng)準備好發(fā)送和接收數(shù)據(jù)(適當?shù)腞OM命令和存儲器操作命令) 。 圖43 DS18B20讀時序圖DS18B20 的寫時序:對于 DS18B20 的寫時序仍然分為寫 0 時序和寫 1 時序兩個過程。由于溫度傳感器與時鐘芯片集成度較高,所以在硬件電路設(shè)計時不需要太多其他元件即可實現(xiàn)預期功能。該軟件沿襲了 Protel 以前版本方便易學的特點,內(nèi)部界面與 Protel 99 大體相同,新增加了一些功能模塊,功能更加強大。Protel 99SE 容易使用的特性還體現(xiàn)在其幫助功能,按下右上角的小問號,然后輸入你所要的信息,可以很快地看到特性的功能,然后用到設(shè)計中,按下狀態(tài)欄末端的按鈕,使用幫助顧問。(2)裁剪覆銅板,也就是表面面都覆有銅膜的線路板,將覆銅板裁成電路板的大小,不要過大,以節(jié)約材料。將打印好的電路板裁剪成合適大小,把印有電路板的一面貼在覆銅板上,對齊好后把覆銅板放入熱轉(zhuǎn)印機,放入時一定要保證轉(zhuǎn)印紙沒有錯位。先檢查一下電路板是否轉(zhuǎn)印完整,若有少數(shù)沒有轉(zhuǎn)印好的地方可以用黑色油性筆修補。線路板上是要插入電子元件的,所以就要對線路板鉆孔了。水干后,用松香水涂在有線路的一面,為加快松香凝固,我們用熱風機加熱線路板,只需 23 分鐘松香就能凝固。一般情況下,應(yīng)按電阻、電容、二極管、三極管、集成電路、大功率管順序焊接?!?2電容上的型號標記要易見見且方向也盡量一致。 場效應(yīng)管的焊接:正確辨認各引腳后按要求裝入規(guī)定位置,焊接時間盡可能短。(2) 焊接質(zhì)量檢查 元器件不得有錯裝、漏裝、錯聯(lián)和歪斜松動等。元器件的引腳或引線表面應(yīng)滲錫均勻。Keil C51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。圖C 時間調(diào)整程序流程圖 KS0108 的軟件設(shè)計液晶控制器 KS0108 一共有七條指令,從作用上可分為兩類,顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀/寫操作指令。列地址設(shè)置中 C5C0 為 Y 地址計數(shù)器的內(nèi)容,取值在 03FH(164 行)范圍內(nèi)。另外 LCD 指令中有-條 display ON/OFF 指令,display ON 時顯示 RAM 數(shù)據(jù)對應(yīng)顯示的畫面;display OFF 則畫面消失,RAM 中顯示數(shù)據(jù)仍存在。采用字模軟件提取字模。變量初始化關(guān)閉 D S 1 3 0 2 寫保護復位關(guān)閉D S 1 3 0 2 地址寫入延時向該地址寫入數(shù)據(jù)復位關(guān)閉寫入 D S 1 3 0 2 地址延時開始讀地址的數(shù)據(jù)讀出地址增加地址增加顯示數(shù)據(jù)數(shù)據(jù)寫完否 ?數(shù)據(jù)讀完否 ?YN YN 圖 47 DS1302 讀寫程序模塊流程圖 溫度的讀取DS1802 是這樣測溫的:用一個高溫度數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。 //稍做延時 DQ = 0。 x=DQ。通常的按鍵所用開關(guān)為機械彈性開關(guān),當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個延時程序,5ms~10ms 的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。結(jié)束語在硬件電路焊接和軟件程序設(shè)計分別完成的基礎(chǔ)之上,進行軟硬件的結(jié)合與調(diào)試。即能夠正確的顯示萬年歷。致 謝在論文即將完成之際,我要特別感謝我的指導老師余良俊老師對我的熱情關(guān)懷和細心指導。他孜孜不倦悉心細致的教誨和嚴謹治學一絲不茍的工作作風使我永遠都不能忘記。最后,感謝我即將離開的母校中國地質(zhì)大學江城學院,你使我的心靈得到了升華;你使我的思維更加成熟,你是我生命的歸宿,是我成長的階梯,在你的培養(yǎng)下我成功的從學校走進了社會。bit Clock_flag=0。unsigned int fg=0,xiaoshu_a。}//************************************************************************/// 函數(shù): LCD_Delay()// 描述: 延時 t ms 函數(shù)// 參數(shù): t // 返回: 無// 備注: t=1 延時時間約 1ms// 版本: 2022/01/01 First version//************************************************************************/void Delay_nms(unsigned int t){unsigned int i,j。j113。jSONG_LONG[i]*20。k++)。//關(guān)閉蜂鳴器}//////////////////////////////////////////////////*DS18B20*/void delay_18B20(unsigned int i){while(i)。 //稍做延時 DQ = 0。 x=DQ。 i0。 delay_18B20(5)。 若傳 1,則保持總線高電平;若發(fā)送 0,則拉低總線 傳 0 時 DS18B20 在該時隙結(jié)束時釋放總線,再拉回高電平狀態(tài),主機必須在讀時隙開始后的 15us內(nèi)釋放總線,并保持采樣總線狀態(tài) */unsigned char ReadOneChar(void){unsigned char i=0。i) { DQ = 0。 delay_18B20(4)。 // 跳過讀序號列號的操作WriteOneChar(0x44)。 //跳過讀序號列號的操作WriteOneChar(0xBE)。 //讀取高八位數(shù)據(jù)zhengshu=L_18B20/16+H_18B20*16。if (KeyIn1 == 0){val = 1。}else if (KeyIn3 == 0){val = 3。}/* * 主界面框架*/void main_frame(void){play32(80, 2, 10)。// play8(96, 0, RH)。if (refresh)read_time((uint8 *)amp。 //溫度顯示play32_num(96, 2, )。play32_num(48, 2, )。 = 。// 農(nóng)歷turn_lunar_calendar(amp。play_week(68, 0, )。time, lunar)。// 農(nóng)歷turn_lunar_calendar(amp。play32_num(96, 2|0x80, )。set_time((uint8 *)amp。time)。case 2: play32_num(48, 2|0x80, )。case 4: play_week(68, 0|0x80, )。case 6: play8_num(24, 0|0x80, )。default: break。else if ( 0) = 59。if ( = 60) = 0。else。}else if (state == 4){if (key_val == 3)++。play_week(68, 0|0x80, )。else if ( 1) = 31。if ( = 13) = 1。else。}else{break。play16(0, 0, nao)。elseplay16(48, 0, guan)。play16(0, 6, zheng)。play16(64, 6, maohao)。 t30000。elseplay16(48, 0|0x80, guan)。i
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1