版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
0-11.單片機(jī)是把組成微型計算機(jī)的各功能部件即()、(CPUROM)、()、()、()及()RAM//I/O等部件集成在一塊芯片上的微型計算機(jī)。2.什么叫單片機(jī)?其主要特點有哪些?將微處理器(CPU)、存儲器(存放程序或數(shù)據(jù)的ROM和RAM)、總線、定時器/計數(shù)器、輸入輸出接口(I/O口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計機(jī),/稱為單片微型計算機(jī),簡稱單片機(jī)。單片機(jī)的特點:可靠性高、便于擴(kuò)展、控制功能強(qiáng)、具有豐富的控制指令、低電壓、低功耗、片內(nèi)存儲容量較小、集成度高、體積小、性價比高、應(yīng)用廣泛、易于產(chǎn)品化等。品化等。1MCS-5115.MCS-51系列單片機(jī)的引腳中有多少根線?它們與單片機(jī)對外的地址總線和數(shù)據(jù)總I/O線之有間什么關(guān)系?其地址總線和數(shù)據(jù)總線各有多少位?對外可尋址的地址空間有多大?MCS-51系列單片機(jī)有4個端口,每個端口都是8位雙向口,共占32根引腳。每個I/O端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸入驅(qū)動器和輸入緩沖器。通常把4個端口稱為P0~P3。在無片外擴(kuò)展的存儲器的系統(tǒng)中,這個端口的每一位都可以作為雙4向通用I/O端口使用。在具有片外擴(kuò)展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數(shù)據(jù)總線。MCS-51系列單片機(jī)數(shù)據(jù)總線為8位,地址總線為16位,對外可尋址空間為64KB。25.開機(jī)復(fù)位后,CPU使用的是哪組工作寄存器()?它們的地址是什么?CPU如何R-Rn0確定和改變當(dāng)前工作寄存器組()?R-Rn0開機(jī)復(fù)位后,CPU使用的是第0組工作寄存器。它們的地址是00H-07H。CPU通過對程序狀態(tài)字PSW中RS1和RS0的設(shè)置來確定和改變當(dāng)前工作寄存器組。27.MCS-51單片機(jī)的時鐘周期、機(jī)器周期、指令周期是如何定義的?當(dāng)主頻為12MHz的時候,一個機(jī)器周期是多長時間?執(zhí)行一條最長的指令需要多長時間?時鐘周期又稱為振蕩周期,由單片機(jī)內(nèi)部振蕩電路OSC產(chǎn)生,定義為OSC時鐘頻率的倒數(shù)。時鐘周期又稱為節(jié)拍(用P表示)。時鐘周期是時序中的最小單位。一個狀態(tài)有兩個節(jié)拍,機(jī)器周期定義為實現(xiàn)特定功能所需的時。間MCS-51的機(jī)器周期由12個時鐘周期構(gòu)成。執(zhí)行一條指令所需要的時稱間為指令周期,指令周期是時序中的最大單位。由于機(jī)器執(zhí)行不同指令所需的時間不同,因此不同指令所包含的機(jī)器周期數(shù)也不盡相同。MCS-51的指令可能包括~個不等的機(jī)器周期。14當(dāng)MCS-51的主頻為12MHz時,一個機(jī)器周期為1ms。執(zhí)行一條指令需要的最長時為間4ms。22MCS-514.7.A1031H30H1000HMOVCA,@A+PCA(1)MOVDPTR,#1234H3(2)MOVX,A@DPTR1(3)LJMPLOOP3(4)MOVR0,A1(5)AJMPLOOP2(6)MOV,A30H2(7)SJMPLOOP2(8)MOV,B#30H215SP=60H61H,62H,30H,31H,DPTRRAMSP30H=24H31H=10HPUSH30HPUSH31HPOPPOPMOV30H,#00HMOV31H,#0FFHDPLDPH結(jié)果為:61H、62H單元為堆棧單元,其內(nèi)容已被彈出棧。(30H)=00H(31H)=0FFH(DPTR)=2410H(SP)=60H171R1R0234RAM20HRAM20HRAM1000HR0RAM20HRAM20H5ROM2000H6ROM2000H7ROM2000HR0RAM20HRAM20H:(1)R1的內(nèi)容傳送到R0;MOVA,R1MOVR0,A(2)片外RAM20H單元內(nèi)容送R0;MOVR1,#20HMOVXA,@R1MOVR0,A(3)片外RAM20H單元的內(nèi)容送片內(nèi)RAM20H單元;MOVR0,#20HMOVXA,@R0MOV20H,A(4)片外RAM1000H單元的內(nèi)容送片內(nèi)RAM20H單元;MOVDPTR,#1000HMOVXA,@DPTRMOVA20H,(5)ROM2000H單元的內(nèi)容送R0單元;CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOVR0,A(6)ROM2000H單元的內(nèi)容送片內(nèi)RAM20H單元;CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOV20H,A(7)ROM2000H單元的內(nèi)容送片外RAM20H單元。CLRAMOVDPTR,#2000HMOVCA,@A+DPTRMOVR0,#20HMOVX@R0,A19RAM40H60HRAM3000HRAM0ORG0000HLJMPMAIN:ORG0030HMAIN:MOVSP,#60HMOVR7,#21HMOVR1,#40HMOVDPTR,#3000HLOOP:MOVA,@R1MOVX@DPTR,AMOV@R1,#00HINCR1INCDPTRDJNZR7,LOOPSJMP$END23100RAM2000HORG0000HLJMPMAINORG0030H:MAIN:MOVR2,#100MOVR3,#00HMOVR4,#00HMOVR5,#00HMOVDPTR,#2000HLOOP:MOVXA,@DPTRCJNEA,#00H,NET1INCR3SJMPNET3NET1:JBACC.7NET2INCR4SJMPNET3NET2:INCR5NET3:INCDPTRDJNZR2,LOOPSJMP$END24RAM2000H9FHASCIIA20A0H20A1HORG0000H:LJMPMAINORG0030HMAIN:MOVSP,#60HMOVDPTR,#2000HMOVR7,#9FHLP0:MOVXA,@DPTRCJNEA,#41H,LP1MOVMOVMOVR2,DPLR3,DPHDPTR,#20A0HMOVA,R2MOVX@DPTR,AINCDPTRMOVA,R3MOVX@DPTR,ASJMPLP2LP1:INCDPTRLP2:RETDJNZR7,LP0END另一種方法:ORG0000HLJMPSTARTORG0030HSTART:MOVR0,#9FHMOVDPTR,#2000HMOVR1,#00H;R1為DPTR地址的低八位LOOP:MOVXA,@DPTRCJNZA,#65,LOOP1MOVDPTR,#20A0HMOVA,R0MOVX,@DPTR,A;把字符‘A’的低八位地址放到20A0地址中INCDPTRMOVA,#20HMOVX@DPTR,A;把字符‘A’的高八位地址放到20A1地址中SJMP$LOOP1:INCR1INCDPTRDJNZRO,LOOPSJMP$END27RAM2400H2450H2500H2550HORGLJMP0000HMAINORG0030HMAIN:MOVR7,#51HMOVDPTR,#2400HLOOP:MOVXA,@DPTRMOVDPH,#25HMOVX@DPTR,AMOVDPH,#24HINCDPTRDJNZR7,LOOPSJMP$END另一種方法:ORG0000HMAINLJMPORG0030HMAIN:MOV30H,#24HMOVMOV31H,#00H32H,#25H33H,#00HR2,#51HMOVMOVLOOP:MOVMOVDPH,30HDPL,31HA,@DPTRMOVXMOVDPH,32HMOVDPL,33HMOVX@DPTR,AINCINC31H33HDJNZR2,LOOPSJMP$END6.設(shè)(TMOD)=0A5H,則定時器T0的狀態(tài)是(),定時器T1的狀態(tài)是(1)。或2設(shè)(TMOD)=0A5H,則定時器T0的狀態(tài)是(狀態(tài)是(),定時器T1的16)。827.請寫出INT1為低電平觸發(fā)的中斷系統(tǒng)初始化程序。INT1為低電平觸發(fā)的中斷系統(tǒng)初始化程序如下:ORG0000HLJMPMAINORG0013HLJMPINTN1ORG0100HMAIN:MOVSP,#60HSETBEASETBEX1;開INT1中斷CLRPX1;令I(lǐng)NT1為低優(yōu)先級CLRIT1;令I(lǐng)NT1為電平觸發(fā)SJMP$INTN1:……RETIEND用MOV指令實現(xiàn):MOVIE,#84HANLIP,#0FBH(或ORLIP,#04H)ANLTCON,#0FBH28.說明MCS-51單片機(jī)響應(yīng)中斷后,中斷服務(wù)的入口地址。:中斷服務(wù)程序的入口地址如下表:中斷源中斷矢量外部中斷0(INT0)定時器T0中斷0003H000BH0013H外部中斷1(INT1)定時器T1中斷串行口中斷001BH0023H36.使用一個定時器,如何通過軟硬結(jié)合方法實現(xiàn)較長時間的定時?:設(shè)定好定時器的定時時間,采用中斷方式用軟件進(jìn)行溢出次數(shù)累計,從而得到較長的定時時間,定時時間=定時器的定時時間×軟件累計的溢出次數(shù)。37.利用定時器輸出周期為2ms的方波,設(shè)單片機(jī)晶振頻率為6MHz。試編程實現(xiàn)之。選用定時器/計數(shù)器T0作定時器,工作在方式1,輸出為P1.0引腳,2ms的方波可由1ms的高低電平相間隔而成,因而只要每隔1ms對P1.0取反一次即可得到這個方波。TC=M-T/T0=2/2×10--1×10-=65536-500=65036=FE0CH1636初值的計算如下:T0=12/(6×10)=2×10-66S/0TC=M-T/T0=2/2×10--1×10-=8192-500=7692=1E0CH,1336則真正的16位計數(shù)初值為:F00CH(高8位,低5位)程序如下:ORG0000HLJMPT0INT;T0中斷入口START:MOVSP,#60H;初始化程序MOVTL0,#0CH;T0賦初值MOVTH0,MOVTMOD,#01H;定時器計數(shù)器0工作于方式1/SETBTR0;啟動T0SETBET0;開T0中斷SETBEA;開總允許中斷T0INT:PUSHACCPUSHPSWMOVTL0,MOVTH0,SETBTR0;啟動POPPSW#0FEHT0POPACCRETIEND當(dāng)采用查詢方式時:蘭色字部分應(yīng)該為:LP1:JBCTF0,LP2SJMPLP1LP2:CPLP1.0MOVTL0,#0CHMOVTH0,SETBTR0SJMPLP1END48.某異步通信接口按方式3傳送,已知其每分鐘傳送3600個字符,計算其傳送波特率。11(位)×3600(字符/分鐘)=39600b/分鐘=660b/s(方式3為每個字符11位)。49.利用8051串行口控制8位發(fā)光二極管工作,要求發(fā)光二極管每隔1s交替地亮、滅,畫出電路圖并編寫程序。程序如下:ORG0000HLJMPSTARTORG0030HSTART:MOVSCON,#00HMOVA,#0FFHCLRTILP1:MOVSBUF,AJNBTI,$CLRTIACALLDELAYCPLASJMPLP1DELAY:MOVR7,#8D1:MOVR6,#250;1s延時程序D2:MOVR5,#248D3:DJNZR5,D3NOPDJNZR6,D2DJNZR7,D1RETEND另一種方法:主程序框圖如下:開始串口初始化,F(xiàn)FH送SBUF設(shè)置標(biāo)志調(diào)延時子程序標(biāo)志位取反N標(biāo)志為零?YFFH送SBUF00H送SBUF程序如下:ORG0000HLJMPSTARTORG0030HSTART:MOVSCON,#00HMOVSBUF,#0FFHSETBCMOV00H,CAA:ACALLDELAYCPLMOVC,00HBB00HJCMOVSBUF,#00HSJMPCCBB:MOVSBUF,#0FFHCC:AJMPAA:MOVR7,#8;1s延時程序DELAYD1:MOVR6,#250D2:MOVR5,#248:DJNZR5,D3NOPDJNZR6,D2DJNZR7,D1RETENDD316MCS-51168程序存儲器和數(shù)據(jù)存儲器雖然共用16位地址線和8位數(shù)據(jù)線,但由于數(shù)據(jù)存儲器的讀RDWRPSEN和寫由和信號控制,而程序存儲器由讀選通信號控制,這些信號在邏輯上時序上不會產(chǎn)生沖突,并且,訪問二者的指令也不同。因此,兩者雖然共處于同一地址空間,但由于控制信號和訪問指令不同,所以不會發(fā)生總線沖突。1828KBEPROM28KBRAM硬件連接電路圖如圖4.18所示。各芯片的地址范圍為:2764(1#):0000H~1FFFH2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH6264(2#):6000H~7FFFH圖4.184.18題硬件連接電路圖218255AB7F00H7F03H8255AA01程序如下:ORG0000HLJMPSTARTORG0030HSTART:MOVSP,#60HMOVDPTR,#7F03HMOVA,#10010100BMOVX@DPTR,ASJMP$END258255A8155B41s8255A8155使用8255A,電路連接圖如圖4.25所示。圖4.254.25其中,PB0~PB3接紅色發(fā)光二極管,PB4~PB7接綠色發(fā)光二極管。設(shè)MCS-51單片機(jī)主頻為12MHz題硬件連接電路圖。程序如下:ORG0000HLJMPSTART0030HSTART:MOVSP,#60HMOVDPTR,#7FFFHORG;數(shù)據(jù)指針指向8255A控制口;工作方式字送8255A控制口MOVA,#80HMOVX@DPTR,AMOVDPTR,#7FFDH;數(shù)據(jù)指針指向8255A的B口置紅色發(fā)光二極管亮MOVA,#0FHLP1:MOVX@DPTR,A;置紅色發(fā)光二極管亮;LCALLDELAY;調(diào)用1S延時子程序CPLA置發(fā)光二極管亮反色;循環(huán)執(zhí)行SJMPLP1;DELAY:MOVR7,#8;1s延時子程序D1:MOVR6,#250D2:MOVR5,#248D3:NOPDJNZR5,D3DJNZR6,D2DJNZR7,D1RETEND采用定時器T0方式1中斷實現(xiàn)1s定時。1s=50ms×20次。T0方式1實現(xiàn)50ms定時,初值=216-50ms/1μs=15536=3CB0H16(1s=20ms×50次,初值=2-20ms/1μs=45536=B1E0H)ORG0000HLJMPSTART000BHLJMPTT0ORGORG0030HSTART:MOVSP,#60H數(shù)據(jù)指針指向;8255A控制口工作方式字送;8255A控制口MOVDPTR,#7FFFHMOVA,#80HMOVX@DPTR,AMOVDPTR,#7FFDH數(shù)據(jù)指針指向8255A的B口;置紅色發(fā)光二極管亮MOVA,#0FHMOVR2,A;置紅色發(fā)光二極管亮MOVX@DPTR,A;次數(shù)計數(shù)單元初值MOV30H,#00H;MOVTL0,#0B0H;T0賦初值MOVTH0,MOVTMOD,#01H定時器計數(shù)器0工作于方式1;啟動/SETBTR0SETBET0;T0開T0中斷;SETBEA開總允許中斷;LP1:SJMPLP1等待定時器中斷;TT0:PUSHACCPUSHPSWINC30HMOVA,30HCJNEA,#20,LP2MOVA,R2CPLAMOVR2,AMOVX@DPTR,AMOV30H,#00HLP2:MOVTL0,#0B0H;T0賦初值MOVTH0,#3CHPOPPSWPOPACCSETBTR0RETIEND26.簡述RS-232C,RS-422A及RS-485串行通信接口的特點,畫出在雙機(jī)通信情況下,3個串行通信接口的接口電路。RS-232C采取不平衡傳輸方式,是為點對點(即只用一對收、發(fā)設(shè)備)通信而設(shè)計的,采用負(fù)邏輯,其驅(qū)動器負(fù)載為3kW~7kW。由于RS-232C發(fā)送電平與接收電平的差僅為2~3V,所以其共模抑制能力差,再加上雙絞線上的分布電容,因此,RS-232C適用于傳送距離不大于15m,速度不高于20kb/s的本地設(shè)備之間通信的場合。RS-422由RS-232發(fā)展而來,RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mb/s,傳輸距離延長到1220m(速率低于100kb/s時),并允許在一平條衡總線上最多連接10個接收器。RS-422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡的通信總線標(biāo)準(zhǔn)。RS-485是在RS-422的基礎(chǔ)上制定的標(biāo)準(zhǔn),增加了多點、雙向通信能力,通常在要求通信距離為幾十米至上千米時,廣泛采用RS-485總線標(biāo)準(zhǔn)。它采用平衡發(fā)送和差分接收,即在發(fā)送端,驅(qū)動器將TTL電平信號轉(zhuǎn)換成差分信號輸出;在接收端,接收器將差分信號變成TTL電平。具有較高的靈敏度,能檢測低至200mV的電壓,具有抑制共模干擾的能力,數(shù)據(jù)傳輸可達(dá)千米以上。RS-232的雙機(jī)通信接口電路如圖4.26-1所示。圖4.26-14.26題硬件連接電路圖RS-422和RS-485的雙機(jī)通信接口電路如圖4.26-2所示。圖4.26-24.26題硬件連接電路圖31.何謂“看門狗”?它如何實現(xiàn)對系統(tǒng)程序的監(jiān)控?“看門狗(WDT)”,也稱為程序監(jiān)視定時器。WDT的作用是通過不斷監(jiān)視程序每周期的運行事件是否超過正常狀態(tài)下所需要的時間,從而判斷程序是否進(jìn)入了“死循環(huán)”,并對進(jìn)入“死循環(huán)”的程序作出系統(tǒng)復(fù)位處理。在程序中設(shè)置適當(dāng)?shù)闹噶睿?,清WDT,就可監(jiān)視微處理器的工作。例如在主程序開始時,將WDT置位,如果主程序執(zhí)行過程中產(chǎn)生死循環(huán),就無法清WDT,超過WDT間時,WDT就會對微處理器發(fā)出復(fù)位信號。從而實現(xiàn)對系統(tǒng)程序的監(jiān)控。的定時時232.說明ICI2C總線是由串行數(shù)據(jù)線SDA和串行時鐘線SCL構(gòu)成的,可發(fā)送和接收數(shù)據(jù)。它允許若干兼容器件共享總線。所有掛接在I2C總線上的器件和接口電路都應(yīng)具有C總線接口,總線的特點以及在單片機(jī)中實現(xiàn)該總線的方法。I2且所有的SDA/SCL同名端相連??偩€上所有器件要依靠SDA發(fā)送的地址信號尋址,不需要片選線。I2C總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本。總線的長度可高達(dá)7.6m,并且能夠以10kbps的最大傳輸速率支持40個組件。支持多主控器件,其中,任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主器件。主控能夠控制信號的傳輸和時鐘頻率。當(dāng)然,在某時刻只能有一個主控器件。在單片機(jī)控制系統(tǒng)中,廣泛使用IC器件。如果單片機(jī)自帶IC總線接口,則所有22IC222器件對應(yīng)連接到該總線上即可;若無總線接口,則可以使用I/O口模擬IC總線。IC使用單片機(jī)口模擬總線時,硬件連接非常簡單,I2CI/O只需兩條I/O口線即可,在軟件中分別定義成SCL和SDA。MCS-51單片機(jī)實現(xiàn)IC總線接口電路如圖4.32所2示。電路中單片機(jī)的P1.0引腳作為串行時鐘線SCL,P1.1引腳作為串行數(shù)據(jù)線SDA,通過程序模擬IC串行總線的2通信方式。I2C總線適用于通信速度要求不高而體積要求較高的應(yīng)用系統(tǒng)。圖4.324.32題硬件連接電路圖6.當(dāng)DAC0832D/A轉(zhuǎn)換器的CS接8031的P2.0時,程序中0832的地址指針DPDR器應(yīng)置為(D)。寄存D;以:;:上三種都可以A0832HBFE00HCFEF8H10D/AD/A轉(zhuǎn)換器的主要性能指標(biāo)有:(1)分辨率:單位數(shù)字量所對應(yīng)模擬量增量,即相鄰兩個二進(jìn)制碼對應(yīng)的輸出電壓之差稱為D/A轉(zhuǎn)換器的分辨率。它確定了D/A產(chǎn)生的最小模擬量變化,也可用最低位(LSB)表示。(2)精度:精度是指D/A轉(zhuǎn)換器的實際輸出與理論值之間的誤差,它是以滿量程VFS的百分?jǐn)?shù)或最低有效位(LSB)的分?jǐn)?shù)形式表示。(3)線性誤差:D/A轉(zhuǎn)換器的實際轉(zhuǎn)換特性(各數(shù)字輸入值所對應(yīng)的各模擬輸出值之間的連線)與理想的轉(zhuǎn)換特性(始、終點連線)之間是有偏差的,這個偏差就是D/A的線性誤差。即兩個相鄰的數(shù)字碼所對應(yīng)的模擬輸出值(之差)與一個LSB所對應(yīng)的模擬值之差。常以LSB的分?jǐn)?shù)形式表示。(4)轉(zhuǎn)換時間T(建立時間):從D/A轉(zhuǎn)換器輸入的數(shù)字量發(fā)生變化開始,到其輸出模S擬量達(dá)到相應(yīng)的穩(wěn)定值所需要的時間稱為轉(zhuǎn)換時間。228A/D05V對于8位A/D轉(zhuǎn)換器,實際滿量程電壓為5V,則其量化單位1LSB=5V/256=0.0196V,通常,A/D采用均勻量化,即每一量化層的輸出都取該量化層的中值。所以最大量化誤差為(1/2)LSB,即0.0098V。2380C5105VDAC0832DAC08327FFFH1:42.5V1.25V硬件電路連接圖如圖5.23所示。圖5.235.23題邏輯電路圖DAC0832的口地址為7FFFH。波形占空比為1:4,高電平波形時間低電平波形時間為/1/3。當(dāng)時,;時,D=40H。V=2.5VD=80HV=1.25VOO程序如下:ORGMAINORG0000HLJMP0030HMAIN:MOVSP,#60H,DPTR#7FFFHMOVMOVNEXT:,@DPTR,AA#80HMOVXACALLDELAYMOVR4,#03HA,#40H@DPTR,AMOVMOVXLOOP:ACALLDELAYDJNZAJMPDELAY:……RETR4,LOOPNEXTEND2480C51100ADC0809ADC08097FF8H7FFFH188RAM3000H硬件電路連接圖如圖5.24所示。圖5.245.24題邏輯電路圖設(shè)AT89S51的時鐘頻率為12MHz,程序如下:ORGLJMP0000HMAINORG001BHLJMPT1_1ORG0030HMOVSP,#60HMAIN:;設(shè)堆棧指針MOVR7,#100;置采集次數(shù)MOVR1,#30HMOVR0,#00H;片外RAM地址高位;片外RAM地址低位MOVR2,#20MOVR3,#60;置入初值20(計1s);置入初值60(計1min),;定時器T1工作于模式1MOVTOMD#10HMOVTH1,#3CH;計數(shù)器定時50ms的初值MOVTL1,#0B0HSETBEASETBET1;定時器;開中斷T1允許中斷;啟動定時器T1;等待中斷SETBTR1LOOP:SJMPLOOPDJNZR7,LOOP;是否到100次?SJMP$ORG0100HT1_1:MOVTH1,#3CHMOVTL1,#0B0H;中斷服務(wù)程序,重新賦計數(shù)器初值SETBTR1DJNZR2,RETI_0;1s未到,返回MOVR2,#20;重新置“1s”計數(shù)器初值DJNZR3,RETI_0;1min未到,返回MOVR3,#60;重新置“1min”計數(shù)器初值MOVR6,#8;8個通道計數(shù)器初值MOVDPTR,#7FF8H;IN0地址LOOP1:MOVX@DPTR,A;啟動A/D轉(zhuǎn)換JBP3.2,$;判轉(zhuǎn)換是否結(jié)束MOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果PUSHDPHPUSHDPL;將通道地址壓入堆棧MOVDPH,R1;將片外RAM地址送DPTRMOVDPL,R0MOVX@DPTR,A;將轉(zhuǎn)換結(jié)果存入片外RAMINCDPTR;片外RAM地址加1MOVR1,DPH;保存片外RAM地址MOVR0,DPL;恢復(fù)通道地址POPDPLPOPDPH;通道地址加1INCDPTRDJNZR6,LOOP1;8個通道是否采集結(jié)束RETI_0:RETI;中斷返回END采集8路數(shù)據(jù)一次的程序:ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#60H;設(shè)堆棧指針MOVR1,#30H;片外RAM地址高位MOVR0,#00H;片外RAM地址低位MOVR6,#8;8個通道計數(shù)器初值MOVDPTR,#7FF8H;IN0地址LOOP1:MOVX@DPTR,A;啟動A/D轉(zhuǎn)換JNBP10,$;判轉(zhuǎn)換是否結(jié)束MOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果PUSHDPHPUSHDPL;將通道地址壓入堆棧MOVDPH,R1;將片外RAM地址送DPTRMOVDPL,R0MOVX@DPTR,A;將轉(zhuǎn)換結(jié)果存入片外RAMINCDPTR;片外RAM地址增1MOVR1,DPH;保存片外RAM地址MOVR0,DPLPOPDPL;恢復(fù)通道地址POPDPHINCDPTRDJNZR6,LOOP1SJMP;8個通道是否采集結(jié)束$END9LED(1)靜態(tài)顯示方式:靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時,發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個8位的輸出口進(jìn)行控制。由于單片機(jī)本身提供的I/O口有限,實際使用中,通常通過擴(kuò)展I/O口的形式解決輸出口數(shù)量不足的問題。靜態(tài)顯示主要的優(yōu)點是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度大,系統(tǒng)運行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了CPU的工作效率。其不足之處是占用硬件資源較多,每個LED數(shù)碼管需要獨占8條輸出線。隨著顯示器位數(shù)的增加,需要的I/O口線也將增加。(2)動態(tài)顯示方式:動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器(稱為掃描),即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對位選選中的數(shù)碼管有。效對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。通過調(diào)整電流和時間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則顯示器的公共端只需一個8位I/O口進(jìn)行動態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。13805184LED硬件電路連接圖如圖6.13所示。圖6.136.13題LED顯示器/鍵盤電路圖×381574LS164P1.0P1.2硬件連接電路圖如圖6.15所示。圖6.156.15程序如下:題擴(kuò)展鍵盤電路圖ORG1000HMOVSCON,#00H;設(shè)置串行口SERKEY:MOVA,#00H;鍵盤初始化,送00H到列線上LCALLVARTO;發(fā)送數(shù)據(jù)CHK:JNBP1.0,CHK0;檢查是否有鍵按下檢查是否有鍵按下;P1.1,CHK0JNBJNB檢查是否有鍵按下P1.2,CHK0;;無鍵按下,繼續(xù)查找調(diào)用10ms延時子程序,去抖;;確實有鍵按下,轉(zhuǎn)CHENAJMPCHKCHK0:LCALLDLY1JNBP1.0,CHENJNBP1.1,CHENJNBP12,CHENAJMPCHKCHEN:MOVR2,#0FEH;無鍵按下,繼續(xù)查找;首列掃描字送R2,查鍵號,最低位為0MOVR4,#00H;首列偏移值送R4CHKN:MOVA,R2發(fā)送列掃描字;LCALLJBMOVA,#0AJMPCKEYVARTO;檢查P1.0有無鍵按下;若無,轉(zhuǎn)CH1;第一行首列值送A,00H+(R4);轉(zhuǎn)求鍵號P1.0,CH1JBP1.1,CH2檢查P1.1有無鍵按下;若無,轉(zhuǎn)NEXTCH1:CH2:;MOVA,#8第二行首列值送;A檢查P1.1有無鍵按下;若無,轉(zhuǎn)NEXT;JBP1.1,NEXTMOVA,#16第三行首列值送;AJMPCKEY轉(zhuǎn)求鍵號A;CKEY:ADDA,R4求鍵號,并入棧保護(hù);RETNEXT:INCR4指向下一列;MOVA,R2取出原掃描字;JNBACC.7,KEND;是否已檢查完8列?RLA;8列未完,指向下一列MOVR2,A列掃描字送;R2AJMPCHKNKEND:AJMPSERKEYVARTO:MOVSBUF,A;8列未完,檢查下一列;8列查完,未查到有鍵按下,等待;發(fā)送A中數(shù)據(jù)JNBTI,$;發(fā)送等待CLRTI;清除RETDLY1:……END;延時10ms子程序(略);結(jié)束×28168LED硬件連接電路圖如圖6.16所示。圖6.166.16題擴(kuò)展鍵盤顯示器電路圖程序如下:ORG1000HKD1:MOVA,#00000011B;8155初始化,PA,PB基本輸出方式,PC輸入方式MOVDPTR,#7F00HMOVX@DPTR,AKEY1:ACALLKS1;調(diào)用判斷是否有鍵閉合子程序;有鍵閉合轉(zhuǎn)LK1JNZLK1ACALLDSP8155;調(diào)用8155動態(tài)顯示子程序,延時6msAJMPKEY1LK1:LK2:ACALLACALLACALLDSP8155DSP8155KS1;調(diào)用兩次顯示,延時12msJNZLK2ACALL
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬瘟應(yīng)急實施預(yù)案(3篇)
- 蓋瓦施工方案文案(3篇)
- 空調(diào)施工方案編制(3篇)
- 籃球節(jié)活動策劃方案(3篇)
- 維修鐵門施工方案(3篇)
- 耦合裝置施工方案(3篇)
- 花園水管施工方案(3篇)
- 行走塔吊施工方案(3篇)
- 設(shè)計庭院施工方案(3篇)
- 趣味采茶活動策劃方案(3篇)
- 物業(yè)公司快遞柜合作協(xié)議書范本
- 四人合伙協(xié)議書
- 植樹問題52道應(yīng)用練習(xí)題(帶答案)
- 【八年級下冊數(shù)學(xué)北師大版】第三章 圖形的平移與旋轉(zhuǎn)(9類壓軸題專練)
- 中建項目安全總監(jiān)競聘
- 中建給排水施工方案EPC項目
- 公司股權(quán)分配方案模板
- 電氣工程及自動化基于PLC的皮帶集中控制系統(tǒng)設(shè)計
- 舊設(shè)備拆除方案
- 醫(yī)學(xué)教材 常見輸液反應(yīng)的處理(急性肺水腫)
- 分子對稱性和點群
評論
0/150
提交評論