第七 常用擴展資源編程_第1頁
第七 常用擴展資源編程_第2頁
第七 常用擴展資源編程_第3頁
第七 常用擴展資源編程_第4頁
第七 常用擴展資源編程_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1第七常用擴展資源編程7.1綜合擴展芯片81558155片內(nèi)包含有256個字節(jié)的RAM,三個可編程的并行I/O口,一個14位的計數(shù)器,是8051應用系統(tǒng)中常用的外圍器件。7.1.18155結(jié)構(gòu)及工作原理7.1.1.18155的結(jié)構(gòu)和技術(shù)性能在8155內(nèi)部具有:256字節(jié)的靜態(tài)RAM,存取時間為400ns;有三個通用的輸入/輸出口。其中A口和B口是8位口,C口是6位口。C口可做狀態(tài)口,這時,A口和B口能在應答式的輸入/輸出方式下工作;有一個14位的可編程定時/計數(shù)器;內(nèi)部有地址鎖存器及多路轉(zhuǎn)換的地址和數(shù)據(jù)總線;單一+5V電源,40腳雙列直插式封裝。第1頁/共29頁8155的邏輯結(jié)構(gòu)及引腳第2頁/共29頁18155的RAM和I/O地址編碼當8155作為單片機的擴展芯片時,是按外部數(shù)據(jù)存儲器統(tǒng)一編址的,為16位地址數(shù)據(jù),其高8位由片選線提供,而低8位地址為片內(nèi)地址。當IO/=0時,單片機對8155片內(nèi)RAM讀/寫,RAM低8位編址為00H~0FFH;當IO/=1時,單片機對8155的I/O口進行讀寫。8155共有6個I/O口寄存器,它們各自占有的地址如表7-1-1所示。

第3頁/共29頁8155的工作方式與基本操作1)作片外256字節(jié)RAM使用。此時8155的IO/腳應置為低電平,其RAM地址的高8位由片選線決定,低8位為00H~0FFH。與應用系統(tǒng)中其它數(shù)據(jù)存儲器統(tǒng)一編址。使用的讀/寫操作指令為MOVX。2)作擴展I/O口使用。此時8155的IO/腳必須置為高電平,PA、PB、PC口的口地址的低8位分別為01H、02H、03H(設(shè)地址無關(guān)位為0)。I/O口的工作方式的選擇完全依靠對8155命令寄存器設(shè)定的命令控制字來實現(xiàn)。而I/O口狀態(tài)的查詢可通過對8155狀態(tài)寄存器的操作來完成。命令/狀態(tài)寄存器共用一個口地址,寫入為命令,讀出為狀態(tài)。第4頁/共29頁命令控制字第5頁/共29頁C口工作方式第6頁/共29頁8155狀態(tài)字第7頁/共29頁控制字的應用用好8155I/O口的關(guān)鍵在于正確理解各個I/O口每一位的功能含義,據(jù)此編寫準確的控制字,并寫入命令寄存器。例如,假定要求選擇8155的PA口為基本輸入口,PB口為基本輸出口,PC口為輸出口,并立即啟動計數(shù)器工作,則向命令寄存器寫的控制字應為0CEH,即:第8頁/共29頁定時器的使用8155的定時器由兩個8位寄存器組成,是一個14位的減法計數(shù)器。其低位字節(jié)的I/O地址為×××××100B,高位字節(jié)的I/O地址為×××××101B。在TIMERIN端輸入計數(shù)脈沖,當計數(shù)滿時由TIMEROUT端輸出脈沖或方波。當TIMERIN接外脈沖時為計數(shù)方式;接系統(tǒng)時鐘時,可作為定時方式,但須注意芯片的最高計數(shù)頻率(4MHz)。定時器的操作分兩步:1)由寫入命令寄存器的控制字確定定時器的啟動、停止或裝入常數(shù)(見命令控制字)。2)由寫入到定時器的兩個寄存器的內(nèi)容確定計數(shù)長度和輸出方式。

第9頁/共29頁8155定時器格式及輸出方式第10頁/共29頁7.1.28155應用實例8155和8031的連接方法

P0口直接與8155的AD0~AD7相連,既作低8位地址線又作數(shù)據(jù)總線,地址鎖存信號使用單片機的ALE,高8位地址由及IO/控制線決定。第11頁/共29頁8155片內(nèi)資源的地址計算方法8155的地址編碼為:RAM地址:7E00H~7EFFHI/O口地址:命令/狀態(tài)口7F00HPA口7F01HPB口7F02HPC口7F03H

定時器低8位7F04H

定時器高8位7F05H

計算以上地址時,未用的地址線可以在相應的地址位中填入1或0。此處重點講解地址計算過程。第12頁/共29頁例7-1-18155應用實例設(shè)8155PA口為基本輸入口,PB口為基本輸出口,PC口為輸出口,定時器作方波發(fā)生器,對輸入脈沖進行24分頻。要求從PA口讀入的數(shù)據(jù)取反后從PB口輸出。源程序如下:/*此程序演示8155的初始化以及簡單的輸入輸出操作。*/#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#defineCOM8155XBYTE[0x7f00]#definePA8155XBYTE[0x7f01]#definePB8155XBYTE[0x7f02]#defineTL8155XBYTE[0x7f04]#defineTH8155XBYTE[0x7f05]ucharCollect_Data;第13頁/共29頁源程序voidmain(void){TL8155=0x18;/*定時器低8位,計數(shù)常數(shù)18H=24*/TH8155=0x40;/*定時器高8位,輸出為連續(xù)方波(M2M1=01)*/COM8155=0xce;/*裝入命令字,設(shè)定各口方式并啟動定時器*/while(1){ Collect_Data=PA8155;/*讀PA口數(shù)據(jù)*/ PB8155=~Collect_Data;/*采集的數(shù)據(jù)按位取反從PB口輸出*/}}第14頁/共29頁7.2實時時鐘芯片DS1302實時時鐘芯片為DS1302是Dallas公司的一種具有涓細電流充電能力的實時時鐘芯片,采用普通32.768kHz晶振。主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。DS1302是一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。第15頁/共29頁7.2.1DSl302的結(jié)構(gòu)及工作原理7.2.1.1引腳功能及結(jié)構(gòu)圖DS1302的引腳如圖7-2-1所示。VCC1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2兩者中的較大者供電。當VCC2大于VCC1+0.2V時,VCC2給DS1302供電。當VCC2小于VCC1時,DS1302由VCC1供電。X1、X2為振蕩源,外接32.768Hz晶振。圖7-2-1DS1302引腳圖第16頁/共29頁DS1302引腳說明

提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當為高電平時,允許對DS1302進行操作。如在傳送過程中置為低電平,則會終止此次數(shù)據(jù)傳送。上電運行時,在VCC≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。第17頁/共29頁7.2.1.2DSl302的控制命令字與寄存器控制命令字控制字的最高有效位(D7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。D6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(D0)如為0,表示要進行寫操作,為1表示進行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。第18頁/共29頁日歷、時鐘寄存器DS1302共有12個寄存器,寄存器的選擇根據(jù)命令字而定.其中日歷、時鐘寄存器與控制字對照表如表7-2-2所示

第19頁/共29頁日歷、時鐘寄存器的數(shù)據(jù)格式第20頁/共29頁幾個關(guān)鍵位的解釋CH:時鐘暫停位,當此位設(shè)置為1時,振蕩器停止,DS1302處于低功率的備份方式;當此位變?yōu)?,時鐘開始啟動。12/24:12小時或24小時方式選擇位。當12/24位=1,工作于12小時方式,位5是AM/PM選擇位,當此位為1時表示PM;當12/24位=0時,工作于24小時方式,此方式下,位5是第2個小時位(20-23時)。WP:寫保護位,寫保護寄存器的開始7位(0-6)置為0,在讀操作時總是讀出0。在對時鐘或RAM進行寫操作之前,位7(WP)必須為0,當它為高電平時,寫保護位防止對任何其他寄存器進行寫操作。其它的位如TCS、DS、RS與充電功能相關(guān),具體請參閱教材。第21頁/共29頁RAM寄存器DS1302與RAM相關(guān)的寄存器分為兩類。一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫入)、FFH(讀出)。

第22頁/共29頁復位和時鐘控制第23頁/共29頁數(shù)據(jù)輸入輸出I/O數(shù)據(jù)輸入是在控制字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。數(shù)據(jù)輸出是在8位控制指令字后的下一個SCLK脈沖的下降沿輸出數(shù)據(jù),輸出數(shù)據(jù)時從低位0位至高位7依次輸出。需要注意的是,第一個數(shù)據(jù)位是在控制字的最后一位之后的第一個下降沿被輸出。此時只要保持高電平,如果有額外的SCLK周期,將重新發(fā)送數(shù)據(jù)字節(jié),即多字節(jié)傳送模式。

第24頁/共29頁DS1302數(shù)據(jù)輸入輸出時序圖第25頁/共29頁7.2.2DS1302與MCS-51單片機應用實例7.2.2.1DS1302與MCS-51單片機的連接第26頁/共29頁DS1302的軟件設(shè)計DS1302與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論