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

正文內(nèi)容

基于液晶顯示的萬年歷畢業(yè)論文-在線瀏覽

2024-08-07 20:29本頁面
  

【正文】 儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 LCM1602LCD1602是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。目前市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用4 個(gè) TTL 邏輯電平。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。 P3口亦作為AT89S52特殊功能(第二功能)使用?! ?RXD(串行輸入口)   TXD(串行輸出口)   INTO(外中斷0)   INT1(外中斷1)   TO(定時(shí)/計(jì)數(shù)器0)   T1(定時(shí)/計(jì)數(shù)器1)   WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)   RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活?! SEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp?! TAL2:振蕩器反相放大器的輸出端。圖22:LCD1602引腳圖 1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。15腳背光正極,16腳背光負(fù)極。DS1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信僅需用到三個(gè)口線1 RES 復(fù)位2 I/O 數(shù)據(jù)線3 SCLK串行時(shí)鐘時(shí)鐘/RAM 的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31 個(gè)字節(jié)的字符組方式通信DS1302 工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW。表21 DS1302管腳X1 X2GND地RST復(fù)位I/O數(shù)據(jù)輸入/輸出引腳SCLK串行時(shí)鐘Vcc1 Vcc2電源供電管腳DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。上電運(yùn)行時(shí),在Vcc≥,RST必須保持低電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。 數(shù)字溫度傳感器DS18B20 DS18B20的讀寫時(shí)序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。圖3中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。 圖23DS18B20內(nèi)部結(jié)構(gòu)圖第3章 硬件設(shè)計(jì)與實(shí)現(xiàn)電子時(shí)鐘至少包括秒信號(hào)發(fā)生器、時(shí)間顯示電路、按鍵電路、供電電路等四部分,另外,本設(shè)計(jì)要求該電子鐘能夠采集溫度,所以還需要溫度采集電路,硬件電路框圖如圖31。鍵盤是為了完成時(shí)鐘/日歷的校準(zhǔn)。 單片機(jī)最小系統(tǒng)的設(shè)計(jì)AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS51單片機(jī)共有4個(gè)8位的I/O口(P0、PPP3),每一條I/O線都能獨(dú)立地作輸出或輸入。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。電路圖如圖33所示。電路圖如圖34所示。匯編語言與機(jī)器語言指令一一對(duì)應(yīng),所以用匯編語言編寫的程序在單片機(jī)里運(yùn)行起來效率較高。第一次上電,系統(tǒng)先進(jìn)行初始化,LCD顯示初始時(shí)間“03:25:00”,并開始走時(shí),初始日期為“2010430”。主序流程圖如圖41。在讀寫操作子程序中都執(zhí)行了關(guān)中斷指令,因?yàn)樵诖型ㄐ艜r(shí)對(duì)時(shí)序要求比較高,而且在此是用單片機(jī)內(nèi)部軟件模擬串行時(shí)鐘脈沖,并由I/O口輸出,所以在通信過程中最好保證傳輸?shù)倪B續(xù)性,不要允許中斷,其流程圖如圖42。如果DS1302一直沒有掉電則不會(huì)存在此問題。當(dāng)用多字節(jié)模式進(jìn)行操作時(shí),必須寫夠8個(gè)字節(jié)。因此,必須采用軟件的方法來模擬單線的協(xié)議時(shí)序[6]。 ;;;。圖43 對(duì)環(huán)境溫度采集轉(zhuǎn)換并讀取數(shù)據(jù)的程序流程圖單片機(jī)對(duì)鍵盤掃描的方法有隨機(jī)掃描方式、定時(shí)掃描方式和中斷掃描方式。定時(shí)掃描方式與隨機(jī)掃描方式基本相同,只是利用CPU內(nèi)的定時(shí)中斷,每隔一定時(shí)間掃描有無按鍵按下,鍵盤反應(yīng)速度快,在處理按鍵功能過程中,可以通過鍵盤命令進(jìn)行干預(yù),如取消、暫停等操作。由于本設(shè)計(jì)中AT89C51單片機(jī)在系統(tǒng)中的主要任務(wù)是接收DS1302和DS18B20的數(shù)據(jù)并送出顯示,完成時(shí)鐘/日歷和日期/溫度的控制,89C51單片機(jī)完全有能力完成以上工作,所以采用隨機(jī)掃描方式,系統(tǒng)也能夠正常運(yùn)行。再接著研究程序的時(shí)序圖是否正確。修改后就把問題解決了(2)測試中遇到調(diào)時(shí)間調(diào)到2057年后跳到2000年分析:認(rèn)真研究時(shí)鐘芯片的Datasheet發(fā)現(xiàn),對(duì)年的讀取,讀出后是BCD碼轉(zhuǎn)換成十制顯示時(shí)算法不正確(3)按鍵調(diào)整時(shí),不是按單位遞增和遞減分析:在鍵盤程序中,按鍵一次,向芯片寫入一個(gè)新的數(shù)字,在寫入數(shù)字后必須有一定延時(shí)才再寫入另一個(gè)數(shù)字 (4)燒寫程序進(jìn)單片機(jī)里面時(shí),有時(shí)會(huì)在顯示屏上顯示爛碼. 分析: 測試總結(jié)經(jīng)過多次的反復(fù)測試與分析,掌握了硬件的設(shè)計(jì)與分析的能力, 學(xué)會(huì)看英文版的Datasheet,同時(shí)在軟件的編程方面得到更到的提高,對(duì)編程能力得到加強(qiáng)。 最終實(shí)現(xiàn)功能:(1)能顯示陽歷年、月、日、星期、小時(shí)、分、秒(2)顯示模塊采用LCD液晶顯示,要求能用按鍵調(diào)整時(shí)間。 (4)具有定時(shí)報(bào)警功能,能夠進(jìn)行整點(diǎn)和半點(diǎn)語音報(bào)時(shí)。(6)在顯示農(nóng)歷時(shí)通過算法能夠把天干地去也顯示出來。本系統(tǒng)設(shè)計(jì)從開始到完成包括文檔的編寫總共花了一個(gè)月左右的時(shí)間,設(shè)計(jì)的難點(diǎn)在于星期和年月日的計(jì)算方法,還有單片機(jī)和各個(gè)芯片之間的通信協(xié)議,液晶的讀寫時(shí)序,按鍵的防抖。但是由于時(shí)間的局限性以及本人能力的有限性,本系統(tǒng)還有許多需要改進(jìn)和完善的地方。整個(gè)電路的功耗太大,沒讓單片機(jī)工作在空閑模式,這都是作品不實(shí)用,不能夠大批量生產(chǎn),這都有待改進(jìn),希望以后有機(jī)會(huì)對(duì)該系統(tǒng)做進(jìn)一步的完善。從大一開始,蔣老師作為我的導(dǎo)師,一直很注重我們動(dòng)手能力的培養(yǎng)。而這,對(duì)我的幫助和影響是非常巨大的。最后非常感謝無錫科技職業(yè)學(xué)院應(yīng)用電子系的老師和同學(xué),是他們讓我學(xué)會(huì)了如何學(xué)習(xí),更學(xué)會(huì)了如何做人,這將是我終身受益的寶貴財(cái)富。uchar t,num=0。 //定義整型的溫度數(shù)據(jù)float f_temp。uint shi1,fen1,miao1,nian1,yue1,ri1,we1。sbit EN=P2^7。sbit SCL=P1^2。sbit RST=P1^0。sbit key2=P3^1。void delay(uint z){uint x,y。x0。y0。}includeincludeincludeincludevoid main(){init_1602()。//reset_1302()。 display()。 }}1602.void write_date(uchar date){EN=0。P0=date。delay(5)。}void write_(uchar date){EN=0。P0=date。delay(5)。}void init_1602(){write_(0x38)。write_(0x06)。write_(0x80)。yue=read_byte(0x89)。shi=read_byte(0x85)。 miao=read_byte(0x81)。 write_(0x80+1)。write_date(table[2])。write_date(table[nian/16])。write_date(table[11])。write_date(table[yue%16])。write_date(table[ri/16])。write_(0x80+13)。M39。delay(5)。O39。delay(5)。N39。 break。T39。delay(5)。U39。delay(5)。E39。 break。W39。delay(5)。E39。delay(5)。D39。 break。T39。delay(5)。H39。delay(5)。U39。 break。F39。delay(5)。R39。delay(5)。T39。 break。S39。delay(5)。A39。delay(5)。T39。 break。S39。delay(5)。U39。delay(5)。N39。 break。write_date(table[shi/16])。write_date(table[10])。write_date(table[fen%16])。write_date(table[miao/16])。write_(0x80+0x40+10)。write_date(table[get_temp()%100/10])。write_date(table[get_temp()%10])。write_date(39。)。 //允許寫入 nian1=(nian/16)*10+nian%16。ri1=(ri/16)*10+ri%16。 //把當(dāng)前從1302中讀出的十六進(jìn)制存放的數(shù),轉(zhuǎn)化成十進(jìn)制計(jì)算fen1=(fen/16)*10+fen%16。we1=(we/16)*10+we%16。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1