




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于8051實(shí)時(shí)時(shí)鐘芯片PCF8563驅(qū)動(dòng)程序的實(shí)現(xiàn)PAGE1PAGE1基于8051實(shí)時(shí)時(shí)鐘芯片PCF8563驅(qū)動(dòng)程序設(shè)計(jì)方案第1章緒論1.1研究背景前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。在家用電器中的應(yīng)用可以這樣說(shuō),現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無(wú)所不在。在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無(wú)線通信、再到日常工作中隨處可見(jiàn)的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。在各種大型電器中的模塊化應(yīng)用某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂(lè)集成單片機(jī),看似簡(jiǎn)單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。如:音樂(lè)信號(hào)以數(shù)字的形式存于存儲(chǔ)器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂(lè)電信號(hào)(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路,降低了損壞、錯(cuò)誤率,也方便于更換。單片機(jī)在汽車設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動(dòng)機(jī)控制器,基于CAN總線的汽車發(fā)動(dòng)機(jī)智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動(dòng)系統(tǒng)等等。此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。SCM即單片微型計(jì)算機(jī)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,MCU即微控制器階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì)。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績(jī)。單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。PCF8563是一款工業(yè)級(jí)內(nèi)含I2C總線接口功能的具有極低功耗的多功能時(shí)鐘/日歷芯片.PCF8563的多種報(bào)警功能定時(shí)器功能時(shí)鐘輸出功能和中斷輸出功能達(dá)成各種復(fù)雜的定時(shí)服務(wù),甚至可為單片機(jī)提供看門狗功能內(nèi)部時(shí)鐘電路內(nèi)部振蕩電路內(nèi)部低電壓檢測(cè)電路1.0V以及兩線制I2C總線通訊方式.不但使外圍電路及其簡(jiǎn)潔而且也增加了芯片的可靠同時(shí)每次讀寫(xiě)數(shù)據(jù)后內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量當(dāng)然作為時(shí)鐘芯PCF8563亦解決了2000年問(wèn)題因而PCF8563是一款性價(jià)比極高的時(shí)鐘芯片它已被廣泛用于電表水表氣表電話傳真機(jī)便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域特性寬電壓范圍1.05.5V復(fù)位電壓標(biāo)準(zhǔn)值Vlow=0.9V超低功耗典型值為0.25AVDD=3.0V,Tamb=25可編程時(shí)鐘輸出頻率為32.768KHz1024Hz32Hz1Hz四種報(bào)警功能和定時(shí)器功能內(nèi)含復(fù)位電路振蕩器電容和掉電檢測(cè)電路開(kāi)漏中斷輸出400kHzI2C總線其從地址讀0A3H;寫(xiě)0A2H1.2研究意義隨著消費(fèi)類電子產(chǎn)品的廣泛應(yīng)用,實(shí)時(shí)時(shí)鐘芯片的需求也在增加,這就要求實(shí)時(shí)時(shí)鐘芯片朝功耗低、精度高、體積小、功能全的方向發(fā)展國(guó)內(nèi)外已有很多這方面的研究[1~8]傳統(tǒng)的實(shí)時(shí)時(shí)鐘通常只具備計(jì)時(shí)功能,人工干預(yù)較少,靈活性較差.PCF8563在時(shí)鐘芯片的世界中,是一款性價(jià)比較高的芯片。其接口電路簡(jiǎn)潔,芯片驅(qū)動(dòng)程序嚴(yán)格按照芯片時(shí)序編寫(xiě),讀寫(xiě)穩(wěn)定可靠,可為智能儀器提供高準(zhǔn)確度的時(shí)鐘、定時(shí)和報(bào)警功能。1.3研究?jī)?nèi)容PCF可編程時(shí)鐘輸出頻率,以及它的石英晶振頻率,對(duì)時(shí)鐘芯片進(jìn)行正確的設(shè)置狀態(tài),了解它的控制寄存器,知道對(duì)不精準(zhǔn)的時(shí)鐘進(jìn)行校準(zhǔn),最后對(duì)芯片進(jìn)行延時(shí)保護(hù)
第2章8051介紹隨著電子設(shè)備產(chǎn)業(yè)的快速發(fā)展,選擇適當(dāng)?shù)脑M足設(shè)計(jì)規(guī)范要求、盡可能降低成本、確保設(shè)計(jì)方案的功率、特別是控制系統(tǒng)的體積大小等等變得越來(lái)越困難,低功耗、小型化設(shè)計(jì)逐漸成為產(chǎn)品設(shè)計(jì)的關(guān)鍵。
目前無(wú)論國(guó)內(nèi)還是國(guó)外,以8位CPU為核的SoC由于價(jià)格低廉,應(yīng)用軟件開(kāi)發(fā)成本低,應(yīng)用廣泛而仍舊占據(jù)市場(chǎng)主導(dǎo)地位。以國(guó)內(nèi)為例,8位MCU占據(jù)50%以上的市場(chǎng)。8位SoC的發(fā)展和市場(chǎng)都較其它的SoC成熟,市場(chǎng)的競(jìng)爭(zhēng)也十分激烈。國(guó)外的8位MCU技術(shù)朝兩方面發(fā)展,一是朝高性能、低功耗,更低電壓發(fā)展,二是降低成本滿足低端客戶需求。北京時(shí)代民芯科技有限公式所研制的SoC產(chǎn)品MXT8051是利用公司自行研制的高性能8051MCU為核心進(jìn)行開(kāi)發(fā),并集成了存儲(chǔ)器、AD、DA、PGA、LCD等模擬IP,滿足多種微控制系統(tǒng)應(yīng)用。
圖2-1MXT8051F04A
MXT8051單片機(jī)是北京時(shí)代民芯科技有限公司推出的高速單指令周期8051為核的MCU。該電路擁有豐富的外設(shè),包括PWM、UART、WDT、Timer等,大容量存儲(chǔ)器,內(nèi)嵌32Kx8可在線編程flash、10位AD、8位DAC、兩個(gè)OP、36x4LCDdriver、LDO以及可編程增益放大器(PGA)等模擬電路。電路集成片上調(diào)試系統(tǒng),通過(guò)標(biāo)準(zhǔn)JTAG接口,快速診斷復(fù)雜SOC,該調(diào)試系統(tǒng)具有不占用任何硬件資源可進(jìn)行全速和單步運(yùn)行、支持硬件斷點(diǎn)、軟件斷點(diǎn)、以及觀察內(nèi)部特殊功能寄存器、程序指針和內(nèi)部RAM等功能。上位機(jī)通過(guò)標(biāo)準(zhǔn)JTAG接口以及用戶定義指令執(zhí)行在線編程和在線調(diào)試。同時(shí)提供調(diào)試和編程軟件包。其主要特點(diǎn)如下:低功耗,Standby狀態(tài)下在工作電流<40uA;單指令周期,時(shí)鐘周期支持0~40MHz;片內(nèi)32KByteFlashROM,256Byte內(nèi)部RAM和1KByte外部RAM;2個(gè)16位定時(shí)器,看門狗,3個(gè)10位PWM,UART,RTC精確計(jì)時(shí)器;集成OSC內(nèi)部4MHz振蕩器,2個(gè)片上時(shí)鐘產(chǎn)生器,系統(tǒng)時(shí)鐘分頻器,系統(tǒng)時(shí)鐘內(nèi)部時(shí)鐘和外部時(shí)鐘可選;標(biāo)準(zhǔn)JTAG接口,支持在線下載及調(diào)試;集成4com×36seg段式LCD顯示驅(qū)動(dòng);4路10位AD,兩個(gè)realtoreal獨(dú)立OP和可編程增益放大器(PGA);0~1mA可調(diào)恒流源輸出;
2-1基于MXT8051系統(tǒng)設(shè)計(jì)方法
由于MXT8051SoC的高集成度和低功耗,對(duì)于目前市場(chǎng)上流行的微控制系統(tǒng),其具延長(zhǎng)手持設(shè)備電池供電使用時(shí)間;節(jié)約大量外部元件的成本和焊接費(fèi)用;減少元件的篩選工序,提高成品率等特點(diǎn)。MXT8051內(nèi)部集成144段式LCD驅(qū)動(dòng)和5個(gè)外部中斷源,能夠滿足微控制系統(tǒng)中對(duì)于人機(jī)信息交互的需要;其獨(dú)特的可調(diào)增益放大器、恒流源、放大器模擬模塊,可為電阻式傳感器(如壓力、溫度、光線)或其他生物傳感器提供完備的數(shù)據(jù)轉(zhuǎn)換和采集系統(tǒng);3路10位PWM能夠輸出不同占空比和頻率的脈沖信號(hào)。這種設(shè)計(jì)方案的結(jié)構(gòu)框圖如圖2-2所示,由于大部分功能模塊已經(jīng)集成到SoC內(nèi)部,開(kāi)發(fā)人員只需針對(duì)應(yīng)用所需少量外圍電路,即可完成一個(gè)系統(tǒng)的設(shè)計(jì),并快速進(jìn)入軟件研發(fā)狀態(tài),縮短產(chǎn)品開(kāi)發(fā)周期。MXT8051由于自身特點(diǎn)和優(yōu)勢(shì),可在醫(yī)療儀器、數(shù)字儀表、家用電器等多種領(lǐng)域得到應(yīng)用,能夠?yàn)橛脩魧?shí)現(xiàn)縮短設(shè)計(jì)周期、減少元件數(shù)量、降低產(chǎn)品成本的目標(biāo)。
(a)AT89C51(B)AT89C2051圖2-2兩種存儲(chǔ)器單片微型計(jì)算機(jī)簡(jiǎn)稱為單片機(jī),又稱為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來(lái),單片機(jī)發(fā)展迅速,各類新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,lP0.0~P0.7P0口8位雙向口線(在引腳的39~32號(hào)端子)。P1.0~P1.7P1口8位雙向口線(在引腳的1~8號(hào)端子)。P2.0~P2.7P2口8位雙向口線(在引腳的21~28號(hào)端子)。P3.0~P3.7P3口8位雙向口線(在引腳的10~17號(hào)端子)。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。2-28051引腳(a)引腳圖(b)接線功能圖圖2-3單片機(jī)引腳圖P0口有三個(gè)功能外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線(如圖2-1中的D0~D7為數(shù)據(jù)總線接口)外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖2-1中的A0~A7為地址總線接口)不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。P1口只做I/O口使用:其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用做一般I/O口使用,其內(nèi)部有上拉電阻;P3口有兩個(gè)功能:除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來(lái)設(shè)置,具體功能請(qǐng)參考我們后面的引腳說(shuō)明。內(nèi)部EPROM的單片機(jī)芯片(例如8751),為寫(xiě)入程序需提供專門的編程脈沖和編程電源,這些信號(hào)也是由信號(hào)引腳的形式提供的,即:編程脈沖:30腳編程電壓:31腳(EA/Vpp)接觸過(guò)工業(yè)設(shè)備的兄弟可能會(huì)看到有些印刷線路板上會(huì)有一個(gè)電池,這就是單片機(jī)的備用電源,當(dāng)外接電源下降到下限值時(shí),備用電源就會(huì)經(jīng)第二功能的方式由第9腳(即RST/VPD)引入,以保護(hù)內(nèi)部RAM中的信息不會(huì)丟失。電阻那當(dāng)然就是一個(gè)電阻啦,當(dāng)作為輸入時(shí),上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口如果作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。ALE/PROG地址鎖存控制信號(hào):在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的隔離.在后面關(guān)于擴(kuò)展的課程中我們就會(huì)看到8051擴(kuò)展EEPROM電路,在圖中ALE與74LS373鎖存器的G相連接,當(dāng)CPU對(duì)外部進(jìn)行存取時(shí),用以鎖住地址的低位地址,即P0口輸出。ALE有可能是高電平也有可能是低電平,當(dāng)ALE是高電平時(shí),允許地址鎖存信號(hào),當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)負(fù)跳變(即由正變負(fù))將P0口上低8位地址信號(hào)送入鎖存器。當(dāng)ALE是低電平時(shí),P0口上的內(nèi)容和鎖存器輸出一致。關(guān)于鎖存器的內(nèi)容。在沒(méi)有訪問(wèn)外部存儲(chǔ)器期間,ALE以1/6振蕩周期頻率輸出(即6分頻),當(dāng)訪問(wèn)外部存儲(chǔ)器以1/12振蕩周期輸出(12分頻)。當(dāng)系統(tǒng)沒(méi)有進(jìn)行擴(kuò)展時(shí)ALE會(huì)以1/6振蕩周期的固定頻出,因此可以做為外部時(shí)鐘,或者外部定時(shí)脈沖使用。圖2-4外部中斷PORG為編程脈沖的輸入端:在第五課單片機(jī)的內(nèi)部結(jié)構(gòu)及其組成中,我們已知道,在8051單片機(jī)內(nèi)部有一個(gè)4KB或8KB的程序存儲(chǔ)器(ROM),ROM的作用就是用來(lái)存放用戶需要執(zhí)行的程序的,那么我們是怎樣把編寫(xiě)好的程序存入進(jìn)這個(gè)ROM中的呢?實(shí)際上是通過(guò)編程脈沖輸入才能寫(xiě)進(jìn)去的,這個(gè)脈沖的輸入端口就是PROG。PSEN外部程序存儲(chǔ)器讀選通信號(hào):在讀外部ROM時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部ROM單元的讀操作。內(nèi)部ROM讀取時(shí),PSEN不動(dòng)作;外部ROM讀取時(shí),在每個(gè)機(jī)器周期會(huì)動(dòng)作兩次;外部RAM讀取時(shí),兩個(gè)PSEN脈沖被跳過(guò)不會(huì)輸出;外接ROM時(shí),與ROM的OE腳相接。EA/VPP訪問(wèn)和序存儲(chǔ)器控制信號(hào)接高電平時(shí):CPU讀取內(nèi)部程序存儲(chǔ)器(ROM)擴(kuò)展外部ROM:當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò)0FFFH(8051)1FFFH(8052)時(shí)自動(dòng)讀取外部ROM。接低電平時(shí):CPU讀取外部程序存儲(chǔ)器(ROM)。圖2-5晶振用法在前面的學(xué)習(xí)中我們已知道,8031單片機(jī)內(nèi)部是沒(méi)有ROM的,那么在應(yīng)用8031單片機(jī)時(shí),這個(gè)腳是一直接低電平的。3、8751燒寫(xiě)內(nèi)部EPROM時(shí),利用此腳輸入21V的燒寫(xiě)電壓。RST復(fù)位信號(hào):當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計(jì)數(shù)器PC=0000H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼XTAL1和XTAL2外接晶振引腳。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。VCC:電源+5V輸入VSS:GND接地。AVR和pic都是跟8051結(jié)構(gòu)不同的8位單片機(jī),因?yàn)榻Y(jié)構(gòu)不同,所以匯編指令也有所不同,而且區(qū)別于使用CISC指令集的8051,他們都是RISC指令集的,只有幾十條指令,大部分指令都是單指令周期的指令,所以在同樣晶振頻率下,較8051速度要快。PIC的8位單片機(jī)前幾年是世界上出貨量最大的單片機(jī),飛思卡爾的單片機(jī)緊隨其后。ARM實(shí)際上就是32位的單片機(jī),它的內(nèi)部資源(寄存器和外設(shè)功能)較8051和PIC、AVR都要多得多,跟計(jì)算機(jī)的CPU芯片很接近了。常用于手機(jī)、路由器等等。DSP其實(shí)也是一種特殊的單片機(jī),它從8位到32位的都有。它是專門用來(lái)計(jì)算數(shù)字信號(hào)的。在某些公式運(yùn)算上,它比現(xiàn)行家用計(jì)算機(jī)的最快的CPU還要快。比如說(shuō)一般32位的DSP能在一個(gè)指令周期內(nèi)運(yùn)算完一個(gè)32位數(shù)乘32位數(shù)積再加一個(gè)32位數(shù)。應(yīng)用于某些對(duì)實(shí)時(shí)處理要求較高的場(chǎng)合圖2-68051系統(tǒng)功能圖第3章Keilc51系統(tǒng)的基本知識(shí)使用C語(yǔ)言肯定要使用到C編譯器,以便把寫(xiě)好的C程序編譯為機(jī)器碼,這樣單片機(jī)才能執(zhí)行編寫(xiě)好的程序。KEILC是眾多單片機(jī)應(yīng)用開(kāi)發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的51架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持,PLM,匯編和C語(yǔ)言的程序設(shè)計(jì)。下面詳細(xì)介紹KeilC51的一些知識(shí)。3-1keil系統(tǒng)的概述KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開(kāi)發(fā)系統(tǒng)各部分功能。圖3-1keil主頁(yè)面圖3-2系統(tǒng)的整體結(jié)構(gòu)C51工具包系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu)通過(guò)keilc軟件的主界面可以了解到,其中uVision與Ishell分別是可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。KeilC51工具包各部分功能C51與A51C51是C語(yǔ)言編譯器,其使用方法為:C51sourcefile[編譯控制指令]或者C51@commandfile其中sourcefile為C源文件(.C)。大量的編譯控制指令完成C51編譯器的全部功能。包控C51輸出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等。A51是匯編語(yǔ)言編譯器,使用方法為:A51sourcefile[編譯控制指令]或A51@commandfile其中sourcefile為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語(yǔ)言類似,可參考其他匯編語(yǔ)言材料。L51是KeilC51軟件包提供的連接/定位器,其功能是編譯生成的OBJ文件與庫(kù)文件連接定位生成絕對(duì)目標(biāo)文件。BL51也是C51軟件包的連接/定位器,其具有L51的所有功能,此外它還有以下3點(diǎn)特別之處:可以連接定位大于64kBytes的程序。具有代碼域及域切換功能??捎糜赗TX51操作系統(tǒng)RTX51是一個(gè)實(shí)時(shí)多任務(wù)操作系統(tǒng),,甚至不必用main()函數(shù),單片機(jī)系統(tǒng)軟件向RTOS發(fā)展是一種趨勢(shì),這種趨勢(shì)對(duì)于186和386及68K系列CPU更為明顯和必須,對(duì)8051因CPU較為簡(jiǎn)單,程序結(jié)構(gòu)等都不太復(fù)雜,圖3-2C51工具包的整體結(jié)構(gòu)DScope51,Tscope51與Monitor51dScope51是一個(gè)源級(jí)調(diào)試器和模擬器,它可以調(diào)試由C51編譯器、A51匯編器、PL/M-51編譯器及ASM-51匯編器產(chǎn)生的程序。它不需目標(biāo)板(forwindows也可通過(guò)mon51接目標(biāo)板),只能進(jìn)行軟件模擬,但其功能強(qiáng)大,可模擬CPU及其外圍器件,能對(duì)嵌入式軟件功能進(jìn)行有效測(cè)試。與dScope51不同的是Scope51必須帶目標(biāo)板,目前它可以通過(guò)兩種方式訪問(wèn)目標(biāo)板。通過(guò)EMul51在線仿真器,tScope51為該仿真器準(zhǔn)備了一個(gè)動(dòng)態(tài)連接文件EMUL51.IOT,但該方法必須配合該仿真器。通過(guò)Monitov51監(jiān)控程序,這種方法是可行的,tScope51為訪問(wèn)Monitor51專門帶有MON51.IOT連接程序,使用時(shí)可通過(guò)串口及監(jiān)控程序來(lái)調(diào)試目標(biāo)板。3-3定時(shí)器工作Monitor51是一個(gè)監(jiān)控程序通過(guò)PC機(jī)的串口與目標(biāo)板進(jìn)行通信,Monitor操作需要MON51或dScope51forWindows。Ishell與uVisionIshell是一個(gè)forDos的IDE,直接在命令行鍵入Ishell,則進(jìn)入該環(huán)境,它使用簡(jiǎn)單方便。其命令行與DOS命令行具有同樣的功能,對(duì)單模塊的Project直接由菜單進(jìn)行編譯連接,對(duì)多模塊的project。uVisionforWindows是一個(gè)標(biāo)準(zhǔn)的Windows應(yīng)用程序,它是C51的一個(gè)集成軟件開(kāi)發(fā)平臺(tái),具有源代碼編輯、project管理、集成的make等功能,它的人機(jī)界面友好,操作方便,是開(kāi)發(fā)者的首選。
圖3-3定時(shí)器/計(jì)數(shù)器工作方式1邏輯結(jié)構(gòu)定時(shí)器/計(jì)數(shù)器T0工作方式1的電路邏輯結(jié)構(gòu)如圖3-3所示。T0定時(shí)特性功能寄存器由TL0(低8位)和TH0(高8位)構(gòu)成。特殊功能寄存器TMOD控制定時(shí)寄存器的工作方式;TCON則用于控制定時(shí)器T0和T1的啟動(dòng)和停止計(jì)數(shù),同時(shí)管理定時(shí)器T0和T1的溢出標(biāo)志等。程序開(kāi)始時(shí)需對(duì)TL0和TH0進(jìn)行初始化編程,以定義它們的工作方式,并控制T0和T1的計(jì)數(shù)。在系統(tǒng)的設(shè)計(jì)中,計(jì)時(shí)單位以s為基準(zhǔn),并要求日誤差≤10s,如果用循環(huán)去做,無(wú)法滿足精度要求。選用12MHz的晶體可得到1s的精度,經(jīng)分析確定使用定時(shí)器0的方式1。這個(gè)方式下,定時(shí)器0是16位定時(shí)器,也就是最大定時(shí)值為FFFFH,12MHz晶體的每個(gè)定時(shí)周期為1s,最多可以定時(shí)FFFFH×1s=65635us,即使使用最大值也無(wú)法一次定時(shí)1s,設(shè)計(jì)中使用1次定時(shí)20ms,50次定時(shí)中斷得到1s。20ms定時(shí)中斷的定時(shí)值為:FFFFH-20ms/1s=B1DFH。圖3-4選取界面利用Keil提供的AGSI開(kāi)發(fā)了兩塊仿真實(shí)驗(yàn)板。這兩塊仿真板將枯燥無(wú)味的數(shù)字用形象的圖形表達(dá)出來(lái),可以使初學(xué)者在沒(méi)有硬件時(shí)就能感受到真實(shí)的學(xué)習(xí)環(huán)境。是鍵盤、LED顯示仿真板的圖,有在P1口接有8個(gè)發(fā)光二極管,在P3口接有4個(gè)按鈕,的右邊給出了。是另一個(gè)較為復(fù)雜的實(shí)驗(yàn)一個(gè)帶有計(jì)數(shù)器的脈沖發(fā)生器等資源,顯然,。一、實(shí)驗(yàn)仿真板的安裝這兩塊仿真實(shí)驗(yàn)板實(shí)際上是兩個(gè)dll文件,名稱分別是ledkey.dll和simboard.dll,安裝時(shí)只要根據(jù)需要將這兩個(gè)或某一個(gè)文件拷貝到keil軟件的c51\bin文件夾中即可。二、實(shí)驗(yàn)仿真板的使中Debug標(biāo)簽頁(yè),在Dialog:Parameter:后的編緝框中輸入-d文件名如,示輸入完畢后點(diǎn)擊確定退出。編譯、連接完成后按CTRL+F5進(jìn)入調(diào)試,此時(shí),點(diǎn)擊菜單Peripherals,即會(huì)多出一項(xiàng)“鍵盤LED仿真板(K)”,選中該項(xiàng),鍵盤、LED顯示實(shí)驗(yàn)仿真板單片機(jī)實(shí)驗(yàn)仿真板同樣,在設(shè)置時(shí)如果輸入-dsimboard則能夠調(diào)出如的界面。第一塊仿真板的硬件電路很簡(jiǎn)單,電路圖已在板上,第二塊板實(shí)現(xiàn)的功能稍復(fù)雜,其鍵盤和數(shù)碼顯示管部分的電路。常用字形碼。除了鍵盤和數(shù)碼管以外,P1口同樣也接有8個(gè)發(fā)光二極管連接方式與相同;脈沖發(fā)生器是接入T0即P3.4引腳。0c0h0f9h0a4h0b0h99h92h82h0f8h80h90h0FFH
第4章總線簡(jiǎn)介I2C(Inter-IntegratedCircuit)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。
I2C總線特點(diǎn)I2C總線最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的長(zhǎng)度可高達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持40個(gè)組件。I2C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering),其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。
I2C總線工作原理總線的構(gòu)成及信號(hào)類型I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。
I2C總線在傳送數(shù)據(jù)過(guò)程中共有三種類型信號(hào),它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。開(kāi)始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。結(jié)束信號(hào):SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供I2C接口。
總線基本操作I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來(lái)表示起始和停止條件。參見(jiàn)圖3-1圖4-1串行總線上的數(shù)據(jù)傳送順序控制字節(jié)在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識(shí)別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫(xiě)位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫(xiě)操作。如圖4-2所示。圖4-2控制字節(jié)配置
寫(xiě)操作分為字節(jié)寫(xiě)和頁(yè)面寫(xiě)兩種操作,對(duì)于頁(yè)面寫(xiě)根據(jù)芯片的一次裝載的字節(jié)不同有所不同。關(guān)于頁(yè)面寫(xiě)的地址、應(yīng)答和數(shù)據(jù)傳送的時(shí)序參見(jiàn)圖4-3。圖4-3頁(yè)面寫(xiě)讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期間發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。圖4-4順序讀實(shí)例:X24C04與MCS-51單片機(jī)軟硬件的實(shí)現(xiàn)
X24C04是XICOR公司的CMOS4096位串行EEPROM,內(nèi)部組織成512×8位。16字節(jié)頁(yè)面寫(xiě)。與MCS-51單片機(jī)接口如圖5所示。由于SDA是漏極開(kāi)路輸出,且可以與任何數(shù)目的漏極開(kāi)路或集電極開(kāi)路輸出“線或”(wire-Ored)連接。上拉電阻的選擇可參考X24C04的數(shù)據(jù)手冊(cè)。下面是通過(guò)I2C接口對(duì)X24C04進(jìn)行單字節(jié)寫(xiě)操作的例程。接線圖及其流程圖如下:圖4-5X24C04與51單片機(jī)接口在I2C總線的應(yīng)用中應(yīng)注意的事項(xiàng)總結(jié)為以下幾點(diǎn):嚴(yán)格按照時(shí)序圖的要求進(jìn)行操作,若與口線上帶內(nèi)部上拉電阻的單片機(jī)接口連接,可以不外加上拉電阻。程序中為配合相應(yīng)的傳輸速率,在對(duì)口線操作的指令后可用NOP指令加一定的延時(shí)。為了減少意外的干擾信號(hào)將EEPROM內(nèi)的數(shù)據(jù)改寫(xiě)可用外部寫(xiě)保護(hù)引腳(如果有),或者在EEPROM內(nèi)部沒(méi)有用的空間寫(xiě)入標(biāo)志字,每次上電時(shí)或復(fù)位時(shí)做一次檢測(cè),判斷EEPROM是否被意外改寫(xiě)。第5章PCF8563硬件圖5-1PCF硬件圖采用ModelSimSE6.0對(duì)系統(tǒng)功能進(jìn)行仿真.分2種情況說(shuō)明.情況1:沒(méi)有校準(zhǔn)時(shí)間輸入.從初始狀態(tài)2010-01-010:00開(kāi)始計(jì)數(shù).定時(shí)時(shí)間設(shè)為1:2:58,報(bào)警寄存器中編程信息為00000101.address的最低位為1表示對(duì)該寄存器讀(0表示寫(xiě)操作),讀取寄存器里面的時(shí)間.address對(duì)應(yīng)的每個(gè)data-i/data-o的低4位表示該時(shí)間信息個(gè)位上的數(shù)字,高4位表示10位上的數(shù)字.3658s后小時(shí)寄存器上的值為00000001,秒寄存器上的值為01011000,實(shí)時(shí)時(shí)間與定時(shí)時(shí)間一致,故alm由高電平變成低電平.涓流充電配置信息為10100110,主電源串入1.7kΩ的電阻和2個(gè)二極管對(duì)備用電池充電.頻率選擇編程信息為00001010,使用4.096kHz.情況2:有校準(zhǔn)時(shí)間輸入.校準(zhǔn)時(shí)間為2010-04-0710:2:5,從此時(shí)刻開(kāi)始計(jì)時(shí).wr-en為高電平時(shí)輸入信息有效.定時(shí)時(shí)間為11:3:58,報(bào)警編程配置信息為00000111.3713s后小時(shí)寄存器上的值為00010001,分寄存器上的值為00000011,秒寄存器上的值為01011000,實(shí)時(shí)時(shí)間與定時(shí)時(shí)間一致,故alm由高電平變成低電平.涓流充電編程信息為10101011,主電源串入5kΩ的電阻對(duì)備用電池充電.驅(qū)動(dòng)揚(yáng)聲器的頻率的編程信息為00001001,使用2.048kHz.利用ISE9.2i對(duì)Verilog源碼綜合實(shí)現(xiàn)并下載到Xilinx開(kāi)發(fā)板RCII-SP3S400上,經(jīng)實(shí)際檢測(cè)和驗(yàn)證表明同理論設(shè)計(jì)結(jié)果完全一致.設(shè)計(jì)的芯片是一種新型的可編程高精度的串行時(shí)鐘芯片,可以廣泛應(yīng)用于各類需要計(jì)時(shí)的電子產(chǎn)品中,取代傳統(tǒng)的時(shí)鐘芯片.時(shí)鐘使用雙電5.1PCF8563片內(nèi)結(jié)構(gòu)如圖5-1所示2I,具有16個(gè)8位寄存器、一個(gè)可自動(dòng)增量的地址寄存器、一個(gè)內(nèi)置32.768KHz的振蕩器(帶有一個(gè)內(nèi)部集成的電容)、一個(gè)分頻器(用于給實(shí)時(shí)時(shí)鐘RTC提供源時(shí)鐘)、一個(gè)可編程時(shí)鐘輸出、一個(gè)定時(shí)器、一個(gè)報(bào)警器、一個(gè)掉電檢測(cè)器和一個(gè)的12C總線接口串行接口,每次讀寫(xiě)數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量。PCF8563具有以下特性低工作電流:典型值為0.25uA(VDD23.0V,T。lab一--25℃時(shí));可編程時(shí)鐘輸出頻率為:32.768KHZ,1024Hz,32HZ,1HZ;內(nèi)部集成的振蕩器電容,掉電檢測(cè)器;400KHz的12C總線(V。。=1.8~5.5V時(shí))。圖5-1PCF內(nèi)部總結(jié)構(gòu)中斷輸出/INT端中斷輸出是N溝道開(kāi)漏極輸出,輸出條件由狀態(tài)/控制寄存器2決定,這些條件包括時(shí)時(shí)器到、定時(shí)溢出等信號(hào)。一個(gè)中斷可由AF或TF標(biāo)志引起,且在相應(yīng)的中斷允許時(shí)發(fā)生,所有的中斷必須由軟件復(fù)位相應(yīng)的標(biāo)志來(lái)清除。振蕩器和驅(qū)動(dòng)在OSCI和OSLO端可N連接一個(gè)32.768kHz的石英晶體,在OSCI和VDI)間接電容器以調(diào)整振蕩頻率,經(jīng)內(nèi)部分頻后得到一個(gè)lHz的信號(hào)用于時(shí)鐘計(jì)數(shù)器。初始化當(dāng)芯片上電后,狀態(tài)寄存器和所有的計(jì)數(shù)器被復(fù)位,初始狀態(tài)位:32.768kHz時(shí)鐘,00年,1月1日,00:00:00,中斷輸出端發(fā)出1Hz信號(hào)。11C總線IT總線用于在不同的器件或模塊間進(jìn)行雙向的二線通訊,兩條線分別是串行數(shù)據(jù)總線SDA和串行時(shí)鐘總線SCL,兩條線都需要上拉電阻,數(shù)據(jù)可在總線空閑時(shí)進(jìn)行傳輸。啟停條件當(dāng)數(shù)據(jù)和時(shí)鐘都保持位高時(shí)表示總線空閑;時(shí)鐘線為高且數(shù)據(jù)線發(fā)生下跳變時(shí)為起始條件(S);時(shí)鐘線為高且數(shù)據(jù)線發(fā)生上跳變時(shí)為停止條件(P)。如下圖所示。圖5-2啟停條件5.2PCF8563的引腳特點(diǎn)"IT兩線串行總線接口,傳輸速度可達(dá)400kbps;內(nèi)含上電復(fù)位電路、振蕩與分頻電路,外接32.768kHz石英晶振;工作電壓范圍寬,數(shù)據(jù)保持和時(shí)鐘工作電壓1-5.5V,VC總線工作電壓1.8-5.5V;極低的后備電流,典型值為。.25t[A(Vi,'一3.0V月湯nb=250C)有可編程時(shí)鐘輸出:32.768kHz,1024Hz32Hz,1Hz,可用于外部器件;片內(nèi)字節(jié)地址讀寫(xiě)后自動(dòng)加一。圖5-3pcf8563引腳圖有定時(shí)、鬧鐘和中斷輸出功能。與同類器件相比,PCF8563所需后備電流僅0.25ttA,而同類器件最低為It,A,對(duì)電池供電產(chǎn)品更有利;具有比同類器件更靈活的可選時(shí)鐘輸出。此外PCF8563內(nèi)部集成有電壓低檢測(cè)器,并在秒寄存器的最高位可作出指示,通過(guò)查詢?cè)撐豢芍獢?shù)據(jù)是否可靠,從而提醒及時(shí)校準(zhǔn)時(shí)鐘。表5-4PCF8563狀態(tài)/控制寄存器1(地址OOH)PCF8563有DIPS,S08和TSSOP8三種封裝形式。其引腳功能如表5-4所示。表5-5PCF8563引腳功能名稱引腳功能OSCI1振蕩器輸入OSCO2振蕩器輸出/INT3中斷輸出(低有效)Vss4地SDA5串行數(shù)據(jù)線SCL6串行時(shí)鐘線CLKOUT7可編程時(shí)鐘輸出VDD8電源PCF8563內(nèi)部寄存器PCF8563共有16個(gè)寄存器其中00H01H為控制方式寄存器09H0CH為報(bào)警功能寄存器0DH為時(shí)鐘輸出寄存器0EH和0FH為定時(shí)器功能寄存器02H08H為秒年時(shí)間寄存器PCF8563是一多功能時(shí)鐘芯片其中最主要的就是正確的設(shè)置功能參數(shù)否則會(huì)產(chǎn)生意外的錯(cuò)誤下面列舉了一些比較常用的設(shè)置程序A報(bào)警功能的設(shè)置PCF8563共有四種報(bào)警方式分別為小時(shí)報(bào)警每小時(shí)的同一分鐘時(shí)刻報(bào)警天報(bào)警每天的同一小時(shí)時(shí)刻報(bào)警月報(bào)警每月的同一天時(shí)刻報(bào)警星期報(bào)警每星期的同一天時(shí)刻報(bào)警發(fā)生報(bào)警時(shí)AF位變?yōu)?四種報(bào)警只能有一個(gè)存在,無(wú)法同時(shí)共存。設(shè)置報(bào)警有效的方法是將相應(yīng)報(bào)警寄存器的最高位AE置1若同時(shí)置AIE=1則在AF置1的同時(shí)將在/INT引腳產(chǎn)生一個(gè)中斷低電平有效清除中斷信號(hào)的方法是軟件清AF由此看出AIE相當(dāng)于單片機(jī)中的中斷允許控制位而AF相當(dāng)于中斷申請(qǐng)標(biāo)志位定時(shí)器功能的設(shè)置PCF8563的定時(shí)器為倒計(jì)數(shù)定時(shí)器當(dāng)TE=1時(shí)有效,倒計(jì)數(shù)值為0FH中的的二進(jìn)制數(shù)當(dāng)?shù)褂?jì)數(shù)值計(jì)為0時(shí)TF位置1若置TIE=1則在TF置1的同時(shí)將在/INT引腳產(chǎn)生一個(gè)中斷低電平有效與報(bào)警中斷不同的是定時(shí)器中斷信號(hào)有兩種方式由TI/TP位控制設(shè)置TI/TP=0中斷信號(hào)和報(bào)警中斷信號(hào)相同均為低電平方式置TF=0可清除中斷信號(hào)設(shè)置TI/TP=1則中斷信號(hào)為脈沖方式其脈沖低電平寬度約為15ms此時(shí)可不考慮TF位的影響由此看出TIE相當(dāng)于單片機(jī)中的定時(shí)中斷允許控制位而TF相當(dāng)于定時(shí)中斷申請(qǐng)標(biāo)志位時(shí)鐘輸出功能的應(yīng)用例在PCF8563的CLKOUT腳輸出一32.768kHz的方波MOV50H,#80H;時(shí)鐘輸出使能命令及32.768kHz頻率選擇送發(fā)送緩沖區(qū)MOVSubAdr,#0DH;取時(shí)鐘輸出控制字節(jié)地址MOVByteCnt,#1;寫(xiě)一個(gè)字節(jié)LCALLSendData;開(kāi)始時(shí)鐘輸出圖5-8應(yīng)用圖圖5-8所示為的具體應(yīng)用電路圖,對(duì)圖中石英晶片頻率的調(diào)整,筆者給出*種可行性方法,供參考:方法/:定值62%+電容。計(jì)算所需的電容平均值,用此值的定值電容,通電后在%37689管腳上測(cè)出的頻率應(yīng)為*,10)’:;<,測(cè)出的頻率值偏差取決于石英晶片本身,電容偏差和器件之間的偏差平均為=(>/.!)。平均偏差可達(dá)(分鐘-年。方法,:62%+微調(diào)電容。可通過(guò)調(diào)整62%+管腳的微調(diào)電容式振蕩器的頻率來(lái)獲得更高的精度,此時(shí)可測(cè)出通電時(shí)管腳%37689上的信號(hào)頻率為*,10)’:;<。方法*:62%+62%+的輸出。5.3RTC模塊晶振頻率模塊:通過(guò)晶振輸出的32.768kHz來(lái)分頻產(chǎn)生1Hz,160Hz,1.024kHz,2.048kHz,4.096kHz和8.192kHz等6種頻率的方波,其中1Hz是時(shí)鐘計(jì)時(shí)的秒脈沖,160Hz用來(lái)掃描數(shù)碼管,頻率選擇寄存器中的編程配置信息決定其余4種頻率之一用來(lái)驅(qū)動(dòng)揚(yáng)聲器(PZT).電源管理模塊:選擇主電源或者備用電池給系統(tǒng)供電,保證在主電源掉電情況下,及時(shí)啟用備用電池供電而主電源是否給備用電池充電由編程配置信息決定.I2C接口模塊:實(shí)現(xiàn)外部總線串行數(shù)據(jù)與片內(nèi)8bit并行數(shù)據(jù)的串并轉(zhuǎn)換[3].把串行輸入的編程信息和時(shí)鐘信息轉(zhuǎn)換為并行數(shù)據(jù)送給相應(yīng)寄存器;把并行時(shí)鐘信息串行輸送給主機(jī).同時(shí)串行時(shí)鐘信號(hào)(SCL)換為片內(nèi)同步信號(hào),用于數(shù)據(jù)采樣.控制邏輯模塊:提供芯片內(nèi)的復(fù)位信號(hào).根據(jù)I2C接口電路輸入的地址/命令字節(jié)產(chǎn)生相應(yīng)的讀/寫(xiě)信號(hào),分別控制對(duì)RTC/RAM的操作;它還包括地址寄存器,實(shí)現(xiàn)地址自動(dòng)加1的功能.報(bào)警控制邏輯模塊:將時(shí)鐘寄存器中的數(shù)據(jù)與報(bào)警閾值寄存器中的數(shù)據(jù)比較.通過(guò)I2C輸入的可編程配置信息選擇揚(yáng)聲器的頻率和控制報(bào)警信號(hào)/ALM,低電平有效實(shí)時(shí)時(shí)鐘模塊:對(duì)秒、分、小時(shí)、星期、日、月、年進(jìn)行精確計(jì)時(shí),具有閏年補(bǔ)償功能.用戶可以選擇12h或者24h制式顯示小時(shí)信息.圖5-10RTC系統(tǒng)框圖RTC一共有7個(gè)Verilog模塊(module),分別是digital,divider,counter,show,frequency,charger和RTC-topdigital模塊:接收I2C接口電路輸入的可編程信息、寄存器或RAM地址、校準(zhǔn)時(shí)間和可校準(zhǔn)時(shí)間使能信號(hào).divider模塊:除了提供秒脈沖外,還產(chǎn)生用于顯示模塊數(shù)據(jù)采樣的方波,本設(shè)計(jì)中為160Hz,這樣在LED數(shù)碼管上就可以看到一個(gè)穩(wěn)定的數(shù)字時(shí)間顯示show模塊:在數(shù)碼上顯示時(shí)間信息.通過(guò)掃描counter模塊及時(shí)獲取實(shí)時(shí)時(shí)間.counter模塊:實(shí)現(xiàn)準(zhǔn)確計(jì)數(shù)的模塊.既接受digital模塊輸入的校準(zhǔn)時(shí)間,又把時(shí)間信息輸給digital模塊.frequency模塊:頻率選擇模塊,用來(lái)驅(qū)動(dòng)揚(yáng)聲器.頻率選擇寄存器中不同的編程配置信息對(duì)應(yīng)不同的頻率選擇圖5-11PZT頻率選擇寄存器代碼配置charger模塊:充電模塊,實(shí)現(xiàn)主電源對(duì)備用電池的可編程充電功能.系統(tǒng)的時(shí)鐘輸入為768kHz,經(jīng)分頻后獲得1Hz計(jì)數(shù)脈沖,計(jì)數(shù)模塊接受用戶給出的校準(zhǔn)時(shí)間信息,分別對(duì)年、月、日、星期、小時(shí)、分、秒進(jìn)行校準(zhǔn).當(dāng)計(jì)數(shù)模塊輸出的時(shí)鐘信號(hào)與報(bào)警閾值寄存器中的定時(shí)時(shí)間相同時(shí),報(bào)警控制邏輯模塊發(fā)出一負(fù)脈沖,激勵(lì)揚(yáng)聲器發(fā)出短促的報(bào)時(shí)聲響,顯示模塊輸出信號(hào)用來(lái)驅(qū)動(dòng)LED數(shù)碼管顯示時(shí)間.輸入digitl模塊的編程信息data-i控制著涓流充電特性、PZT頻率和報(bào)警信號(hào)的產(chǎn)生圖5-12模塊架構(gòu)第6章軟件圖圖6-1856軟件流程圖圖6-1為8563芯片的總工作流程,其記錄了鍵盤輸入以及時(shí)間設(shè)定的具體明細(xì)。從開(kāi)始準(zhǔn)備,設(shè)定8563的定時(shí)器工作模式,并且初始化鍵位,給定確認(rèn)件標(biāo)識(shí)。將INTO設(shè)置為邊沿觸發(fā)方式中斷,當(dāng)打開(kāi)中斷時(shí)開(kāi)始工作,按下設(shè)定鍵開(kāi)始判斷工作,YES走下一步進(jìn)去確認(rèn)鍵,NO則重新進(jìn)行設(shè)定鍵按。當(dāng)有鍵按下時(shí)開(kāi)始一系列的判斷,正確才往下走,錯(cuò)誤就直接回去判斷鍵,到了移位鍵位置,如果發(fā)生移位了。就顯示LED燈亮了,否則就先加一鍵,再判斷數(shù)據(jù)+1回去判斷進(jìn)一步,如果不行就減一位,繼續(xù)回去設(shè)定判斷,進(jìn)行一套循環(huán)運(yùn)行。電源管理模塊由電壓比較器和啟動(dòng)電路組成.電壓比較器的作用是比較主電源電壓Vcc和電池電壓Vbatt的值,得到的輸出信號(hào)通過(guò)一個(gè)邏輯電路來(lái)選擇芯片內(nèi)部主電源Vdd.若Vcc≥Vbatt,則Vdd=Vcc;若Vcc<Vbatt,則Vdd=Vbatt.啟動(dòng)電路的作用是提供上電初始狀態(tài).涓流充電寄存器控制芯片的涓流充電特性。如圖6-3所示.圖中TCS表示涓流充電選擇,DS表示二極管選擇,RS表示阻選擇.如表6-2所示(×表示?。盎颍保拇嫫鞯模础肺粵Q定是否具備充電性能.僅在編碼1010的條件下才具有充電性能,其他編碼組合不允許充電.位2和3選擇在Vcc和Vbatt之間是否接入2個(gè)二極管.若編碼是01,則選擇2個(gè)二極管;若編碼是10,則不選擇二極管;其他編碼不允許充電.該寄存器的位0和1用于選擇在Vcc和VBATT之間接入的電阻值,其中編碼01為2.9kΩ,10為1.7kΩ,11為5kΩ,而00將不允許充電.因此,根據(jù)涓流充電寄存器的不同編程配置可得到不同的充電電流,具體計(jì)算公式為I充電=(Vcc-VD-Vbatt)/R,式中:VD為二極管導(dǎo)通壓降;R為電阻值表6-2涓流充電寄存器控制圖6-3涓流充電功能示意圖
PCF8563讀寫(xiě)操作圖6-4讀寫(xiě)操作圖6-5讀出入位圖6-6PCF8563驅(qū)動(dòng)程序軟件圖結(jié)論20011年3月,我開(kāi)始了我的畢業(yè)論文工作,時(shí)至今日,論文基本完成。從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,整個(gè)寫(xiě)作過(guò)程難以用語(yǔ)言來(lái)表達(dá)。歷經(jīng)了幾個(gè)月的奮戰(zhàn),緊張而又充實(shí)的畢業(yè)設(shè)計(jì)終于落下了帷幕。回想這段日子的經(jīng)歷和感受,我感慨萬(wàn)千,在這次畢業(yè)設(shè)計(jì)的過(guò)程中,我擁有了無(wú)數(shù)難忘的回憶和收獲。
3月初,在與導(dǎo)師的交流討論中我的題目定了下來(lái),是:基于8051實(shí)時(shí)時(shí)鐘芯片PCF8563驅(qū)動(dòng)程序的實(shí)現(xiàn)。當(dāng)選題報(bào)告,開(kāi)題報(bào)告定下來(lái)的時(shí)候,我當(dāng)時(shí)便立刻著手資料的收集工作中,當(dāng)時(shí)面對(duì)浩瀚的書(shū)海真是有些茫然,不知如何下手。我將這一困難告訴了導(dǎo)師,在導(dǎo)師細(xì)心的指導(dǎo)下,終于使我對(duì)自己現(xiàn)在的工作方向和方法有了掌握。在搜集資料的過(guò)程中,我認(rèn)真準(zhǔn)備了一個(gè)筆記本。我在學(xué)校圖書(shū)館,大工圖書(shū)館搜集資料,還在網(wǎng)上查找各類相關(guān)資料,將這些寶貴的資料全部記在筆記本上,盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫(xiě)。然后我將收集到的資料仔細(xì)整理分類,及時(shí)拿給導(dǎo)師進(jìn)行溝通。
4月初,資料已經(jīng)查找完畢了,我開(kāi)始著手論文的寫(xiě)作。在寫(xiě)作過(guò)程中遇到困難我就及時(shí)和導(dǎo)師聯(lián)系,并和同學(xué)互相交流,請(qǐng)教專業(yè)課老師。在大家的幫助下,困難一個(gè)一個(gè)解決掉,論文也慢慢成型。4月底,論文的文字?jǐn)⑹鲆呀?jīng)完成。5月開(kāi)始進(jìn)行相關(guān)圖形的繪制工作和電路的設(shè)計(jì)工作。在設(shè)計(jì)畫(huà)電路初期,由于沒(méi)有設(shè)計(jì)經(jīng)驗(yàn),覺(jué)得無(wú)從下手,空有很多設(shè)計(jì)思想,卻不知道應(yīng)該選哪個(gè),經(jīng)過(guò)導(dǎo)師的指導(dǎo),我的設(shè)計(jì)漸漸有了頭緒,通過(guò)查閱資料,逐漸確立系統(tǒng)方案。方案中定時(shí)器軟件、列驅(qū)動(dòng)電路的設(shè)計(jì)是個(gè)比較頭疼的問(wèn)題,在反復(fù)推敲.
當(dāng)我終于完成了編寫(xiě)整個(gè)人都感到一種身心疲憊,但同時(shí)看著電腦熒屏上的畢業(yè)設(shè)計(jì)稿件我的心里是甜的,我覺(jué)得這一切都值了。這次畢業(yè)論文的制作過(guò)程是我的一次再學(xué)習(xí),再提高的過(guò)程。在論文中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識(shí)。我不會(huì)忘記這難忘的幾個(gè)月的時(shí)間。畢業(yè)論文的制作給了我難忘的回憶。在我徜徉書(shū)海查找資料的日子里,面對(duì)無(wú)數(shù)書(shū)本的羅列,最難忘的是每次找到資料時(shí)的激動(dòng)和興奮在整個(gè)過(guò)程中,我學(xué)到了新知識(shí),增長(zhǎng)了見(jiàn)識(shí)。在今后的日子里,我仍然要不斷地充實(shí)自己,爭(zhēng)取在所學(xué)領(lǐng)域有所作為。
參考文獻(xiàn)[1]李富林,崔繼友,程偉華,彭鵬.淺談單片機(jī)的應(yīng)用領(lǐng)域[J].網(wǎng)絡(luò)財(cái)富.2010,34(3):1-6[2]李海鴻,朱元清,陳蓓.實(shí)時(shí)時(shí)鐘芯片PCF8563及其應(yīng)用[J].國(guó)外電子測(cè)量技術(shù).2002,21(5):3[3]蘇建志,王冰峰.I2C總線及其應(yīng)用[J].現(xiàn)代電子技術(shù).2005,2(18):22[4]趙亞轉(zhuǎn).淺談單片機(jī)應(yīng)用與單片機(jī)芯片--兼對(duì)八位單片機(jī)學(xué)習(xí)的感想[J].科技傳播.2010,1(8):10[5]肖茂森,鐘春生.PIC單片機(jī)芯片在電渦流傳感器溫度補(bǔ)償中的應(yīng)用[J].工業(yè)計(jì)量.2005,(01):12[6]陳秀玲,周欣,陳黎平.I2C總線數(shù)據(jù)傳轄系統(tǒng)的設(shè)計(jì)及其應(yīng)用[J].微型電腦應(yīng)用.2003,(05):14[7]何立民.嵌入式系統(tǒng)的定義與發(fā)展歷史[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2004,(1):25[8]王麗麗,蘇立獻(xiàn).嵌入式應(yīng)用軟件設(shè)計(jì).[J].電腦知識(shí)與技術(shù).2010,(9):33[9]Cwidak
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌大學(xué)《小學(xué)科學(xué)活動(dòng)設(shè)計(jì)與指導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 杭州科技職業(yè)技術(shù)學(xué)院《旅行社經(jīng)營(yíng)實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆政法學(xué)院《復(fù)合材料力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱幼兒師范高等??茖W(xué)?!赌茉磩?dòng)力(動(dòng)力工程)領(lǐng)域工程倫理》2023-2024學(xué)年第二學(xué)期期末試卷
- Starter Unit 1 Section B 1a-1e 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
- Unit 2 What time is it Part A Let's learn(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教PEP版英語(yǔ)四年級(jí)下冊(cè)
- 常州幼兒師范高等??茖W(xué)?!夺t(yī)學(xué)遺傳學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 6 My week Lesson 2 Activities in a week(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教新起點(diǎn)版英語(yǔ)二年級(jí)下冊(cè)
- 滄州2025年河北滄州市人民醫(yī)院第一批招聘119人筆試歷年參考題庫(kù)附帶答案詳解
- ★試題:決策過(guò)程及其思維特點(diǎn)、科學(xué)決策與科學(xué)思維的關(guān)系
- 2025年不停電電源(UPS)項(xiàng)目合作計(jì)劃書(shū)
- 2025年國(guó)家林業(yè)和草原局直屬事業(yè)單位第一批招聘應(yīng)屆畢業(yè)生96人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年春季開(kāi)學(xué)典禮校長(zhǎng)講話稿-少年無(wú)畏凌云志扶搖直上入云蒼
- 2025寒假開(kāi)學(xué)第一課 課件【1】
- 山東省泰安市新泰市2024-2025學(xué)年(五四學(xué)制)九年級(jí)上學(xué)期1月期末道德與法治試題(含答案)
- 1《北京的春節(jié)》課后練習(xí)(含答案)
- (完整版)陸河客家請(qǐng)神書(shū)
- 2025年行業(yè)協(xié)會(huì)年度工作計(jì)劃
- DB3502T 160-2024 工業(yè)產(chǎn)品質(zhì)量技術(shù)幫扶和質(zhì)量安全監(jiān)管聯(lián)動(dòng)工作規(guī)范
- 2025年學(xué)校教師政治理論學(xué)習(xí)計(jì)劃
- 集團(tuán)專利管理制度內(nèi)容
評(píng)論
0/150
提交評(píng)論