單片機(jī)課程設(shè)計(jì) (2)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  第一章 緒論1</b></p><p>  1.1 單片機(jī)介紹1</p><p>  1.2 單片機(jī)歷史1</p><p>  1.3 單片機(jī)的應(yīng)用領(lǐng)域1</p><p>  第二章 單片機(jī)的結(jié)構(gòu)

2、與原理2</p><p>  2.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)2</p><p>  2.2 引腳信號3</p><p>  第三章 基于24C02的數(shù)據(jù)存儲與顯示系統(tǒng)4</p><p>  3.1 24C02引腳介紹4</p><p>  我們對引腳的功能作一個簡單的解釋:4</p>

3、<p>  3.2 線數(shù)據(jù)傳輸協(xié)議5</p><p>  3.2.1寫操作6</p><p>  3.2.2寫保護(hù)6</p><p>  3.2.3讀操作6</p><p>  3.3 基于24C02的數(shù)據(jù)存儲與顯示系統(tǒng)的設(shè)計(jì)7</p><p>  3.3.1實(shí)驗(yàn)電路7</p>&

4、lt;p>  3.3.2 調(diào)試程序7</p><p><b>  小結(jié)10</b></p><p><b>  參考文獻(xiàn)10</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1 單片機(jī)介紹</b><

5、;/p><p>  單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計(jì)算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計(jì)算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。</p><p><b>  1.2 單片機(jī)歷史</b></p><p>  單片

6、機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。 </p><p>  1.SCM即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒。 </p><p>  2.MCU即微控制器

7、(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。 </p><p>  3.單片機(jī)是嵌入式系統(tǒng)

8、的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會有較大的發(fā)展。因此,對單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。</p><p>  1.3 單片機(jī)的應(yīng)用領(lǐng)域</p><p>  目前單片機(jī)滲透到我們生活的各個領(lǐng)

9、域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 </p>

10、<p>  單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。</p><p>  此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。</p><p>  第二章 單片機(jī)的結(jié)構(gòu)與原理</p><p&

11、gt;  2.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu) </p><p>  MCS-51單片機(jī)芯片內(nèi)部結(jié)構(gòu)框圖如圖1所示。</p><p>  圖1 MCS-51單片機(jī)芯片內(nèi)部結(jié)構(gòu)</p><p><b>  1.CPU </b></p><p>  CPU即中央處理器的簡稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CP

12、U由運(yùn)算器和控制器兩部分電路組成。 </p><p><b>  (1)運(yùn)算器電路 </b></p><p>  運(yùn)算器電路包括ALU(算術(shù)邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。運(yùn)算電路以ALU為核心單元,可以完成半字節(jié)、單字節(jié)以及多字節(jié)數(shù)據(jù)的運(yùn)算操作,其中包括加、減、乘、除、十進(jìn)制調(diào)整等算

13、術(shù)運(yùn)算以及與、或、異或、求補(bǔ)和循環(huán)等邏輯操作,運(yùn)算結(jié)果的狀態(tài)由狀態(tài)寄存器保存。 </p><p><b> ?。?)控制器電路 </b></p><p>  控制器電路包括程序計(jì)數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。程序計(jì)數(shù)器PC用來存放即將要執(zhí)

14、行的指令地址,它可以完成64K的外部存儲器尋址,執(zhí)行指令時,PC內(nèi)容的高8位經(jīng)P2口輸出,低8位經(jīng)P0口輸出。數(shù)據(jù)指針DPTR為16位數(shù)據(jù)指針,它可以對64K的外部數(shù)據(jù)存儲器和I/O口進(jìn)行尋址,它的低8位為DPL(地址82H),高8位為DPH(地址為83H)。堆棧指針SP在片內(nèi)RAM(128字節(jié))中開辟棧區(qū),并隨時跟蹤棧頂?shù)刂?,它按先進(jìn)后出的原則存取數(shù)據(jù),上電復(fù)位后,SP指向07H。 </p><p>  2.定

15、時器/計(jì)數(shù)器 </p><p>  MCS-51單片機(jī)片內(nèi)有兩個16位的定時/計(jì)數(shù)器,即定時器0和定時器1。它們可以用于定時控制、延時以及對外部事件的計(jì)數(shù)和檢測等。 </p><p><b>  3.存儲器 </b></p><p>  MCS-51系列單片機(jī)的存儲器包括數(shù)據(jù)存儲器和程序存儲器,其主要特點(diǎn)是程序存儲器和數(shù)據(jù)存儲器的尋址空間是相互

16、獨(dú)立的,物理結(jié)構(gòu)也不相同。對MCS-51系列(8031除外)而言,有4個物理上相互獨(dú)立的存儲器空間:即內(nèi)、外程序存儲器和內(nèi)、外數(shù)據(jù)存儲器。對于8051其芯片中共有256個RAM單元,其中后128個單元被專用寄存器占用,只有前128個單元供用戶使用。 </p><p><b>  4.并行I/O口 </b></p><p>  MCS-51單片機(jī)共有4個8位的I/O口(

17、P0、P1、P2和P3),每一條I/O線都能獨(dú)立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個TTL門電路,P1、P2和P3口為準(zhǔn)雙向口,負(fù)載能力為4個TTL門電路。 </p><p><b>  5.串行I/O口 </b></p><p>  MCS-51單片機(jī)具有一個采用通用異步工作方式的全雙工串行通信接口,可以同時發(fā)送和接收數(shù)據(jù)。它具有兩個相互獨(dú)立的接收、發(fā)送數(shù)

18、據(jù)緩沖器,兩個緩沖器共用一個地址(99H),發(fā)送緩沖器只能寫入,不能讀出,接收緩沖器只能讀出,不能寫入。 </p><p><b>  6.中斷控制系統(tǒng) </b></p><p>  MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5個中斷源,即外中斷2個,定時/計(jì)數(shù)中斷2個,串行中斷1個。所有中斷分為高級和低級兩個中斷優(yōu)先級。 </p>

19、;<p><b>  7.時鐘電路 </b></p><p>  MCS-51芯片內(nèi)部有時鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時鐘電路為單片機(jī)產(chǎn)生時鐘脈沖序列,振蕩器的頻率范圍為1.2MHz~12MHz,典型取值為6MHz。 </p><p><b>  8.總線 </b></p><p>  以上所有組

20、成部分都是通過總線連接起來,從而構(gòu)成一個完整的單片機(jī)。系統(tǒng)的地址信號、數(shù)據(jù)信號和控制信號都是通過總線傳送的,總線結(jié)構(gòu)減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。 </p><p>  2.2 引腳信號 </p><p>  圖2為MCS-51系列單片機(jī)引腳圖及邏輯符號,它們?yōu)闃?biāo)準(zhǔn)的40腳DIP封裝。這些引腳的功能描述如下:</p><p>  1.電源引腳V

21、cc和Vss </p><p>  Vcc:電源端,接+5V。 </p><p><b>  Vss:接地端。 </b></p><p>  通常在Vcc和Vss引腳之間接0.1μ高頻濾波電容。 </p><p>  2.時鐘電路引腳XTAL1和XTAL2 </p><p>  XTAL1:接外部

22、晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。 </p><p>  圖2 MCS-51外形</p><p>  XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。 </p><p>  3.地址鎖存允許ALE </p><

23、;p>  在系統(tǒng)擴(kuò)展時,ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。當(dāng)單片機(jī)上電正常工作后,ALE端就周期性地以時鐘頻率的1/6的固定頻率向外輸出正脈沖信號,ALE的負(fù)載能力為8個LSTTL器件。 </p><p>  4.外部程序存儲器讀選通信號 </p><p>  是讀外部程序存儲器的選通信號,低電平有效。CPU從外部存儲器取指令時,它在每

24、個機(jī)器周期中兩次有效。 </p><p>  5.程序存儲器地址允許輸入端 /VPP </p><p>  當(dāng) 為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當(dāng)PC中的值超過0FFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令。當(dāng) 為低電平時,CPU只執(zhí)行片外程序存儲器指令。對于8031,由于其無片內(nèi)ROM,故 必須接低電平。 </p><p>  6.復(fù)位信號RST &

25、lt;/p><p>  該信號高電平有效,在輸入端保持兩個機(jī)器周期的高電平后,就可以完成復(fù)位操作。</p><p>  第三章 基于24C02的數(shù)據(jù)存儲與顯示系統(tǒng)</p><p>  3.1 24C02引腳介紹</p><p>  我們對引腳的功能作一個簡單的解釋:</p><p>  VCC,GND:電源、地引腳<

26、/p><p>  A2A1A0:地址引腳</p><p>  SCLK、SDA:通信引腳</p><p><b>  WP:寫保護(hù)引腳</b></p><p>  圖 3 24C02引腳</p><p>  3.2 線數(shù)據(jù)傳輸協(xié)議</p><p>  從上面的電路連接知:A2

27、A1A0=000,可見如果要對24C02進(jìn)行寫操作,尋址字節(jié)是1010 000 0;如果對24C02進(jìn)行讀操作,尋址字節(jié)是1010 000 1。用單片機(jī)的P1.6腳作為串行時鐘線,用P1.7腳作串行數(shù)據(jù)線。24C02支持總線數(shù)據(jù)傳輸協(xié)議,I2C總線的數(shù)據(jù)傳輸協(xié)議如下:</p><p>  (1)、主器件發(fā)出開始信號</p><p> ?。?)、主器件發(fā)出第一個字節(jié),用來選通相應(yīng)的從器件。其

28、中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發(fā)送,方向位為“1”表示接受。</p><p> ?。?)、從機(jī)產(chǎn)生應(yīng)答信號,進(jìn)入下一個傳送周期,如果從器件沒有給出應(yīng)答信號,此時主器件產(chǎn)生一個結(jié)束信號使得傳送結(jié)束,傳送數(shù)據(jù)無效。</p><p> ?。?)、接下來主、從器件正式進(jìn)行數(shù)據(jù)的傳送,這時在I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個字節(jié)必須為8位(傳送的時候先送高

29、位,再送低位)。當(dāng)一個字節(jié)傳送完畢時,再發(fā)送一個應(yīng)答位(第9位),如上一條所述,這樣每次傳送一個字節(jié)都需要9個時鐘脈沖。</p><p>  開始信號:當(dāng)SCL為高電平時,SDA發(fā)生從高到低的跳變,就定義為開始信號。</p><p>  停止信號:當(dāng)SCL為高電平時,SDA發(fā)生從低到高的跳變,就定義為結(jié)束信號。</p><p>  開始和結(jié)束信號的時序圖如圖4所示:

30、</p><p>  圖 4 線數(shù)據(jù)傳輸協(xié)議圖</p><p><b>  3.2.1寫操作 </b></p><p><b>  字節(jié)寫 </b></p><p>  在字節(jié)寫模式下 主器件發(fā)送起始命令和從器件地址信息 R/W位置零 給從器件 在從器件產(chǎn)生應(yīng)答信號后 主器件發(fā)送24C02的字節(jié)

31、地址 主器件在收到從器件的另一個應(yīng)答信號后 再發(fā)送數(shù)據(jù)到被尋址的存儲單元 24C02 再次應(yīng)答 并在主器件產(chǎn)生停止信號后開始內(nèi)部數(shù)據(jù)的擦寫 在內(nèi)部擦寫過程中 24C02不再應(yīng)答主器件的任何請求 </p><p><b>  頁寫 </b></p><p>  用頁寫 CAT24WC01可一次寫入 8 個字節(jié)數(shù)據(jù) CAT24WC02/04/08/16可以一次寫入 1

32、6 個字節(jié)的數(shù)據(jù) 頁寫操作的啟動和字節(jié)寫一樣 不同在于傳送了一字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號 主器件被允許發(fā)送 P CAT24WC01 P=7 CAT24WC02/04/08/16 P=15 個額外的字節(jié) 每發(fā)送一個字節(jié)數(shù)據(jù)后24C02產(chǎn)生一個應(yīng)答位并將字節(jié)地址低位加1 高位保持不變 如果在發(fā)送停止信號之前主器件發(fā)送超過P+1個字節(jié) 地址計(jì)數(shù)器將自動翻轉(zhuǎn) 先前寫入的數(shù)據(jù)被覆蓋 接收到P+1字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號后 CAT24CX

33、XX啟動內(nèi)部寫周期將數(shù)據(jù)寫到數(shù)據(jù)區(qū) 所有接收的數(shù)據(jù)在一個寫周期內(nèi)寫入24C02 </p><p><b>  3.2.2寫保護(hù) </b></p><p>  寫保護(hù)操作特性可使用戶避免由于不當(dāng)操作而造成對存儲區(qū)域內(nèi)部數(shù)據(jù)的改寫 當(dāng) WP管腳接高時整個寄存器區(qū)全部被保護(hù)起來而變?yōu)橹豢勺x取 24C02 可以接收從器件地址和字節(jié)地址 但是裝置在接收到第一個數(shù)據(jù)字節(jié)后不發(fā)送

34、應(yīng)答信號從而避免寄存器區(qū)域被編程改寫 </p><p><b>  3.2.3讀操作 </b></p><p>  對 24C02 讀操作的初始化方式和寫操作時一樣 僅把 R/W 位置為 1 有三種不同的讀操作方式 立即地址讀 選擇讀和連續(xù)讀 </p><p><b>  立即地址讀 </b></p>&

35、lt;p>  24C02的地址計(jì)數(shù)器內(nèi)容為最后操作字節(jié)的地址加 1 也就是說 如果上次讀/寫的操作地址為 N 則立即讀的地址從地址 N+1開始 如果 N=E 這里對 24WC01 E=127 對 24WC02,E=255 對 24WC04 E=511 對 24WC08 E=1023 對 24WC16 E=2047 則計(jì)數(shù)器將翻轉(zhuǎn)到 0 且繼續(xù)輸出數(shù)據(jù) 24C02 接收到從器件地址信號后 R/W 位置 1 它首先發(fā)送一個應(yīng)答信號

36、然后發(fā)送一個8 位字節(jié)數(shù)據(jù) 主器件不需發(fā)送一個應(yīng)答信號 但要產(chǎn)生一個停止信號 </p><p><b>  選擇性讀 </b></p><p>  選擇性讀操作允許主器件對寄存器的任意字節(jié)進(jìn)行讀操作 主器件首先通過發(fā)送起始信號 從器件地址和它想讀取的字節(jié)數(shù)據(jù)的地址執(zhí)行一個偽寫操作 在24C02應(yīng)答之后 主器件重新發(fā)送起始信號和從器件地址 此時R/W位置 1 24C

37、02響應(yīng)并發(fā)送應(yīng)答信號 然后輸出所要求的一個8 位字節(jié)數(shù)據(jù) 主器件不發(fā)送應(yīng)答信號但產(chǎn)生一個停止信號 </p><p><b>  連續(xù)讀 </b></p><p>  連續(xù)讀操作可通過立即讀或選擇性讀操作啟動 在24C02發(fā)送完一個 8 位字節(jié)數(shù)據(jù)后 主器件產(chǎn)生一個應(yīng)答信號來響應(yīng) 告知24C02主器件要求更多的數(shù)據(jù) 對應(yīng)每個主機(jī)產(chǎn)生的應(yīng)答信號24C02將發(fā)送一個 8

38、 位數(shù)據(jù)字節(jié) 當(dāng)主器件不發(fā)送應(yīng)答信號而發(fā)送停止位時結(jié)束此操作 從 24C02 輸出的數(shù)據(jù)按順序由 N 到 N+1 輸出 讀操作時地址計(jì)數(shù)器在24C02 整個地址內(nèi)增加 這樣整個寄存器區(qū)域在可在一個讀操作內(nèi)全部讀出 當(dāng)讀取的字節(jié)超過 E 對于24WC01 E=127 對24WC02 E=255 對 24WC04 E=511 對 24WC08 E=1023對 24WC16 E=2047 計(jì)數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié) </p&

39、gt;<p>  3.3 基于24C02的數(shù)據(jù)存儲與顯示系統(tǒng)的設(shè)計(jì)</p><p><b>  3.3.1實(shí)驗(yàn)電路</b></p><p>  3.3.2 調(diào)試程序</p><p>  本程序能夠?qū)Π存I進(jìn)行掃描、識別和動態(tài)顯示,并將掃描結(jié)果保存于24C02,斷電,再通電后能顯示斷電前的結(jié)果。</p><p>

40、;<b>  程序如下:</b></p><p>  SCL EQU P1.5</p><p>  SDA EQU P1.6</p><p>  ORG 0000H</p><p>  AJMP MAIN</p><p>  ORG 0030H</p><p> 

41、 MAIN: MOV R4,#0</p><p><b>  MOV P3,#0</b></p><p>  MOV P0,#3FH</p><p><b>  SETB P3.5</b></p><p>  JB P2.3, EEE</p><p>  LCALL KEYS

42、CAN</p><p><b>  SJMP FFF</b></p><p><b>  EEE:</b></p><p>  JB P2.2,FFF</p><p>  LCALL KEYSCAN</p><p><b>  FFF:</b></

43、p><p>  MOV R0,#01H</p><p>  LCALL RD_DATA</p><p><b>  MOV R4,A</b></p><p>  LCALL DISPLAY</p><p><b>  SJMP MAIN</b></p><p&

44、gt;  ;***********************************************</p><p><b>  KEYSCAN:</b></p><p><b>  MOV R4,#1</b></p><p>  LOOP: MOV P3,#0</p><p>  MOV P

45、0,#3FH</p><p><b>  SETB P3.5</b></p><p>  JB P2.3,L1</p><p>  LCALL DELAY10</p><p>  JB P2.3,L1</p><p><b>  INC R4</b></p>&

46、lt;p><b>  AJMP AAA</b></p><p>  L1: JB P2.2,AAA</p><p>  LCALL DELAY10</p><p>  JB P2.2,AAA</p><p><b>  DEC R4</b></p><p><

47、b>  AJMP AAA</b></p><p>  AAA: LCALL DISPLAY</p><p>  LCALL DELAY10</p><p><b>  STORE:</b></p><p>  MOV R0,#01H</p><p><b>  MOV

48、A,R4</b></p><p><b>  MOV R1,A</b></p><p>  LCALL WR_DATA</p><p>  LCALL RD_DATA</p><p><b>  MOV R3,A</b></p><p><b>  RE

49、T</b></p><p>  DISPLAY: MOV A,R4</p><p>  MOV DPTR,#TABLE</p><p>  MOVC A ,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  SETB P3.7&l

50、t;/b></p><p><b>  CLR P3.7</b></p><p>  MOV A,#11111011B</p><p><b>  MOV P0,A</b></p><p><b>  SETB P3.5</b></p><p>&

51、lt;b>  CLR P3.5</b></p><p>  ACALL DELAY10</p><p><b>  RET</b></p><p>  TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H,88H,

52、83H,0C6H,0A1H,86H,8EH</p><p>  DELAY10: MOV R6,#225</p><p>  DEL: MOV R7,#225</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,DEL</p><p><b>

53、  RET</b></p><p>  ;**************************************************************</p><p><b>  WR_DATA:</b></p><p>  LCALL BSTART</p><p>  MOV A,#0A0H

54、</p><p>  LCALL WBYTE</p><p><b>  MOV A,R0</b></p><p>  LCALL WBYTE</p><p><b>  MOV A,R1</b></p><p>  LCALL WBYTE</p><p

55、>  LCALL BSTOP</p><p><b>  RET</b></p><p><b>  RD_DATA:</b></p><p>  LCALL BSTART</p><p>  MOV A,#0A0H</p><p>  LCALL WBYTE</

56、p><p><b>  MOV A,R0</b></p><p>  LCALL WBYTE</p><p>  LCALL DELAY</p><p>  LCALL BSTART</p><p>  MOV A,#0A1H</p><p>  LCALL WBYTE<

57、/p><p>  LCALL RBYTE</p><p>  LCALL BSTOP</p><p><b>  RET</b></p><p><b>  BSTART:</b></p><p><b>  CLR SCL</b></p>&

58、lt;p>  LCALL DELAY</p><p><b>  SETB SDA</b></p><p>  LCALL DELAY</p><p><b>  SETB SCL</b></p><p>  LCALL DELAY</p><p><b> 

59、 CLR SDA</b></p><p>  LCALL DELAY</p><p><b>  CLR SCL</b></p><p><b>  RET</b></p><p><b>  BSTOP:</b></p><p><b

60、>  CLR SCL</b></p><p>  LCALL DELAY</p><p><b>  CLR SDA</b></p><p>  LCALL DELAY</p><p><b>  SETB SCL</b></p><p>  LCALL D

61、ELAY</p><p><b>  SETB SDA</b></p><p>  LCALL DELAY</p><p><b>  CLR SCL</b></p><p>  LCALL DELAY</p><p><b>  RET</b><

62、/p><p><b>  WBYTE:</b></p><p><b>  MOV R3,#8</b></p><p><b>  WBY0:</b></p><p><b>  CLR SCL</b></p><p><b>

63、;  RLC A</b></p><p><b>  MOV SDA,C</b></p><p><b>  SETB SCL</b></p><p>  DJNZ R3,WBY0</p><p><b>  CLR SCL</b></p><p

64、>  LCALL DELAY</p><p><b>  SETB SCL</b></p><p>  LCALL DELAY</p><p><b>  CLR SCL</b></p><p>  LCALL DELAY</p><p><b>  RET&

65、lt;/b></p><p><b>  RBYTE:</b></p><p>  LCALL DELAY</p><p><b>  MOV R3,#8</b></p><p><b>  RBY0:</b></p><p><b> 

66、 CLR SCL</b></p><p>  LCALL DELAY</p><p><b>  SETB SCL</b></p><p>  LCALL DELAY</p><p><b>  MOV C,SDA</b></p><p><b>  R

67、LC A</b></p><p>  DJNZ R3,RBY0</p><p><b>  CLR SCL</b></p><p>  LCALL DELAY</p><p><b>  SETB SDA</b></p><p>  LCALL DELAY<

68、/p><p><b>  SETB SCL</b></p><p>  LCALL DELAY</p><p><b>  RET</b></p><p><b>  DELAY:</b></p><p><b>  NOP</b>&l

69、t;/p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  RET</b></p><p><b>  END</b></p><p><b>  小結(jié)</b&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論