《硬件綜合設(shè)計(jì)》課程報(bào)告說明書EEPROM器件讀寫例程設(shè)計(jì)_第1頁
《硬件綜合設(shè)計(jì)》課程報(bào)告說明書EEPROM器件讀寫例程設(shè)計(jì)_第2頁
《硬件綜合設(shè)計(jì)》課程報(bào)告說明書EEPROM器件讀寫例程設(shè)計(jì)_第3頁
《硬件綜合設(shè)計(jì)》課程報(bào)告說明書EEPROM器件讀寫例程設(shè)計(jì)_第4頁
《硬件綜合設(shè)計(jì)》課程報(bào)告說明書EEPROM器件讀寫例程設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)硬件綜合設(shè)計(jì)課程報(bào)告說明書學(xué) 號: 0120810340631課 程 設(shè) 計(jì)題 目eeprom器件讀寫例程設(shè)計(jì)學(xué) 院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班 級姓 名指導(dǎo)教師2011年6月23日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級: 計(jì)算機(jī)0806班 指導(dǎo)教師: 工作單位:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院題 目: eeprom器件讀寫例程設(shè)計(jì)初始條件:1. 課程設(shè)計(jì)使用zg211硬件綜合實(shí)驗(yàn)平臺(8051單片機(jī)),使用at24c01接口芯片和輔助芯片以及器件;2. zg211有程序設(shè)計(jì)集成開發(fā)環(huán)境,程序設(shè)計(jì)語言為c語言;3. zg211硬件綜合實(shí)驗(yàn)平臺使用說明書;要求完成的主要任務(wù): (包括

2、課程設(shè)計(jì)工作量及其技術(shù)要求,撰寫說明書具體要求)1. 學(xué)習(xí)使用zg211硬件綜合實(shí)驗(yàn)平臺,程序設(shè)計(jì)集成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計(jì)題目,進(jìn)行需求分析,搞清楚課程設(shè)計(jì)需要設(shè)計(jì)需求和需要解決的設(shè)計(jì)內(nèi)容。3. 查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的接口芯片資料,掌握i2c接口芯片的使用方法和編程要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的輔助芯片以及器件資料。4. 設(shè)計(jì)接口芯片和輔助芯片以及器件與8051單片機(jī)連接硬件電路原理圖。5. 設(shè)計(jì)與硬件電路原理圖對應(yīng)的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細(xì)注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設(shè)計(jì)報(bào)告,

3、1)詳細(xì)陳述以上的設(shè)計(jì)過程;2)詳細(xì)陳述電路的調(diào)試過程。時間安排:第17周:1. 熟悉zg211硬件綜合實(shí)驗(yàn)平臺,keilc uvision2 集成開發(fā)環(huán)境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設(shè)計(jì)硬件電路原理圖,。第18周:1. 使用c語言或匯編語言設(shè)計(jì)和調(diào)試接口程序。2. 撰寫計(jì)算機(jī)硬件綜合設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日eeprom器件讀寫例程設(shè)計(jì)1.實(shí)驗(yàn)?zāi)康恼莆?io 口操作;掌握顯示及鍵盤芯片的運(yùn)用;掌握 i2c 總線操作2.實(shí)驗(yàn)設(shè)備pc機(jī)一臺,zg-211單片機(jī)系統(tǒng)實(shí)驗(yàn)板一塊,實(shí)驗(yàn)連接線若干,芯片:ch451,89s52,c

4、d4052并口編程線一根,串口通訊線1根,配套電源1 個 zg-211 圖片:3.實(shí)驗(yàn)要求1. 學(xué)習(xí)使用zg211硬件綜合實(shí)驗(yàn)平臺,程序設(shè)計(jì)集成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計(jì)題目,進(jìn)行需求分析,搞清楚課程設(shè)計(jì)需要設(shè)計(jì)需求和需要解決的設(shè)計(jì)內(nèi)容。3. 查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的輔助芯片以及器件資料。4. 設(shè)計(jì)接口芯片和輔助芯片以及器件與8051單片機(jī)連接硬件電路原理圖。5. 設(shè)計(jì)與硬件電路原理圖對應(yīng)的c語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細(xì)注釋。能夠解釋使用程序模擬電路時序

5、信號和數(shù)據(jù)。6. 能正常操作 led 數(shù)碼顯示;能通過中斷方式接收按鍵信息;能正確讀寫 eeprom 芯片4.實(shí)驗(yàn)原理 單片機(jī)系統(tǒng)常用 eeprom 芯片在掉電情況下保存一些重要數(shù)據(jù)。本實(shí)驗(yàn)板采用的芯片 是 at24c02,可存儲 256 個字節(jié),重復(fù)擦寫 1,000,000 次,數(shù)據(jù)保存 100 年以上。該芯 片通過i2c 總線接口進(jìn)行操作,i2c 協(xié)議原理請看 2.3.5 節(jié)。其原理圖如下:5.實(shí)驗(yàn)步驟5.1硬件連接將并口線插在實(shí)驗(yàn)板與pc機(jī)的并口插座上; ch451 與 cpu 連接實(shí)驗(yàn)線路見圖2-2 ;按圖 2-28 連接實(shí)驗(yàn)線路仔細(xì)檢查無誤后,接通電源。 (圖中箭頭表示需要接線的地方

6、)5.2 軟件設(shè)計(jì)進(jìn)入 keilc 開發(fā)環(huán)境。首先根據(jù) 234 i2c 協(xié)議 內(nèi)容,編寫 i2c 函數(shù),由于 at24c02 的 i2c 接口大頻率是 400khz,所以在程序中對一個 io 口操作完后,請延時 2.5us(實(shí)驗(yàn)板 上 cpu 晶振為 11.0592mhz,一個指令周期為 1.08us)。寫好 i2c 讀寫函數(shù)后,可以對 at24c02 進(jìn)行操作。at24c02 的寫從地址為 0xa0,寫時 wp 要置 0(打開寫保護(hù)),寫完后置為 1; 讀從地址為 0xa1。先將 cd4052 的通道選為 2,連接 cpu 與 at24c02。向 at24c02 中地 址為 0x00 到 0

7、x07 的單元,寫入數(shù)據(jù) 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 后,再從 at24c02 中讀出,進(jìn)行比較。如果一致則顯示 1,錯誤則顯示 0。5.3 編譯下載程序編譯成功后,打開聯(lián)機(jī)下載軟件,將hex文件下載到89s52中,觀看程序運(yùn)行結(jié)果。 如有問題則修改程序,再次下載。(請注意:at24c02的擦寫次數(shù)有限,頻繁擦寫會影響其使用壽命。) 調(diào)試成功后,請將 i2c 讀寫程序、at24c02 讀寫程序,寫成函數(shù),以供其他模塊調(diào)用。6.實(shí)驗(yàn)成功標(biāo)志按下 1 號按鍵,顯示“001”,同時向 at24c02 中指定位置寫入數(shù)據(jù);按下 2 號按鍵,從 at

8、24c02 中指定位置讀出數(shù)據(jù)并顯示,應(yīng)與寫入數(shù)據(jù)一致;7. 簡要調(diào)試過程1. 利用在線編程這個軟件讀入程序expboard.hex2. 操作zg-211單片機(jī)電路板上面的按鈕,觀察實(shí)驗(yàn)現(xiàn)象是否符合說明書3. 如果不符合,進(jìn)入程序文件夾進(jìn)行修改程序,直至得到理想的顯示結(jié)果8. 程序代碼主函數(shù)#include #include reg52.h#include def.h#include sub.h#include beep.h#include func.h#include display.h#include eeprom.hunsigned char key_data = 0;main()uns

9、igned char eep_temp2;unsigned char temp = 0;/mcu初始化initmcu();set_8255();/開關(guān)蜂鳴器,表示開始工作speak_on();delay_1ms(50);speak_off();display_test();eep_temp0 = 0x55;/測試值while(1)if(key_data!=0)/若有鍵按下temp = key_data;key_data = 0;switch(temp)case 0x40:/1/將測試值寫入eepromat24c02write(eep_temp, 0, 1);display_int(int)(e

10、ep_temp0);break;case 0x49:/2at24c02read(eep_temp, 0, 1);display_int(int)(eep_temp0);break;default:break;具體函數(shù)#include reg52.h#include def.h#include display.h#include sub.h#include func.hextern unsigned char key_print;extern unsigned char key_data;/*|函數(shù)名send_disp_data|函數(shù)功能向ch451芯片發(fā)送命令|參數(shù)comm:命令體|_data

11、:命令參數(shù)|返回值無|*/void send_disp_data(unsigned char comm, unsigned char _data)unsigned char i; /送8bit數(shù)據(jù)for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;/送4bit命令for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;load=1;load=0;load=1;/*|函數(shù)名send_comm|函數(shù)功能向ch451芯片發(fā)送命令|參數(shù)comm:命令體|返回值無|*/void send_comm(unsigned char comm)

12、unsigned char i;/送4bit命令for(i=0;ii)&0x01;dclk = 1;dclk = 0;dclk = 1;load=1;load=0;load=1;/*|函數(shù)名disp_initialize|函數(shù)功能向ch451芯片發(fā)送初始化命令|參數(shù)無|返回值無|*/void disp_initialize()chang_4052(1); din=0;din=1;dclk=1;load=1;dout=1;send_disp_data( ch451_setsys, 0x03);/設(shè)定系統(tǒng)參數(shù)send_disp_data( ch451_setdis, 0x80);/設(shè)定顯示參數(shù)/*

13、|函數(shù)名key|函數(shù)功能中斷函數(shù),獲取當(dāng)前按鍵狀態(tài)|參數(shù)無|返回值無|*/void key() interrupt 0 unsigned char i,temp;ex0 = 0;/關(guān)中斷key_data = 0;temp = 0;send_comm(ch451_key);for(i=0; i7; i+) temp = dout;key_data = key_data|(temp(6-i);dclk=1;dclk=0;dclk=1;/*key_print = key_data;send_disp_data(ch451_load0, 0x10);send_disp_data(ch451_load1

14、, 0x10);send_disp_data(ch451_load2, key_data/10);send_disp_data(ch451_load3, key_data%10);*/ex0 = 1;/中斷/*|函數(shù)名display_test|函數(shù)功能測試顯示led數(shù)碼管|參數(shù)無|返回值無|*/void display_test()/初始化顯示芯片disp_initialize();/延時delay_1ms(100);/送顯“12345678”send_disp_data( ch451_load0, 0x01);send_disp_data( ch451_load1, 0x02);send_d

15、isp_data( ch451_load2, 0x03);send_disp_data( ch451_load3, 0x04);send_disp_data( ch451_load4, 0x05);send_disp_data( ch451_load5, 0x06);send_disp_data( ch451_load6, 0x07);send_disp_data( ch451_load7, 0x08);delay_1ms(200);/display_int(555);/延時delay_1ms(200);/開中斷,接受按鍵信息ex0=1;/-send_disp_data( ch451_load

16、0, 0x12);send_disp_data( ch451_load1, 0x12);send_disp_data( ch451_load2, 0x12);send_disp_data( ch451_load3, 0x12);send_disp_data( ch451_load4, 0x12);send_disp_data( ch451_load5, 0x12);send_disp_data( ch451_load6, 0x12);send_disp_data( ch451_load7, 0x12);/*send_disp_data( ch451_load0, 0x08);send_disp

17、_data( ch451_load1, 0x08);send_disp_data( ch451_load2, 0x08);send_disp_data( ch451_load3, 0x08);send_disp_data( ch451_load4, 0x08);send_disp_data( ch451_load5, 0x08);send_disp_data( ch451_load6, 0x08);send_disp_data( ch451_load7, 0x08);*/*|函數(shù)名display_int|函數(shù)功能顯示一個整數(shù)|參數(shù)無|返回值無|*/void display_int(unsign

18、ed int m)send_disp_data( ch451_load0, 0x10);send_disp_data( ch451_load1, 0x10);send_disp_data( ch451_load2, 0x10);if (m/10000)send_disp_data( ch451_load3, m/10000);elsesend_disp_data( ch451_load3, 0x10);if (!(m/1000)%10)&(!(m/10000)send_disp_data( ch451_load4, 0x10);elsesend_disp_data( ch451_load4, (m/1000)%10);send_disp_data( ch451_load5, (m/100)%10);send_disp_data( ch451_load6, (m/10)%10);send_disp_data( ch451_load7, m%10);9.心得體會通過以前所學(xué)的計(jì)算機(jī)組成原理、微機(jī)原理與接口技術(shù),以及單片機(jī)的知識,并在老師的指導(dǎo)和同學(xué)的合作下,終于順利地完成了本次課程設(shè)計(jì)。我覺得本次試驗(yàn)重點(diǎn)在于動手操作,經(jīng)過幾次上機(jī)調(diào)試,終于得到理想的顯示結(jié)果,同時也對zg

溫馨提示

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

最新文檔

評論

0/150

提交評論