版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)課程設(shè)計(jì)---電子時鐘
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)串行通訊
- 單片機(jī)秒表單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字時鐘
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)籃球計(jì)分器
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)數(shù)字時鐘
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)原理及應(yīng)用
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的交通燈設(shè)計(jì) (2)
- 基于單片機(jī)的秒表設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制各種器件
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字時鐘.doc
評論
0/150
提交評論