![[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]單片機(jī)接口技術(shù)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/28/77f5de0c-804d-4bb7-afcd-bddab83d1401/77f5de0c-804d-4bb7-afcd-bddab83d14011.gif)
![[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]單片機(jī)接口技術(shù)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/28/77f5de0c-804d-4bb7-afcd-bddab83d1401/77f5de0c-804d-4bb7-afcd-bddab83d14012.gif)
![[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]單片機(jī)接口技術(shù)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/28/77f5de0c-804d-4bb7-afcd-bddab83d1401/77f5de0c-804d-4bb7-afcd-bddab83d14013.gif)
![[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]單片機(jī)接口技術(shù)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/28/77f5de0c-804d-4bb7-afcd-bddab83d1401/77f5de0c-804d-4bb7-afcd-bddab83d14014.gif)
![[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]單片機(jī)接口技術(shù)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/28/77f5de0c-804d-4bb7-afcd-bddab83d1401/77f5de0c-804d-4bb7-afcd-bddab83d14015.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ic總線(xiàn)應(yīng)用實(shí)驗(yàn)一、ic總線(xiàn)介紹1.1 ic總線(xiàn)的特性在單片機(jī)應(yīng)用系統(tǒng)中推廣ic總線(xiàn)后將會(huì)大大改變單片機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu)、性能,對(duì)單片機(jī)的應(yīng)用開(kāi)發(fā)帶來(lái)以下好處。1、可最大限度地簡(jiǎn)化結(jié)構(gòu),二線(xiàn)制的ic串行總線(xiàn)使得各電路單元之間只需最簡(jiǎn)單的2線(xiàn)連接,而且總線(xiàn)接口都已集成在器件中,不需另加總線(xiàn)接口電路,這樣減少電路板面積,提高了可靠性,降低了成本。2、可實(shí)現(xiàn)電路系統(tǒng)的模塊化、標(biāo)準(zhǔn)化設(shè)計(jì)。在ic總線(xiàn)上各單元電路相互之間沒(méi)有其它連線(xiàn),用戶(hù)常用的單元電路基本上與系統(tǒng)電路無(wú)關(guān),故極易形成用戶(hù)自己的標(biāo)準(zhǔn)化、模塊化設(shè)計(jì)。3、ic總線(xiàn)各節(jié)點(diǎn)具有獨(dú)立的電氣特性,各節(jié)點(diǎn)單元電路能在相互不受影響的情況下, 甚至在系統(tǒng)供電情
2、況下接入或撤出,且系統(tǒng)可方便地對(duì)某一節(jié)點(diǎn)電路進(jìn)行故障診斷與跟蹤,有極好的可維護(hù)性。4、ic總線(xiàn)系統(tǒng)構(gòu)成具有最大的靈活性、系統(tǒng)改型設(shè)計(jì)、或?qū)σ鸭庸ず玫碾娐钒逍钄U(kuò)展功能時(shí),對(duì)原有設(shè)計(jì)及電路板系統(tǒng)影響最小,同時(shí)標(biāo)準(zhǔn)ic總線(xiàn)模塊的組合開(kāi)發(fā)大大地縮短了新品的開(kāi)發(fā)周期。1.2 標(biāo)準(zhǔn)模式ic總線(xiàn)規(guī)范ic總線(xiàn)通過(guò)2根線(xiàn)串行數(shù)據(jù)(sda)和串行時(shí)鐘(scl)線(xiàn)連接到總線(xiàn)上的任何一個(gè)器件,每個(gè)器件都應(yīng)有一個(gè)唯一的地址,而且都可以作為一個(gè)發(fā)送器或接收器。此外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)。發(fā)送器:本次傳送中發(fā)送數(shù)據(jù)(不包括地址和命令)到總線(xiàn)的器件。接收器:本次傳送中從總線(xiàn)接收數(shù)據(jù)(不包括地址和命令)
3、的器件。主機(jī):初始化發(fā)送、產(chǎn)生時(shí)鐘信號(hào)和終止發(fā)送的器件,它可以是發(fā)送器或接收器。主機(jī)通常是微控制器。從機(jī):被主機(jī)尋址的器件,它可以是發(fā)送器或接收器。ic總線(xiàn)是一個(gè)多主機(jī)的總線(xiàn),也即可以連接多于一個(gè)能控制總線(xiàn)的器件到總線(xiàn)。當(dāng)2個(gè)以上能控制總線(xiàn)的器件同時(shí)發(fā)動(dòng)傳輸時(shí),只能有一個(gè)器件能真正控制總線(xiàn)而成為主機(jī),并使報(bào)文并不被破壞,這個(gè)過(guò)程叫做仲裁。與此同時(shí),能使多個(gè)能控制總線(xiàn)的器件產(chǎn)生時(shí)鐘信號(hào)的同步。sda和scl都是雙向線(xiàn)路,連接到總線(xiàn)的器件的輸出級(jí)必須是漏極開(kāi)路或集電極開(kāi)路,都通過(guò)一個(gè)電流源或上拉電阻連接到正的電源電壓,這樣才能夠?qū)崿F(xiàn)線(xiàn)與功能。當(dāng)總線(xiàn)空閑時(shí),這2條線(xiàn)路都是高電平。在標(biāo)準(zhǔn)模式下,數(shù)據(jù)傳
4、輸?shù)乃俣葹?100kbit/s。1、 位傳輸ic總線(xiàn)上每傳輸一個(gè)數(shù)據(jù)位必須產(chǎn)生一個(gè)時(shí)鐘脈沖。(1) 數(shù)據(jù)的有效性sda線(xiàn)上的數(shù)據(jù)必須在時(shí)鐘線(xiàn)scl的高電平周期保持穩(wěn)定,數(shù)據(jù)線(xiàn)的電平狀態(tài)只有在scl線(xiàn)的時(shí)鐘信號(hào)是低電平時(shí)才能改變,如圖(31-1)所示。在標(biāo)準(zhǔn)模式下,高低電平寬度必須不小于4.7ns。 圖 (31-1) ic總線(xiàn)的位傳輸 (2) 起始和停止條件在ic總線(xiàn)中,唯一違反上述數(shù)據(jù)有效性的是起始(s)和停止(p)條件,如圖(31-2)所示。起始條件(重復(fù)起始條件);在scl線(xiàn)是高電平時(shí),sda線(xiàn)從高電平向低電平切換。停止條件:在scl線(xiàn)是高電平時(shí),sda線(xiàn)由低電平向高電平切換。 圖 (31
5、-2) 起始和停止條件起始和停止條件一般由主機(jī)產(chǎn)生。起始條件作為一次傳送的開(kāi)始,在起始條件后總線(xiàn)被認(rèn)為處于忙的狀態(tài)。停止條件作為一次傳送的結(jié)束,在停止條件的某段時(shí)間后,總線(xiàn)被認(rèn)為再次處于空閑狀態(tài)。重復(fù)起始條件既作為上次傳送的結(jié)束,也作為下次傳送的開(kāi)始。2、 數(shù)據(jù)傳輸(1) 字節(jié)格式發(fā)送到sda線(xiàn)上的每個(gè)字節(jié)必須為8位。每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個(gè)字節(jié)后必須跟一個(gè)應(yīng)答位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(msb),見(jiàn)圖(31-3)所示。 圖 (31-3) ic總線(xiàn)的數(shù)據(jù)傳輸(2) 應(yīng)答相應(yīng)的應(yīng)答時(shí)鐘脈沖由從機(jī)產(chǎn)生。在應(yīng)答的時(shí)鐘脈沖期間,發(fā)送器釋放sda線(xiàn)(高)。在應(yīng)答的時(shí)鐘脈沖期間,接收器必
6、須將sda線(xiàn)拉低,使她在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。如圖3. 3中時(shí)鐘信號(hào)scl的第9位。一般說(shuō)來(lái),被尋址匹配的從機(jī)或可繼續(xù)接收下一字節(jié)的接收器將產(chǎn)生一個(gè)應(yīng)答。若作為發(fā)送器的主機(jī)在發(fā)送完一個(gè)字節(jié)后,沒(méi)有收到應(yīng)答位(或收到一個(gè)非應(yīng)答位),或作為接收器的主機(jī)沒(méi)有發(fā)送應(yīng)答位(或發(fā)送一個(gè)非應(yīng)答位),那么主機(jī)必須產(chǎn)生一個(gè)停止條件或重復(fù)起始條件來(lái)結(jié)束本次傳輸。若從機(jī)接收器不能接收更多的數(shù)據(jù)字節(jié),將不產(chǎn)生這個(gè)應(yīng)答位:主機(jī)接收器在接收完最后一個(gè)字節(jié)后不產(chǎn)生應(yīng)答,通知從機(jī)發(fā)送器數(shù)據(jù)結(jié)束。3、 仲裁與時(shí)鐘發(fā)生(1) 同步時(shí)鐘同步通過(guò)各個(gè)能產(chǎn)生時(shí)鐘的器件線(xiàn)與連接到scl線(xiàn)上來(lái)實(shí)現(xiàn)的,上述的各個(gè)器件可能
7、都有自己獨(dú)立的時(shí)鐘,各個(gè)時(shí)鐘信號(hào)的頻率、周期、相位和占空比可能都不相同,由于“線(xiàn)與”的結(jié)果,在scl線(xiàn)上產(chǎn)生的實(shí)際時(shí)鐘的低電平寬度由低電平持續(xù)時(shí)間最長(zhǎng)的器件決定,而高電平寬度由高電平持續(xù)時(shí)間最短的器件決定。(2) 仲裁當(dāng)總線(xiàn)空閑時(shí),多個(gè)主機(jī)同時(shí)啟動(dòng)傳輸,可能會(huì)有不止一個(gè)主機(jī)檢測(cè)到滿(mǎn)足起始條件,而同時(shí)獲得主機(jī)權(quán),這樣就要進(jìn)行仲裁。當(dāng)scl線(xiàn)是高電平時(shí),仲裁在sda線(xiàn)發(fā)生,當(dāng)其他主機(jī)發(fā)送低電平時(shí),發(fā)送高電平的主機(jī)將丟失仲裁,因?yàn)榭偩€(xiàn)上的電平與它自己的電平不同。仲裁可以持續(xù)多位,它的第一個(gè)階段是比較地址位,如果每個(gè)主機(jī)都嘗試尋址相同的器件,仲裁會(huì)繼續(xù)比較數(shù)據(jù)位,或者比較響應(yīng)位。因?yàn)閕c總線(xiàn)的地址和數(shù)
8、據(jù)信息由贏得仲裁的主機(jī)決定,在仲裁過(guò)程中不會(huì)丟失信息。(3) 用時(shí)鐘同步機(jī)制作為握手器件可以快速接收數(shù)據(jù)字節(jié),但可能需要更多時(shí)間保存接收到的字節(jié)或準(zhǔn)備一個(gè)要發(fā)送的字節(jié)。此時(shí),這個(gè)器件可以使scl線(xiàn)保持低電平,迫使與之交換數(shù)據(jù)的器件進(jìn)入等待狀態(tài),直到準(zhǔn)備好下一字節(jié)的發(fā)送或接收。4、 傳輸協(xié)議(1) 尋址字節(jié)主機(jī)產(chǎn)生起始條件后,發(fā)送的第一個(gè)字節(jié)為尋址字節(jié),該字節(jié)的頭7位(高7位)為從機(jī)地址,最低位(lsb)決定了報(bào)文的方向,“0”表示主機(jī)寫(xiě)信息到從機(jī),“1”表示主機(jī)讀從機(jī)中的信息,如圖(31-4)所示。當(dāng)發(fā)送了一個(gè)地址后,系統(tǒng)中的每個(gè)器件都將頭7位與它自己的地址比較。如果一樣,器件會(huì)應(yīng)答主機(jī)的尋址
9、,至于是從機(jī)接收器還是從機(jī)發(fā)送器都由r/w位決定。 圖 (31-4) 起始條件后的第一個(gè)字節(jié) 從機(jī)地址由一個(gè)固定的和一個(gè)可編程的部分構(gòu)成。例如:某些器件有4個(gè)固定的位(高4位)和3個(gè)可編程的地址位(低3位),那么同一總線(xiàn)上共可以連接8個(gè)相同的器件。ic總線(xiàn)委員會(huì)協(xié)調(diào)ic地址的分配,保留了2組8位地址(0000xxxx和1111xxxx),這2組地址的用途可查閱有關(guān)資料。(2) 傳輸格式主機(jī)產(chǎn)生起始條件后,發(fā)送一個(gè)尋址字節(jié),收到應(yīng)答后跟著就是數(shù)據(jù)傳輸,數(shù)據(jù)傳輸一般由主機(jī)產(chǎn)生的停止位終止。但是,如果主機(jī)仍希望在總線(xiàn)上通訊,它可以產(chǎn)生重復(fù)起始條件(sr)和尋址另一個(gè)從機(jī),而不是首先產(chǎn)生一個(gè)停止條件。
10、在這種傳輸中,可能有不同的讀/寫(xiě)格式結(jié)合??赡艿臄?shù)據(jù)傳輸格式有:主機(jī)發(fā)送器發(fā)送數(shù)據(jù)到從機(jī)接收器。見(jiàn)圖(31-5),尋址字節(jié)的“r/w”位為0,數(shù)據(jù)傳輸?shù)姆较虿桓淖?。尋址字?jié)后,主機(jī)接收器立即讀從機(jī)發(fā)送器中的數(shù)據(jù),見(jiàn)圖(31-6)。尋址字節(jié)的“r/w”位為1。在第一次從機(jī)產(chǎn)生的響應(yīng)時(shí),主機(jī)發(fā)送器變成主機(jī)接收器,從機(jī)接收器變成從機(jī)發(fā)送器。之后,數(shù)據(jù)由從機(jī)發(fā)送,主機(jī)接收,每個(gè)應(yīng)答由主機(jī)產(chǎn)生,時(shí)鐘信號(hào)clk仍由主機(jī)產(chǎn)生。若主機(jī)要終止本次傳輸,則發(fā)送一個(gè)非應(yīng)答信號(hào)(/a),接著主機(jī)產(chǎn)生停止條件。復(fù)合格式,見(jiàn)圖(31-7)。傳輸改變方向的時(shí)候,起始條件和從機(jī)地址都會(huì)被重復(fù)。但r/w位取反。如果主機(jī)接收器發(fā)
11、送一個(gè)重復(fù)起始條件,它之前應(yīng)該要發(fā)送一個(gè)非應(yīng)答信號(hào)(/a)。 圖 (31-5) 主機(jī)發(fā)送器發(fā)送數(shù)據(jù)到從機(jī)接收器,傳輸方向不變。 圖 (31-6) 尋址字節(jié)后,主機(jī)接收器立即讀從機(jī)發(fā)送器中的數(shù)據(jù)圖 (31-7) 復(fù)合格式1.3 虛擬ic總線(xiàn)匯編程序軟件包(v1.1)為了非常方便地對(duì)ic從器件進(jìn)行快速的、正確的讀寫(xiě)操作,為此我們?cè)O(shè)計(jì)了硬件ic總線(xiàn)操作平臺(tái)軟件包。本軟件包是字節(jié)方式下的硬件ic總線(xiàn)軟件包,只要用戶(hù)給子程序提供幾個(gè)主要的參數(shù),即可輕松地完成任何ic總線(xiàn)外圍器件的應(yīng)用程序設(shè)計(jì)。ic總線(xiàn)是philips公司推出的芯片間串行數(shù)據(jù)傳輸總線(xiàn),2根線(xiàn)(sda、scl)即可實(shí)現(xiàn)完善的全雙工同步數(shù)據(jù)傳
12、輸,能夠十分方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。ic器件是把ic的協(xié)議植入器件的i/o接口,使用時(shí)器件直接掛到ic總線(xiàn)上,這一特點(diǎn)給用戶(hù)在設(shè)計(jì)應(yīng)用系統(tǒng)時(shí)帶來(lái)了極大的便利。ic器件無(wú)須片選信號(hào),是否選中是由主器件發(fā)出的ic從地址決定的,而ic器件的從地址是由ic總線(xiàn)委員會(huì)實(shí)行統(tǒng)一發(fā)配。我們推出的ic總線(xiàn)的操作平臺(tái)軟件包,只要你給出器件從地址,即可進(jìn)行字節(jié)讀、字節(jié)寫(xiě)、多字節(jié)讀、多字節(jié)寫(xiě),能夠非常方便地使用ic器件,無(wú)須你介入底層的ic操作協(xié)議。1.4 a51軟件包概述此軟件包是用在單主ic總線(xiàn)上,硬件接口是sda、scl,使用mcu的i/o來(lái)模擬sda/scl總線(xiàn)。設(shè)計(jì)有/無(wú)子地址的子程序是根據(jù)
13、ic器件的特點(diǎn),目的在于將地址和數(shù)據(jù)徹底分開(kāi)。軟件包的接口界面為:irdbyte (無(wú)子地址)讀單字節(jié)數(shù)據(jù) (現(xiàn)行地址讀)iwrbyte (無(wú)子地址)寫(xiě)單字節(jié)數(shù)據(jù) (現(xiàn)行地址寫(xiě))irdnbyte (有子地址)讀n字節(jié)數(shù)據(jù)iwrnbyte (有子地址)寫(xiě)n字節(jié)數(shù)據(jù)irdnbyteext (無(wú)子地址)讀n字節(jié)數(shù)據(jù)iwrnbyteext (無(wú)子地址)寫(xiě)n字節(jié)數(shù)據(jù)說(shuō)明:現(xiàn)行地址讀/寫(xiě)即專(zhuān)指無(wú)子地址的器件,不給定子地址的讀/寫(xiě)操作。軟件包占用內(nèi)部資源: r0,r1,r2,r3,acc,cy。使用前須定義變量:sla器件從地址,suba器件子地址,numbyte讀/寫(xiě)的字節(jié)數(shù),位變量ack。使用前須定義常
14、量:sda、scl總線(xiàn)位,mtd發(fā)送數(shù)據(jù)緩沖區(qū)首址接口子程序出口參數(shù)ack為0時(shí)表示器件無(wú)應(yīng)答1.4.1 軟件包清單 mcs-51單片機(jī)模擬ic軟件包(v1.1) 文件名:vic_asm.inc 功能說(shuō)明:本模擬ic軟件包包含了ic操作的底層子程序,使用前要定義 好scl和sda。在標(biāo)準(zhǔn)8051模式(12clock)下,對(duì)主頻要求是不高于12mhz (即1個(gè)機(jī)器周期1us);若fosc12 mhz則要增加相應(yīng)的nop指令數(shù)。(總線(xiàn) 時(shí)序符合ic標(biāo)準(zhǔn)模式,100kbit/s)啟動(dòng)ic總線(xiàn)子程序:start: setb sda nop setb scl ;起始條件建立時(shí)間大于4.7 us nop
15、nop nop nop nop clr sda nop ;起始條件鎖定時(shí)大于4 us nop nop nop nop clr scl ;鉗住總線(xiàn),準(zhǔn)備數(shù)據(jù)nopret結(jié)束總線(xiàn)子程序:stop: clr sda nop setb scl ;發(fā)送結(jié)束條件的時(shí)鐘信號(hào) nop ;結(jié)束總線(xiàn)時(shí)間大于4 us nop nop nop nop setb sda ;結(jié)束總線(xiàn) nop ;保證一個(gè)終止信號(hào)和起始信號(hào)的空閑時(shí)間大于4.7us nop nop nopret發(fā)送應(yīng)答信號(hào)子程序:mack: clr sda ;將sda置0 nop nop setb scl nop ;保持?jǐn)?shù)據(jù)時(shí)間,即scl為高時(shí)間大于4.7
16、us nop nop nop nop clr scl nop nop ret發(fā)送非應(yīng)答信號(hào):mnack: setb sda ;將sda置1 nop nop setb scl nop nop ;保持?jǐn)?shù)據(jù)時(shí)間,即scl為高時(shí)間大于4.7 us nop nop nop clr scl nop nop ret檢查應(yīng)答位子程序(返回值,ack=1時(shí)表示有應(yīng)答):cack: setb sda nop nop setb scl clr ack nop nop mov c, sda jc cend setb ack ;判斷應(yīng)答位cend: nop clr scl nop ret發(fā)送字節(jié)子程序(字節(jié)數(shù)據(jù)放入ac
17、c, 每發(fā)送一字節(jié)要調(diào)用一次cack子程序,取應(yīng)答位):wrbyte: mov r0, #08hwlp: rlc a ;取數(shù)據(jù)位 jc wr1 sjmp wr0 ;判斷數(shù)據(jù)位wlp1: djnz r0, wlp nop retwr1: setb sda ;發(fā)送1 nop setb scl nop nop nop nop nop clr scl sjmp wlp1wr0: clr sda ;發(fā)送0 nop setb scl nop nop nop nop nop clr scl sjmp wlp1讀取字節(jié)子程序(讀出的值在acc, 每取一字節(jié)要發(fā)送一個(gè)應(yīng)答/非應(yīng)答信號(hào)):rdbyte: mov
18、r0,#08hrlp: setb sda nop setb scl ;時(shí)鐘線(xiàn)為高,接收數(shù)據(jù)位 nopnopmov c, sda ;讀取數(shù)據(jù)位mov a, r2clr scl ;將scl拉低,時(shí)間大于4.7 usrlc a ;進(jìn)行數(shù)據(jù)位的處理mov r2, anopnopnopdjnz r0, rlp ;未夠8位,再來(lái)一次ret以下是用戶(hù)接口子程序:無(wú)子地址器件寫(xiě)字節(jié)數(shù)據(jù)入口參數(shù):數(shù)據(jù)為acc、器件從地址sla占用:a、 r0、 cyiwrbyte : push acc iwbloop: lcall start ;啟動(dòng)總線(xiàn)mov a, slalcall wrbyte ;發(fā)送器件從地址lcall
19、cackjnb ack, retwrb ;無(wú)應(yīng)答則跳轉(zhuǎn)pop acc ;寫(xiě)數(shù)據(jù)lcall wrbytelcall cacklcall stopretretwrb: pop acclcall stop ret無(wú)子地址器件讀字節(jié)數(shù)據(jù)入口參數(shù):器件從地址sla出口參數(shù):數(shù)據(jù)為acc占用: a、 r0、 r2、 cyirdbyte: lcall startmov a, sla ;發(fā)送器件從地址inc alcall wrbyte lcall cackjnb ack, retrdblcall rdbyte ;進(jìn)行讀字節(jié)操作lcall mnack ;發(fā)送非應(yīng)答信號(hào)retrdb: lcall stop ;結(jié)束
20、總線(xiàn)ret向器件指定子地址寫(xiě)n字節(jié)數(shù)據(jù)入口參數(shù):器件從地址sla、器件子地址suba、發(fā)送數(shù)據(jù)緩沖區(qū)mtd、發(fā)送字節(jié)數(shù)numbyte占用:a、 r0、 r1、 r3、 cyiwrnbyte: mov a, numbytemov r3, alcall start ;啟動(dòng)總線(xiàn)mov a, slalcall wrbyte ;發(fā)送器件從地址lcall cackjnb ack, retwrn ;無(wú)應(yīng)答則退出mov a,suba ;指定子地址lcall wrbytelcall cackmov r1, #mtdwrda: mov a,r1lcall wrbyte ;開(kāi)始寫(xiě)入數(shù)據(jù)lcall cackjnb a
21、ck, iwrnbyteinc r1djnz r3, wrda ;判斷寫(xiě)完沒(méi)有retwrn: lcall stopret向器件指定子地址讀取n字節(jié)數(shù)據(jù)入口參數(shù):器件從地址sla、器件子地址suba、接收字節(jié)數(shù)numbyte出口參數(shù):接收數(shù)據(jù)緩沖區(qū)mtd占用:a、 r0、 r1、 r2、 r3、 cyirdnbyte: mov r3, numbytelcall startmov a, slalcall wrbyte ;發(fā)送器件從地址lcall cackjnb ack, retrdnmov a, suba ;指定子地址lcall wrbytelcall cacklcall start ;重新啟動(dòng)總
22、線(xiàn)mov a, slainc a ;準(zhǔn)備進(jìn)行讀操作lcall wrbytelcall cackjnb ack, irdnbytemov r1, #mrdrdn1: lcall rdbyte ;讀操作開(kāi)始mov r1, adjnz r3, sacklcall mnack ;最后一字節(jié)發(fā)非應(yīng)答位retrdn: lcall stop ;并結(jié)束總線(xiàn)retsack: lcall mackinc r1sjmp rdn1 無(wú)子地址器件寫(xiě)n字節(jié)數(shù)據(jù)入口參數(shù):器件從地址sla、發(fā)送數(shù)據(jù)緩沖區(qū)mtd、發(fā)送字節(jié)數(shù)numbyte占用:a、 r0、 r1、 r3、 cy不發(fā)送子地址suba,直接發(fā)送多個(gè)數(shù)據(jù)iwrnby
23、teext:mov a, numbytemov r3, alcall start ;啟動(dòng)總線(xiàn)mov a, slalcall wrbyte ;發(fā)送器件從地址lcall cackjnb ack, retwrne ;無(wú)應(yīng)答則退出mov r1, #mtdwrdae: mov a, r1lcall wrbyte ;開(kāi)始寫(xiě)入數(shù)據(jù)lcall cackjnb ack, retwrneinc r1djnz r3, wrdae ;判斷寫(xiě)完沒(méi)有retwrne: lcall stopret無(wú)子地址器件讀取n字節(jié)數(shù)據(jù)入口參數(shù):器件從地址sla、器件子地址suba、接收字節(jié)數(shù)numbyte出口參數(shù):接收數(shù)據(jù)緩沖區(qū)mtd占
24、用:a、 r0、r1、 r2、 r3、 cy說(shuō)明:此函數(shù)不發(fā)送子地址,也不重新啟動(dòng)總線(xiàn),而是直接讀取多個(gè)數(shù)據(jù)irdnbyteext:mov r3, numbytelcall startmov a, slainc alcall wrbyte ;發(fā)送器件從地址lcall cackjnb ack, retrdnemov r1, #mrdrdne1: lcall rdbyte ;讀操作開(kāi)始mov r1, adjnz r3, sackelcall mnack ;最后一字節(jié)發(fā)非應(yīng)答位retrdne: lcall stop ;并結(jié)束總線(xiàn)retsacke: lcall mackinc r1sjmp rdne1
25、(一) 串行eprom的讀寫(xiě)實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、了解掌握ic總線(xiàn)的原理和應(yīng)用。2、利用單片機(jī)的i/o口產(chǎn)生ic總線(xiàn)sda、scl。二、 實(shí)驗(yàn)內(nèi)容電可擦除可編程只讀存儲(chǔ)器eprom可分為并行和串行兩大類(lèi)。并行eprom讀寫(xiě)數(shù)據(jù)是通過(guò)8位數(shù)據(jù)總線(xiàn)傳輸,而串行eprom的數(shù)據(jù)是一位一位的傳輸。雖然與并行eprom相比,串行傳輸數(shù)據(jù)較慢,但它具有體積小、專(zhuān)用i/o口少、低廉、電路簡(jiǎn)單等優(yōu)點(diǎn),因此廣泛用于智能儀器、儀表設(shè)備中。美國(guó)catalyst公司出品的cat24wcxx是一個(gè)1256k位的支持ic總線(xiàn)數(shù)據(jù)傳送協(xié)議的串行cmos eprom,可用電擦除,可編程自定義寫(xiě)周期(包括自動(dòng)擦除時(shí)間不超過(guò)10
26、ms,典型時(shí)間為5ms)的。串行eprom一般具有兩種寫(xiě)入方式:一種是字節(jié)寫(xiě)入方式,還有另一種頁(yè)寫(xiě)入方式。允許在一個(gè)寫(xiě)周期內(nèi)同時(shí)對(duì)1個(gè)字節(jié)到一頁(yè)的若干字節(jié)的編程寫(xiě)入,1頁(yè)的大小取決于芯片內(nèi)頁(yè)寄存器的大小。其中,cat24wc01具有8字節(jié)數(shù)據(jù)的頁(yè)面寫(xiě)能力,cat24wc02/04/08/16具有16字節(jié)數(shù)據(jù)的頁(yè)面寫(xiě)能力,cat24wc32/64具有32字節(jié)數(shù)據(jù)的頁(yè)面寫(xiě)能力,cat24wc128/256具有64字節(jié)數(shù)據(jù)的頁(yè)面寫(xiě)能力,cat24wcxx特性總結(jié)如表31-1所示:表31-1 cat24wcxx系列串行eprom特性一覽表特性型號(hào)容量(kb)頁(yè)寫(xiě)(byte)擴(kuò)展數(shù)量最大寫(xiě)周期(ms)e
27、sd最小值(v)編程/擦除周期(萬(wàn))保存數(shù)據(jù)(年)工作電壓(v)cat24wc011881020001001001.86.0cat24wc0221681020001001001.86.0cat24wc0441641020001001001.86.0cat24wc0881621020001001001.86.0cat24wc16161611020001001001.86.0cat24wc32323281020001001001.86.0cat24wc64643281020001001001.86.0cat24wc1281286411020001001001.86.0cat24wc25625664
28、41020001001001.86.0 cat24wcxx系列eprom提供標(biāo)準(zhǔn)的8腳表面安裝的soic封裝。cat24wc01/02/04/08/16/32/64、cat24wc128、cat24wc256管腳排列圖分別為如圖31-8(a)、(b)、(c)所示,其管腳功能描述如表31-2所示:圖 (31-8) cat24wxx系列串行eprom管腳排列圖scl:串行時(shí)鐘。這是一個(gè)輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。sda:串行數(shù)據(jù)/地址。這是一個(gè)雙向傳輸端,用于傳送地址和所有數(shù)據(jù)的發(fā)送和接收。它是一個(gè)漏極開(kāi)路端,因此要求接一個(gè)上拉電阻到vcc端(典型值為100khz是為10k,4
29、00khz是為1k)。對(duì)于一般的數(shù)據(jù)傳輸,僅在scl為低期間sda才允許變化。在scl為高期間變化,留給指示start(開(kāi)始)和stop(停止)條件。a0、a1、a2:器件地址輸入端。這些輸入端用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)為0(cat24wc01除外)。wp:寫(xiě)保護(hù)。如果wp管腳連接到vcc,所有的內(nèi)容都被寫(xiě)保護(hù)(只能讀)。當(dāng)wp管腳連接到vss或懸空。允許器件進(jìn)行正常的讀/寫(xiě)操作。主器件通過(guò)發(fā)送一個(gè)起始信號(hào)啟動(dòng)發(fā)送過(guò)程,然后發(fā)送它所要的尋址的從器件的地址。8位從器件地址的高4位d7d4固定為1010(如表31-3所示),接下來(lái)的3位d3d1(a2、a1、a0)為器件的片
30、選地址位或作為存儲(chǔ)器頁(yè)地址選擇位,用來(lái)定義哪個(gè)器件以及器件的哪個(gè)部分被主器件訪(fǎng)問(wèn),最多可以連接8個(gè)cat24wc01/02,4個(gè)cat24wc04,2個(gè)cat24wc08,8個(gè)cat24wc32/64,4個(gè)cat24wc156器件到同一總線(xiàn)上,這些位必須與硬件連線(xiàn)輸入腳a2、a1、a0相對(duì)應(yīng)。1個(gè)cat24wc16/128可單獨(dú)被系統(tǒng)尋址。從器件8位地址的最低位d0,作為讀寫(xiě)控制位。“1”表示對(duì)從器件進(jìn)行讀操作,“0”表示對(duì)從器件進(jìn)行寫(xiě)操作。在主器件發(fā)送起始信號(hào)和從器件地址字節(jié)后,cat24wcxx監(jiān)視總線(xiàn)并當(dāng)其地址與發(fā)送的從地址相符時(shí)響應(yīng)一個(gè)應(yīng)答信號(hào)(通過(guò)sda總線(xiàn))。cat24wcxx再根
31、據(jù)讀寫(xiě)控制位(r/w)的狀態(tài)進(jìn)行讀或?qū)懖僮?。?1-2中a0、a1、和a2對(duì)應(yīng)器件的管腳1、2和3,a8、a9、a10對(duì)應(yīng)為存儲(chǔ)陣列頁(yè)地址選擇位。表31-2 從器件地址型號(hào)控制碼片選讀/寫(xiě)總線(xiàn)訪(fǎng)問(wèn)的器件xat24wc011010a2 a1 a0i/o最多8個(gè)xat24wc021010a2 a1 a0i/o最多8個(gè)xat24wc041010a2 a1 a0i/o最多4個(gè)xat24wc081010a2 a1 a0i/o最多2個(gè)xat24wc161010a2 a1 a0i/o只有1個(gè)xat24wc321010a2 a1 a0i/o最多8個(gè)xat24wc641010a2 a1 a0i/o最多8個(gè)xat
32、24wc1281010x x xi/o只有1個(gè)xat24wc25610100 a1 a0i/o最多4個(gè)本系統(tǒng)中所用的串行eprom是xat24wc02,它是2568位cmos位器件,具有在線(xiàn)改寫(xiě)數(shù)據(jù)和自動(dòng)擦除功能,它同樣支持ic總線(xiàn)傳輸協(xié)議.基本原理圖如圖(31-9)所示,由于它的sda和scl分別通過(guò)線(xiàn)與p3.0、p3.1相連,因此它是字節(jié)方式的硬件ic總線(xiàn)。這樣由圖可知:a2a1a0=000,wp=0數(shù)據(jù)可讀可寫(xiě)(沒(méi)有被保護(hù)),且由數(shù)據(jù)手冊(cè)可知a7a6a5a4=1010。 圖 (31-9) cat24wc02硬件原理圖本系統(tǒng)中要求編寫(xiě)讀寫(xiě)eprom(24c02)程序,把寫(xiě)入到eprom中的
33、8個(gè)數(shù)據(jù)55、56,再讀出在數(shù)碼管上顯示1秒一個(gè)。三、 實(shí)驗(yàn)原理圖圖(31-10) 四、 實(shí)驗(yàn)程序框圖將發(fā)送的8個(gè)數(shù)字放入發(fā)送緩沖區(qū)mtd中開(kāi) 始將發(fā)送緩沖區(qū)的數(shù)據(jù)寫(xiě)入24c02的00開(kāi)始的地址延 時(shí)讀從00地址開(kāi)始的8個(gè)數(shù)據(jù)到接收緩沖區(qū)mrd將接收緩沖區(qū)的8個(gè)數(shù)據(jù)送7290顯示結(jié) 束圖(3111) 五、 實(shí)驗(yàn)步驟1、實(shí)驗(yàn)連線(xiàn) 串行eprom區(qū)sda_02連接p3.1,scl_02連接p3.0;串行區(qū)顯示接口的sda_04連接p3.1,scl_04連接p3.0,bit連數(shù)碼管顯示區(qū)的bit,code連到數(shù)碼管顯示區(qū)的code,p1.0接1hz的脈沖。2、調(diào)試運(yùn)行程序24c02.asm。 3、查
34、看運(yùn)行結(jié)果致。nc bit0-kbit4右邊上觀察數(shù)碼管上顯示的內(nèi)容與寫(xiě)入的內(nèi)容是否一致,應(yīng)依次顯示為24c02o5524c02o63。(二) ic智能卡讀寫(xiě)實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?1、熟悉ic卡(ic存儲(chǔ)卡的簡(jiǎn)稱(chēng))工作原理及ic總線(xiàn)結(jié)構(gòu)。2、利用單片機(jī)的i/o口線(xiàn)產(chǎn)生ic總線(xiàn)scl、sda。二、 實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)以at24c01卡為例,根據(jù)at24c01卡的讀寫(xiě)時(shí)序,編寫(xiě)讀寫(xiě)卡的程序,把寫(xiě)入ic卡的數(shù)據(jù)再讀到數(shù)碼管上顯示。三、 實(shí)驗(yàn)說(shuō)明 at24c01卡是一種e2rom存儲(chǔ)卡,容量為1288位,采用i2c總線(xiàn)結(jié)構(gòu),其卡的結(jié)構(gòu)與引腳排列如下:四、 實(shí)驗(yàn)原理圖圖(31-12)五、 實(shí)驗(yàn)步驟 1、實(shí)驗(yàn)連
35、線(xiàn) (1) ic卡接口區(qū)的ini插孔接p1.0,ini作為ic卡識(shí)別信號(hào),發(fā)光二極管ini作為ic卡插入指示燈,燈亮表示ic卡插入正確。 (2) ic卡接口區(qū)的wri插孔接p1.1,wri作為ic寫(xiě)信號(hào),發(fā)光二極管wri作為ic卡寫(xiě)信號(hào)指示燈,燈亮表示ic卡正在寫(xiě)。 (3) ic卡接口區(qū)的rdi插孔接p1.2,rdi作為ic讀信號(hào),發(fā)光二極管rdi作為ic卡讀信號(hào)指示燈,燈亮表示ic卡正在讀。(4) ic卡接口區(qū)的sda_01插孔接p3.1,ic卡區(qū)的scl_01插孔接p3.0。(5) 串行顯示接口區(qū)的sda_04連接p3.1,scl_04連接p3.0,bit連數(shù)碼管顯示區(qū)的bit,code連
36、到數(shù)碼管顯示區(qū)的code,p1.3接10hz脈沖。 2、調(diào)試運(yùn)行程序24c01.asm。 3、查看運(yùn)行結(jié)果 如果讀寫(xiě)正確,系統(tǒng)數(shù)碼管顯示“icoxxoxx”指示燈rdi、wri同時(shí)點(diǎn)亮,前面xx為地址,后面為數(shù)據(jù)。否則指示燈rdi、wri同時(shí)熄滅。 zlg7290鍵盤(pán)顯示芯片介紹 zlg7290是具有ic串行接口功能的可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管(或64只獨(dú)立led)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤(pán)矩陣,單片即可完成led顯示鍵盤(pán)接口的全部功能 。1、zlg7290芯片特點(diǎn)1、ic串行接口,提供鍵盤(pán)中斷信號(hào),方便與處理器接口。2、可驅(qū)動(dòng)8位共陰數(shù)碼管或64只獨(dú)立led和64
37、個(gè)按鍵。3、可控掃描位數(shù),可控任一數(shù)碼管閃爍。4、提供數(shù)據(jù)譯碼和循環(huán),移位、段尋址等控制。5、8個(gè)功能鍵,可檢測(cè)任一鍵的連擊次數(shù)。6、無(wú)需外接元件即直接驅(qū)動(dòng)led,可擴(kuò)展驅(qū)動(dòng)電流和驅(qū)動(dòng)電壓。7、提供工業(yè)器件,多種封裝形式pdip24,so24。2、引腳及說(shuō)明采用24引腳封裝,引腳圖如下圖所示。其引腳功能分述如下:圖(31-13) 引腳圖3、功能描述a、 鍵盤(pán)部分zlg7290可采樣64個(gè)按鍵或傳感器,可檢測(cè)每個(gè)按鍵的連擊次數(shù)。其基本功能如下: 鍵盤(pán)去抖動(dòng)處理當(dāng)鍵被按下和放開(kāi)時(shí),可能會(huì)出現(xiàn)電平狀態(tài)反復(fù)變化,稱(chēng)作鍵盤(pán)抖動(dòng)。若不作處理會(huì)引起按鍵命令錯(cuò)誤,所以要進(jìn)行去抖動(dòng)處理,以讀取穩(wěn)定的鍵盤(pán)狀態(tài)為準(zhǔn)
38、。 雙鍵互鎖處理當(dāng)有兩個(gè)以上按鍵同時(shí)按下時(shí),zlg7290只采樣優(yōu)先級(jí)高的按鍵(優(yōu)先順序?yàn)閟1s2s64,如同時(shí)按下s2和s18時(shí)采樣到s2). 連擊鍵處理當(dāng)某個(gè)按鍵按下時(shí),輸出一次鍵值后,如果該按鍵還未釋放,該鍵值連續(xù)有效,就像連續(xù)按壓該鍵一樣,這種功能稱(chēng)為連擊。連擊次數(shù)計(jì)數(shù)器(repeatcnt)可區(qū)別出單擊(某些功能不允許連擊,如開(kāi)/關(guān))或連擊。判斷連擊次數(shù)可以檢測(cè)被按時(shí)間,以防止某些功能誤操作(如連續(xù)按5秒進(jìn)入?yún)?shù)設(shè)置狀態(tài))。 功能鍵處理功能鍵能實(shí)現(xiàn)2個(gè)以上按鍵同時(shí)按下來(lái)擴(kuò)展按鍵數(shù)目或?qū)崿F(xiàn)特殊功能。如pc機(jī)上的“shift”、“”ctrl、“alt”鍵。典型應(yīng)用圖中的s57s64為功能
39、鍵。 圖 (31-14) 系統(tǒng)功能框圖即寄存器映象圖b、 顯示部分在每個(gè)顯示刷新周期,zlg7290按照掃描位數(shù)寄存器(scannum)指定的顯示位數(shù)n,把顯示緩存dpram0dpramn的內(nèi)容按先后順序送入led驅(qū)動(dòng)器實(shí)現(xiàn)動(dòng)態(tài)顯示,減少n值可提高每位顯示掃描時(shí)間的占空比,以提高led亮度,顯示緩存中的內(nèi)容不受影響。修改閃爍控制寄存器(flashonoff)可改變閃爍頻率和占空比(亮和滅的時(shí)間)。zlg7290提供兩種控制方式:寄存器映象控制和命令解釋控制,如上述對(duì)顯示部分的控制,寄存器映象控制是指直接訪(fǎng)問(wèn)底層寄存器,實(shí)現(xiàn)基本控制功能,這些寄存器須字節(jié)操作。命令解釋控制是指通過(guò)解釋命令緩沖區(qū)(
40、cmdbuf0cmdbuf1)中的指令,間接訪(fǎng)問(wèn)底層寄存器實(shí)現(xiàn)擴(kuò)展控制功能。如實(shí)現(xiàn)寄存器的位操作;對(duì)顯示緩存循環(huán)移位;對(duì)操作數(shù)譯碼等操作。4、 寄存器詳解a、 系統(tǒng)寄存器(systemreg):地址00h,復(fù)位值11110000b。系統(tǒng)寄存器保存zlg7290系統(tǒng)狀態(tài),并可對(duì)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行配置, 其功能分別描述如下:keyavi(sysemreg.0):置1時(shí)表示有效的按鍵動(dòng)作(普通鍵的單擊,連擊,和功能鍵狀態(tài)變化),/int引腳信號(hào)有效(變?yōu)榈碗娖剑?;?表示無(wú)按鍵動(dòng)作,/int引腳信號(hào)無(wú)效(變?yōu)楦咦钁B(tài))。有效的按鍵動(dòng)作消失后或讀key后 , keyavi位自動(dòng)清0。b、 鍵值寄存器(ke
41、y):地址01h,復(fù)位值00h,key表示被壓按鍵的鍵值。當(dāng)key=0時(shí),表示沒(méi)有鍵被按壓。c、連擊次數(shù)計(jì)數(shù)器(repeatcnt):地址02h,復(fù)位值00h,repeatcnt =0時(shí),表示單擊鍵。repeatcnt 大于0時(shí),表示鍵的連擊次數(shù)。用于區(qū)別出單擊鍵或連擊鍵,判斷連擊次數(shù)可以檢測(cè)按壓時(shí)間。d、功能鍵寄存器(functionkey):地址03h,復(fù)位值0ffh。functionkey 對(duì)應(yīng)位的值=0表示對(duì)應(yīng)功能鍵被按壓(functionkey.7functionkey.0對(duì)應(yīng)s64s57)。e、 命令緩沖區(qū)(cmdbuf0cmdbuf1):地址07h08h,復(fù)位值00h00h。用于
42、傳輸指令。f、 閃爍控制寄存器(flashonoff):地址0ch,復(fù)位值0111b0111b。高4位表示閃爍時(shí)亮的時(shí)間,低4位表示閃爍時(shí)滅的時(shí)間,改變其值同時(shí)也改變了閃爍頻率,也能改變亮和滅的占空比。flashonoff的1個(gè)單位相當(dāng)于150250ms(亮和滅的時(shí)間范圍為:116,0000b相當(dāng)于1個(gè)時(shí)間單位),所有象素的閃爍頻率和占空比相同。g、 掃描位數(shù)寄存器:(scannum):地址0dh,復(fù)位值7。用于控制最大的掃描位數(shù)可提高每位顯示掃描時(shí)間的占空比,以提高led亮度。不掃描顯示的顯示緩存寄存器則保持不變。如scannum =3時(shí),只顯示dpram0 dpram3的內(nèi)容。h、 顯示緩
43、存寄存器(dpram0 dpram7):地址10h 17h,復(fù)位值00h 00h。緩存中一位置1表示該像素亮,dpram07dpram0的顯示內(nèi)容對(duì)應(yīng)dig7dig0引腳。5、通信接口zlg7290的ic接口傳輸速率可達(dá)32kbit/s,容易與處理器接口。并提供鍵盤(pán)中斷信號(hào),提高主處理器時(shí)間效率。zlg7290的從地址(slave address)為70h(01110000b)。有效的按鍵動(dòng)作(普通鍵的單擊,連擊和功能鍵狀態(tài)變化),都會(huì)令系統(tǒng)寄存器( systemreg)的keyavi位置1,/int引腳信號(hào)有效(變?yōu)榈碗娖剑?。用?hù)的鍵盤(pán)處理程序可由/int引腳低電平中斷觸發(fā),以提高程序效率;
44、也可以不采樣/int引腳信號(hào)節(jié)省系統(tǒng)的i/o數(shù),而輪詢(xún)系統(tǒng)寄存器的keyavi位。要注意讀鍵值寄存器會(huì)令keyavi位清0,并會(huì)令/int引腳信號(hào)無(wú)效。為確保某個(gè)有效的按鍵動(dòng)作所有參數(shù)寄存器的同步性,建議利用ic通信的自動(dòng)增址功能連續(xù)讀repeatcnt ,functionkey 和key寄存器,但用戶(hù)無(wú)需太擔(dān)心寄存器的同步性問(wèn)題,因?yàn)殒I參數(shù)寄存器變化速度較緩慢(典型250 ms,最快9 ms)。zlg7290可通過(guò)ic總線(xiàn)訪(fǎng)問(wèn)的寄存器地址范圍為:00h17h,任一寄存器都可按字節(jié)直接讀寫(xiě),也可以通過(guò)命令接口間接讀寫(xiě)或按位讀寫(xiě),請(qǐng)參考指令詳解部分。支持自動(dòng)增址功能(訪(fǎng)問(wèn)一寄存器后,寄存器子地址
45、(sub address)自動(dòng)加一)和地址翻轉(zhuǎn)功能(訪(fǎng)問(wèn)最后一寄存器(子地址=17h)后,寄存器子地址翻轉(zhuǎn)為00h。zlg7290的控制和狀態(tài)查詢(xún)?nèi)慷际峭ㄟ^(guò)讀/寫(xiě)寄存器實(shí)現(xiàn)的,用戶(hù)只需象讀寫(xiě)24c02內(nèi)的單元一樣,即可實(shí)現(xiàn)對(duì)zlg7290的控制,關(guān)于ic總線(xiàn)訪(fǎng)問(wèn)的細(xì)節(jié)請(qǐng)參考ic總線(xiàn)規(guī)范。6、指令詳解zlg7290提供兩種控制方式:寄存器映象控制和命令解釋控制,寄存器映象控制是指直接訪(fǎng)問(wèn)底層寄存器(除通信緩沖區(qū)外的寄存器),實(shí)現(xiàn)基本控制功能,請(qǐng)參考寄存器詳解部分,命令解釋控制是通過(guò)解釋命令緩沖區(qū)(cmdbuf0cmdbuf1)中的指令,間接訪(fǎng)問(wèn)底層寄存器實(shí)現(xiàn)擴(kuò)展控制功能。如實(shí)現(xiàn)寄存器的位操作;
46、對(duì)顯示緩存循環(huán),移位;對(duì)操作數(shù)譯碼等操作。一個(gè)有效的指令由一字節(jié)操作碼和數(shù)個(gè)操作數(shù)組成,只有操作碼的指令稱(chēng)為純指令,帶操作數(shù)的指令稱(chēng)為復(fù)合指令。一個(gè)完整的指令須在一個(gè)ic幀中(起始信號(hào)和結(jié)束信號(hào)間)連續(xù)傳輸?shù)矫罹彌_區(qū)(cmdbuf0cmdbuf1)中,否則會(huì)引起錯(cuò)誤。 純指令a) 左移指令命令緩沖區(qū)bit7bit6bit5bit4bit3bit2bit1bit0cmdbuf0:0001n3n2n1n0該指令使與scannum 相應(yīng)的顯示數(shù)據(jù)和顯示屬性(閃爍)自右向左移動(dòng)n位(n3n0)+1)。移動(dòng)后,右邊n位無(wú)顯示,與scannum不相關(guān)的顯示數(shù)據(jù)和顯示屬性則不受影響。例:dprambdpram0=“87654321”其中“4”閃爍,scannum=5(“87”不顯示)。執(zhí)行指令00010001b后dprambdpram0=“4321”,“4”閃爍,高兩位和低兩位無(wú)顯示。b)右移指令通信緩沖區(qū)bit7bit6bit5bit4bit3bit2bit1b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黑龍江省單招職業(yè)傾向性測(cè)試題庫(kù)1套
- 第3單元第12課星期查詢(xún)-字符串函數(shù)和鍵盤(pán)輸入函數(shù)-教學(xué)設(shè)計(jì)2023-2024學(xué)年清華大學(xué)版(2012)初中信息技術(shù)九年級(jí)上冊(cè)
- 5-1《阿Q正傳(節(jié)選)》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè)
- 2024-2025學(xué)年人教版(2024)七年級(jí)英語(yǔ)上冊(cè)寒假教學(xué)設(shè)計(jì)day 5
- 2024中廣核環(huán)保產(chǎn)業(yè)有限公司招聘7人筆試參考題庫(kù)附帶答案詳解
- 第四章 第3節(jié) 平面鏡成像2024-2025學(xué)年新教材八年級(jí)上冊(cè)物理新教學(xué)設(shè)計(jì)(人教版2024)
- 粵教版高中信息技術(shù)必修一1.2.2 信息技術(shù)的應(yīng)用與影響 教學(xué)設(shè)計(jì)
- 2025年湖北省省直轄行政單位單招職業(yè)適應(yīng)性測(cè)試題庫(kù)完美版
- 第五單元課題2 化學(xué)方程式教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)上冊(cè)
- 2024下半年山東高速集團(tuán)有限公司校園招聘筆試參考題庫(kù)附帶答案詳解
- 成人重癥患者人工氣道濕化護(hù)理專(zhuān)家共識(shí)解讀教學(xué)課件
- 2024年湖北省中考語(yǔ)文真題(學(xué)生版+解析版)
- 起重作業(yè)安全教育培訓(xùn)
- 水果店入職培訓(xùn)
- DB15T3127-2023釀酒葡萄氣候品質(zhì)評(píng)價(jià)
- 一年級(jí)新生家長(zhǎng)會(huì)課件(共25張課件)
- 古詩(shī)詞誦讀《客至》課件+2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè)
- 2024年區(qū)塊鏈應(yīng)用操作員職業(yè)技能競(jìng)賽理論參考試題庫(kù)(含答案)
- 水泵房設(shè)備保養(yǎng)及維護(hù)實(shí)施方案
- (部編版)統(tǒng)編版小學(xué)語(yǔ)文教材目錄(一至六年級(jí)上冊(cè)下冊(cè)齊全)
- 食管縱隔瘺的護(hù)理
評(píng)論
0/150
提交評(píng)論