【單片機課程設計】基于ZG211使用C語言編程的電子鐘顯示設計(有源代碼)_第1頁
【單片機課程設計】基于ZG211使用C語言編程的電子鐘顯示設計(有源代碼)_第2頁
【單片機課程設計】基于ZG211使用C語言編程的電子鐘顯示設計(有源代碼)_第3頁
【單片機課程設計】基于ZG211使用C語言編程的電子鐘顯示設計(有源代碼)_第4頁
【單片機課程設計】基于ZG211使用C語言編程的電子鐘顯示設計(有源代碼)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學 號: 浙江理工大學課 程 設 計題 目實時時鐘顯示設計學 院計算機科學與技術專 業(yè)計算機科學與技術班 級 姓 名 指導教師 2010年11月28日課程設計任務書學生姓名: 專業(yè)班級: 指導教師: 工作單位: 題 目:實時時鐘顯示設計初始條件:1. 課程設計使用zg211硬件綜合實驗平臺(8051單片機),配有課程設計接口芯片和輔助芯片以及器件;2. zg211有程序設計集成開發(fā)環(huán)境,程序設計語言為c語言;3. zg211硬件綜合實驗平臺使用說明書;要求完成的主要任務: (包括課程設計工作量及其技術要求,撰寫說明書具體要求)1. 學習使用zg211硬件綜合實驗平臺,程序設計集成開發(fā)環(huán)境;2.

2、 根據(jù)課程設計題目,進行需求分析,搞清楚課程設計需要設計需求和需要解決的設計內(nèi)容。3. 查閱和學習課程設計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領。查閱和學習課程設計題目需要的輔助芯片以及器件資料。4. 設計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設計與硬件電路原理圖對應的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設計報告,1)詳細陳述以上的設計過程;2)詳細陳述電路的調(diào)試過程。時間安排:第13周:1. 熟悉zg211硬件綜合實驗平臺,keil

3、c uvision2 集成開發(fā)環(huán)境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設計硬件電路原理圖。第14周:1. 使用c語言或匯編語言設計和調(diào)試接口程序。2. 撰寫計算機硬件綜合設計報告。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日實時時鐘顯示設計1需求分析1.1實驗目的1.掌握io 口操作。2.掌握顯示及鍵盤芯片的運用。3.了解中斷的運用。4.了解i2c 總線操作。1.2實驗設備1. pc 機一臺;zg-211 單片機系統(tǒng)實驗板一塊;實驗連接線若干。2.芯片:ch451,89s52,cd4052,pcf8563。3.配套并口編程線一根。4.配套電源一個。1.2.

4、1 ch451芯片(1)概述ch451 是一個整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制以及p 監(jiān)控的多功能外圍芯片。ch451 內(nèi)置rc 振蕩電路,可以動態(tài)驅(qū)動8 位數(shù)碼管或者64 位led,具有bcd 譯碼、閃爍、移位等功能;同時還可以進行64 鍵的鍵盤掃描;ch451 通過可以級聯(lián)的串行接口與單片機等交換數(shù)據(jù);并且提供上電復位和看門狗等監(jiān)控功能。(2)特點1. 顯示驅(qū)動 內(nèi)置大電流驅(qū)動級,段電流不小于30ma,字電流不小于160ma。 動態(tài)顯示掃描控制,直接驅(qū)動8 位數(shù)碼管或者64 位發(fā)光管led。 可選數(shù)碼管的段與數(shù)據(jù)位相對應的不譯碼方式或者bcd 譯碼方式。 字數(shù)據(jù)左移、右移、左循環(huán)、右循環(huán)

5、。 各數(shù)字獨立閃爍控制。 通過占空比設定提供16 級亮度控制。 支持段電流上限調(diào)整,可以省去所有限流電阻。 掃描極限控制,支持1 到8 個數(shù)碼管,只為有效數(shù)碼管分配掃描時間。2. 鍵盤控制 內(nèi)置64 鍵鍵盤控制器,基于88 矩陣鍵盤掃描。 內(nèi)置去抖動電路。 鍵盤中斷,低電平有效輸出。 提供按鍵釋放標志位。3. 外部接口 高速的4 線串行接口,支持芯片級聯(lián),時鐘速度從0 到10mhz。 串行接口中的din 和dclk 信號線可以與其它接口電路共用。 完全內(nèi)置rc 阻容振蕩電路,根據(jù)需要可以外接阻容振蕩。 內(nèi)置上電復位和看門狗watch-dog,提供高電平有效和低電平有效復位輸出。4. 其它雜項

6、可選多種封裝:dip28、sop28、dip24s。 經(jīng)過授權采用了2 項專利技術,低成本,簡便易用。單片機mcu等ch451外圍芯片8 位數(shù)碼管或64 位發(fā)光管dclkdoutrstrst#loaddin88 矩陣64 鍵鍵盤dig7-0seg7-01.2.2 89s52芯片(1)主要性能 與mcs-51單片機產(chǎn)品兼容。 8k字節(jié)在系統(tǒng)可編程flash存儲器。 1000次擦寫周期。 全靜態(tài)操作:0hz33hz。 三級加密程序存儲器。 32個可編程i/o口線。 三個16位定時器/計數(shù)器。 八個中斷源。 全雙工uart串行通道。 低功耗空閑和掉電模式。11 掉電后中斷可喚醒。12 看門狗定時器。

7、13 雙數(shù)據(jù)指針。14 掉電標識符。(2)功能特性描述at89s52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標準功能:8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2

8、級中斷結構,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。1.2.3 cd4052芯片(1)簡要說明cc4052 是一個差分4 通道數(shù)字控制模擬開關,有a0、a1 兩個二進制控制輸入端和inh 輸入,具有低導通阻抗和很低的截止漏電流。幅值為4.520v 的數(shù)字信號可控制峰峰值至20v 的模擬信號。例如,若vdd5v,vss0,vee13.5v,則05v 的數(shù)

9、字信號可控制13.54.5v 的模擬信號。這些開關電路在整個vddvss 和vddvee 電源范圍內(nèi)具有極低的靜態(tài)功耗,與控制信號的邏輯狀態(tài)無關。當inh 輸入端“1”時,所有的通道截止。二位二進制信號選通4通道中的一通道,可連接該輸入端至輸出。cc4052 提供了16 引線多層陶瓷雙列直插(d)、熔封陶瓷雙列直插(j)、塑料雙列直插(p)和陶瓷片狀載體(c)4 種封裝形式。(2)推薦工作條件電源電壓范圍3v15v輸入電壓范圍0vvdd(3)工作溫度范圍m類55125e 類.4085(4)極限值電源電壓.0.5v18v輸入電壓0.5vvdd+0.5v輸入電流.10ma儲存溫度65150(5)引

10、出端符號a0a1 地址端1i0/o01i3/o3 輸入輸出端2i0/o02i3/o3 輸入輸出端inh 禁止端1o/i 公共輸出/輸入端2o/i 公共輸出/輸入端vdd 正電源vee 模擬信號地vss 數(shù)字信號地(6)邏輯符號1.2.4 pcf8563芯片(1)概述pcf8563 是低功耗的cmos 實時時鐘日歷芯片,它提供一個可編程時鐘輸出,一個中斷輸出和掉電檢測器,所有的地址和數(shù)據(jù)通過i2c 總線接口串行傳遞。最大總線速度為400kbits/s,每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會自動產(chǎn)生增量。(2)特性 低工作電流:典型值為0.25a(vdd=3.0v,tamb=25時)。 世紀標志。

11、大工作電壓范圍:1.05.5。 低休眠電流;典型值為0.25a(vdd=3.0v,tamb=25)。 400khz 的i2c 總線接口(vdd=1.85.5v 時)。 可編程時鐘輸出頻率為:32.768khz,1024hz,32hz,1hz。 報警和定時器。 掉電檢測器。 內(nèi)部集成的振蕩器電容。 片內(nèi)電源復位功能。11 i2c 總線從地址:讀,0a3h;寫,0a2h。12 開漏中斷引腳。(3)應用 移動電話 便攜儀器 傳真機 電池電源產(chǎn)品(4)功能描述pcf8563 有16 個位寄存器:一個可自動增量的地址寄存器,一個內(nèi)置32.768khz 的振蕩器(帶有一個內(nèi)部集成的電容),一個分頻器(用于

12、給實時時鐘rtc 提供源時鐘),一個可編程時鐘輸出,一個定時器,一個報警器,一個掉電檢測器和一個400khz i2c總線接口。所有16 個寄存器設計成可尋址的8 位并行寄存器,但不是所有位都有用。前兩個寄存器(內(nèi)存地址00h,01h)用于控制寄存器和狀態(tài)寄存器,內(nèi)存地址02h08h 用于時鐘計數(shù)器(秒年計數(shù)器),地址09h0ch 用于報警寄存器(定義報警條件),地址0dh 控制clkout 管腳的輸出頻率,地址0eh 和0fh 分別用于定時器控制寄存器和定時器寄存器。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、日報警寄存器,編碼格式為bcd,星期和星期報警寄存器不以bcd 格式編碼。當一個

13、rtc 寄存器被讀時,所有計數(shù)器的內(nèi)容被鎖存,因此,在傳送條件下, 可以禁止對時鐘日歷芯片的錯讀。1.3實驗板模塊真實實驗板示意圖如下:2實驗要求 能正常操作led 數(shù)碼顯示。 能通過中斷方式接收按鍵信息。 能通過i2c 總線方式與pcf8563 芯片交換數(shù)據(jù)。 能正確解釋并顯示從pcf8563 芯片取出的日期和時間數(shù)據(jù)。在應用所學計算機硬件相關課程中的知識的基礎之上,使用c語音實現(xiàn)對接口的編程方法。熟悉51系列單片機原理,并口工作原理和編程方法。學習ch451和ds18b20芯片的引腳功能和編程方法。在pc機上安裝keilc51在線編程軟件,編寫“數(shù)字顯示與鍵盤輸入”程序。使用并口線把zg2

14、11實驗板與pc 機連接起來,仔細檢查無誤后接通電源。pc機上c程序編譯成功后,打開聯(lián)機下載軟件,將hex 文件下載到89s52 單片機中去。觀看下載程序在89s52 單片機中運行情況。如有問題,則在pc機上修改程序,然后再次下載運行。能正常操作led 數(shù)碼顯示,通過中斷方式接收按鍵信息。設計階段,能夠正確進行程序設計電路設計。課程設計實驗階段,能夠正確連接電路;能夠分析和解決在實驗中碰見的問題;解決問題的思路和方法正確;實驗結果滿足課程設計要求。主要任務:1. 學習使用zg211硬件綜合實驗平臺,程序設計集成開發(fā)環(huán)境;2. 根據(jù)課程設計題目,進行需求分析,搞清楚課程設計需要設計需求和需要解決

15、的設計內(nèi)容。3. 查閱和學習課程設計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領。查閱和學習課程設計題目需要的輔助芯片以及器件資料。4. 設計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設計與硬件電路原理圖對應的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設計報告,1)詳細陳述以上的設計過程;2)詳細陳述電路的調(diào)試過程。3實驗原理在單片機應用系統(tǒng)中的實時時鐘信號,一般都由專門的時鐘芯片來提供,單片機只需要定期讀取時鐘芯片中固定地址中的時鐘信息即可。本實驗

16、板采用的是pcf8563 時鐘芯片。pcf8563 芯片的引腳說明見表下表。符號管腳號描述osci1振蕩器輸入osco2振蕩器輸出 /int3中斷輸出(開漏:低電平有效)vss4地sda5串行數(shù)據(jù)i/oscl6串行時鐘輸入clkout7時鐘輸出(開漏)vdd8正電源pcf8563 芯片在第一次運行時需要設置控制寄存器和狀態(tài)寄存器,見表如下,一般均設置為0。地址位bit符號描述007test1test1=0;普通模式test1=1;ext_clk 測試模式5stopstop=0 ;芯片時鐘運行 stop=1 ;所有芯片分頻器異步置邏輯0;芯片時鐘停止運行, (clkout 在32.768khz

17、時可用)3testctestc= 0;電源復位功能失效 (普通模式時置邏輯0)testc=1; 電源復位功能有效6,4,2,1,00缺省值置邏輯0017,6,50缺省值置邏輯04ti/tfti/tp=0: 當tf 有效時int 有效 (取決于tie 的狀態(tài))ti/tp=1:int 脈沖有效(取決于tie 的狀態(tài))注意:若af 和aie 都有效時,則int 一直有效3af當報警發(fā)生時,af 被置邏輯1;在定時器倒計數(shù)結束時,tf 被置邏輯1,它們在被軟件重寫前一直保持原有值,若定時器和報警中斷都請求時,中斷源由af 和tf 決定,若要使清除一個標志位而防止另一標志位被重寫,應運用邏輯指令and。

18、2tf1aie標志位aie 和tie 決定一個中斷的請求有效或無效,當af 或tf 中一個為“1” 時中斷是aie 和tie 都置“1” 時的邏輯或。ae=0 :報警中斷無效;aie=1 :報警中斷有效tie=0 :定時器中斷無效;tie=1 :定時器中斷有效0tie在 pcf8563 芯片中,秒、分鐘、小時、日、月、年編碼格式為bcd。星期不以bcd 格式編碼。具體格式見表如下。地址說明bit符號描 述02h秒/vl寄存器7vlvl=0: 保證準確的時鐘/日歷數(shù)據(jù) vl=1:不保證準確的時鐘/ 日歷數(shù)據(jù)60代表bcd 格式的當前秒數(shù)值,值為0099例如:1011001, 代表59 秒03h分

19、鐘寄存器7無效60代表bcd 格式的當前分鐘數(shù)值,值為005904h小時寄存器76無效50代表bcd 格式的當前小時數(shù)值,值為0023:05h日寄存器76無效50代表bcd 格式的當前日數(shù)值, 值為0131。當年計數(shù)器的值是閏年時,pcf8563 自動給二月增加一個值,使其成為29 天06h星期寄存器73無效20代表當前星期數(shù)值06,這些位也可由用戶重新分配07h月寄存器7c世紀位;c=0 指定世紀數(shù)為20,c=1 指定世紀數(shù)為19,“” 為年寄存器中的值。當年寄存器中的值由99 變?yōu)?0時,世紀位會改變。65無用08h年寄存器70年代表bcd 格式的當前年數(shù)值,值為0099實驗只使用 pcf

20、8563 的時間讀取功能,只需對該芯片地址02h-08h 的內(nèi)存進行讀寫操作,其它地址的內(nèi)存保持為默認值,實驗板上提供電池,可以在掉電后保持時鐘正常工作。實驗板上pcf8563 的相關連接原理圖如下圖所示。其中cd4052 芯片的操作見下表。ab選通狀態(tài)00x=x0;y=y010x=x1;y=y101x=x2;y=y211x=x3;y=y34 i2c協(xié)議i2c 總線用兩條線(sda 和scl)在芯片和模塊間傳遞信息。sda 為串行數(shù)據(jù)線,scl為串行時鐘線。1只有在總線空閑時才允許啟動數(shù)據(jù)傳送。2在數(shù)據(jù)傳送過程中,當時鐘線為高電平時,數(shù)據(jù)線必須保持穩(wěn)定狀態(tài)不允許。有跳變時鐘線為高電平時,數(shù)據(jù)線

21、的任何電平變化將被看作總線的起始或停止信號。(1)起始信號時鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為 i2c 總線的起始信號。(2)停止信號時鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為 i2c 總線的停止信號??偩€時序?qū)懼芷跁r序起始/停止時序(3)器件尋址主器件通過發(fā)送一個起始信號啟動發(fā)送過程,然后發(fā)送它所要尋址的從器件的地址。8位從器件地址的高4 位固定為1010。 接下來的3 位a2 a1 a0 為器件的地址位,用來定義哪個器件以及器件的哪個部分被主器件訪問。從器件8 位地址的最低位, 作為讀寫控制位?!?” 表示對從器件進行讀操作,“0” 表示對從器件進行寫操作。在主器件發(fā)

22、送起始信號和從器件地址字節(jié)后,pcf8563 監(jiān)視總線并當其地址與發(fā)送的從地址相符時響應一個應答信號(通過sda 線)。pcf8563 再根據(jù)讀寫控制位(r/w)的狀態(tài)進行讀或?qū)懖僮鳌?4)應答信號i2c 總線數(shù)據(jù)傳送時每成功地傳送一個字節(jié)數(shù)據(jù)后,接收器都必須產(chǎn)生一個應答信號,應答的器件在第9 個時鐘周期時將sda 線拉低,表示其已收到一個8 位數(shù)據(jù)。pcf8563 在接收到起始信號和從器件地址之后響應一個應答信號,如果器件已選擇了寫操作,則在每接收一個8 位字節(jié)之后響應一個應答信號。當pcf8563 工作于讀模式時,在發(fā)送一個8 位數(shù)據(jù)后釋放sda 線并監(jiān)視一個應答信號,一旦接收到應答信號,

23、pcf8563 繼續(xù)發(fā)送數(shù)據(jù),如主器件沒有發(fā)送應答信號,器件停止傳送數(shù)據(jù)并,等待一個停止信號主器件。應答時序圖從器件地址位其中a0、a1 和a2 對應24c02的管腳1、2 和3,pcf8563的從地址讀操作時為0a3h,寫操作時為0a2h。(5)寫操作:1.字節(jié)寫在字節(jié)寫模式下,主器件發(fā)送起始命令和從器件地址信息(r/w 位置零)給從器件,在從器件產(chǎn)生應答信號后,主器件發(fā)送pcf8563 的字節(jié)地址,主器件在收到從器件的另一個應答信號后,再發(fā)送數(shù)據(jù)到被尋址的存儲單元。pcf8563 再次應答,并在主器件產(chǎn)生停止信號后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中pcf8563 不再應答主器件的任何請求

24、。字節(jié)寫時序圖2頁寫用頁寫,pcf8563 可以一次寫入16 個字節(jié)的數(shù)據(jù),頁寫操作的啟動和字節(jié)寫一樣,不同在于傳送了一字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號。主器件被允許發(fā)送p(pcf8563:p=15;)個額外的字節(jié)。每發(fā)送一個字節(jié)數(shù)據(jù)后pcf8563 產(chǎn)生一個應答位并將字節(jié)地址低位加1, 高位保持不變。如果在發(fā)送停止信號之前主器件發(fā)送超過p+1 個字節(jié),地址計數(shù)器將自動翻轉,先前寫入的數(shù)據(jù)被覆蓋。接收到p+1 字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號后,芯片啟動內(nèi)部寫周期將數(shù)據(jù)寫到數(shù)據(jù)區(qū),所有接收的數(shù)據(jù)在一個寫周期內(nèi)寫入pcf8563。頁寫時序圖(6)應答查詢可以利用內(nèi)部寫周期時禁止數(shù)據(jù)輸入這一特性,一旦主器

25、件發(fā)送停止位指示主器件操作結束時,pcf8563 啟動內(nèi)部寫周期,應答查詢立即啟動,包括發(fā)送一個起始信號和進行寫操作的從器件地址。如果pcf8563 正在進行內(nèi)部寫操作,不會發(fā)送應答信號。如果pcf8563已經(jīng)完成了內(nèi)部自寫周期,將發(fā)送一個應答信號,主器件可以繼續(xù)進行下一次讀寫操作。(7)寫保護寫保護操作特性可使用戶避免由于不當操作而造成對存儲區(qū)域內(nèi)部數(shù)據(jù)的改寫,當wp管腳接高時整個寄存器區(qū)全部被保護起來而變?yōu)橹豢勺x取。(8)讀操作pcf8563讀操作的初始化方式和寫操作時一樣,僅把(r/w) 位置為1,有三種不同的讀操作方式:立即地址讀、選擇讀和連續(xù)讀。立即地址讀:pcf8563 的地址計數(shù)

26、器內(nèi)容為最后操作字節(jié)的地址加1。也就是說,如果上次讀/寫的操作地址為n,則立即讀的地址從地址n+1 開始。如果n=e(這里對24c02,e=255;對pcf8563,e=16),則計數(shù)器將翻轉到0 且繼續(xù)輸出數(shù)。pcf8563 接收到從器件地址信號后(r/w 位置1),它首先發(fā)送一個應答信號,然后發(fā)送一個8 位字節(jié)數(shù)據(jù)。主器件不需發(fā)送一個應答信號,但要產(chǎn)生一個停止信號。立即地址讀時序圖(9)選擇性讀操作允許主器件對寄存器的任意字節(jié)進行讀操作,主器件首先通過發(fā)送起始信號、從器件地址和它想讀取的字節(jié)數(shù)據(jù)的地址執(zhí)行一個偽寫操作。在pcf8563 應答之后,主器件重新發(fā)送起始信號和從器件地址,此時r/

27、w 位置1, pcf8563 響應并發(fā)送應答信號,然后輸出所要求的一個8 位字節(jié)數(shù)據(jù),主器件不發(fā)送應答信號但產(chǎn)生一個停止信號。選擇讀時序圖(10)連續(xù)讀連續(xù)讀操作可通過立即讀或選擇性讀操作啟動。在pcf8563 發(fā)送完一個8 位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個應答信號來響應,告知pcf8563 主器件要求更多的數(shù)據(jù),對應每個主機產(chǎn)生的應答信號pcf8563 將發(fā)送一個8 位數(shù)據(jù)字節(jié)。當主器件不發(fā)送應答信號而發(fā)送停止位時結束此操作。從pcf8563 輸出的數(shù)據(jù)按順序由n 到n+1 輸出。讀操作時地址計數(shù)器在pcf8563 整個地址內(nèi)增加,這樣整個寄存器區(qū)域在可在一個讀操作內(nèi)全部讀出。當讀取的字節(jié)超過e

28、(對于pcf8563,e=16;對24c02, e=255)計數(shù)器將翻轉到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。連續(xù)讀時序圖5實驗步驟5.1 硬件連接將并口線插在實驗板與 pc 機的并口插座上。按圖連接實驗線路。p10p11p12p13cpu89s52xyab4052j11_8563sclsdaj1_4052x0y0856ch451 與cpu 連接實驗線路。cpu89s52j5_89s52 p34p15p33p32j32_ch451loaddclkdindoutch4515.2 軟件設計進入 keilc 開發(fā)環(huán)境編寫程序。首先根據(jù)2.3.5 節(jié)i2c 協(xié)議 內(nèi)容,編寫i2c 函數(shù)。在編寫i2c 函數(shù)時,應注意

29、代碼的可重用性,方便其它函數(shù)調(diào)用。例如:編寫起始信號函數(shù)時,可以將它獨立出來,void begin()程序代碼pcf8563 的i2c 接口最大頻率是400khz,在程序中對一個io 口操作完后,需要延時2.5毫秒(本實驗板cpu 晶振為11.0592mhz,一個指令周期為1.08 毫秒)。寫好i2c 讀寫函數(shù)后,可對pcf8563 進行操作。先將cd4052 的通道選為0,這樣cpu 與pcf8563 物理聯(lián)接起來了。第一次操作需要對pcf8563 進行初始化設置。先將0x00 分別寫入pcf8563 中地址為0x0,0x01的寄存器中,接著將要設置的時間按:年、月、星期、日、小時、分、秒的

30、順序,以bcd碼格式寫入地址為0x08-0x02 的寄存器中,具體見表2-8、表2-9。在將時間按:年、月、星期、日、小時、分、秒讀出后,按“xx-xx-xx”格式分兩屏顯示出來,顯示接口的應用見。6實驗成功標志 按下1 號按鍵,顯示測量得到的日期。 按下2 號按鍵,顯示測量得到的時間。7程序說明1. send_disp_data向ch451芯片發(fā)送命令。2. send_comm向ch451芯片發(fā)送命令。3. disp_initialize向ch451芯片發(fā)送初始化命令。4. key中斷函數(shù),獲取當前按鍵狀態(tài)。5. display_test測試顯示led數(shù)碼管。6. initmcu初始化mcu

31、。7. delay_1ms毫秒級延時。8. chang_4052選擇4052的通道。9. pcf8563start向時鐘芯片發(fā)送開始信號。10. pcf8563stop向時鐘芯片發(fā)送停止信號。11. pcf8563clock從總線接受一bit數(shù)據(jù)。12. pcf8563ack向總線發(fā)送一個數(shù)據(jù)接受完成信號。13. pcf8563nack檢查pcf8563芯片是否接受到一字節(jié)的數(shù)據(jù)。14. pcf8563outbyte向總線發(fā)送一個字節(jié)的數(shù)據(jù)。15. pcf8563getbyte從總線接受一個字節(jié)的數(shù)據(jù)。16. pcf8563dummywrite向總線發(fā)送開始信號和從地址。17. pcf8563read從pcf8563讀取數(shù)據(jù)。18. pcf8563write從pcf8563讀取數(shù)據(jù)。19. set_8563_register設置pcf8563控制狀態(tài)寄存器。20. get_time讀取時鐘。21. disp_time顯示時鐘。8操作過程說明8.1編譯和鏈接用 project 菜單或build 工具欄的build target 命令編譯和鏈接

溫馨提示

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

評論

0/150

提交評論