




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理課程設(shè)計(jì)一、數(shù)據(jù)采集系統(tǒng)綜合設(shè)計(jì)實(shí)驗(yàn)設(shè)計(jì)任務(wù):二、芯片介紹1.定時(shí)/計(jì)數(shù)器芯片Intel8253(略)網(wǎng)上找2.8259中斷控制器(略)(1)初始化字:3.A/D轉(zhuǎn)換器集成芯片ADC0809(略)三、序模塊的設(shè)計(jì)及其詳細(xì)說(shuō)明如下1.預(yù)定義部分DATASEGMENTLED_DATA1DB?LED_DATA2DB?LEDDB3FH,06H,5BH,4FH,66H,6DH,07H,7FH,6FH,77HDB7CH,39H,5EH,79H,71H;共陰數(shù)碼管的段碼表DATAENDSCODESSEGMENTASSUMECS:CODES,DS:DATA,SS:SSEGMAIN:MOVAX,DATAMOVDS,AXMOVAX,CODESMOVSS,AXACALLSET_8253;調(diào)8253計(jì)數(shù)器設(shè)置子程序ACALLSET_8259;調(diào)中斷控制器8259設(shè)置子程序2.用8253產(chǎn)生1S的定時(shí)脈沖每隔一秒產(chǎn)生一個(gè)脈沖,該脈沖由OUT0輸出。設(shè)系統(tǒng)時(shí)鐘周期為0.5us,先用定時(shí)器1產(chǎn)生周期為1ms的方波,再將計(jì)數(shù)器1的OUT1接到定時(shí)器0的CLK0,讓計(jì)數(shù)器0對(duì)OUT1計(jì)數(shù),并每計(jì)數(shù)1000次輸出一個(gè)脈沖,便得到每隔1S對(duì)8259提出一次中斷請(qǐng)求??芍河?jì)數(shù)器1工作于方式31ms/0.5ms=2000即為計(jì)數(shù)器1的初值,由于初值大于256,送控制字時(shí),應(yīng)使賦值方式選擇為先低8位,后高8位。計(jì)數(shù)器0工作于方式2,初值1000,同樣,賦值方式為先地位、后高位。設(shè)8253占用的設(shè)備端口地址為0FF40H-0FF43H,計(jì)數(shù)器0的地址為:0FF40H,計(jì)數(shù)器1的地址為:0FF41H,控制寄存器的地址為:0FF43H.程序如下:SET_8253PROCMOVDX,0FF43HMOVAL,01110110B;計(jì)數(shù)器1,方式3,先送低8位、后送高8位,二進(jìn)制OUTDX,MOVAL,00110100B;計(jì)數(shù)器0,方式2,先送低8位、后送高8位,二進(jìn)制OUTDXMOVDX,0FF41H;計(jì)數(shù)器1的地址MOVAX,2000;計(jì)數(shù)器1的初值OUTDXMOVAL,AHOUTDX,AL;由于輸出數(shù)據(jù)用的中間寄存器必須為ALMOVDX,0FF40H;計(jì)數(shù)器0占用設(shè)備的端口地址MOVAX,1000;計(jì)數(shù)器零的初值OUTDXMOVAL,AHOUTDXRETSET_8253ENDP3.8259中斷處理將計(jì)數(shù)器0的OUT0接到8259的IR0端,以8253的OUT0作為中斷源產(chǎn)生中斷請(qǐng)求,中斷類(lèi)型號(hào)為08H,設(shè)置IR0的處罰方式為上升沿觸發(fā)設(shè)置中斷向量SET_8259:PUSHDS ;保存當(dāng)前段地址LEADX,INTR ; 取中斷處理程序的偏移地址MOVAX,SEGINTR ;取中斷處理程序的段地址MOVDS,AXMOVAL,08H ;送中斷類(lèi)型號(hào)MOVAH,25H ;用25H功能號(hào)設(shè)置中斷向量INT21H ;調(diào)用DOS功能POPDS ;回復(fù)當(dāng)前段地址8259初始化:設(shè)端口地址20H、21H,中斷類(lèi)型碼為:08H-0FH,I/O地址為奇數(shù)(A0=1)時(shí),則寫(xiě)(ICW2、ICW3、ICW4和OCW1),地址為偶數(shù)時(shí),寫(xiě)(ICW2、ICW3)MOVAL,13H;OUT20HJMPINT1INT1: MOVAL,08H; OUT21HJMPINT2INT2: MOVAL,00H; OUT21H,AL RET4.ADC0809中斷服務(wù)程序設(shè)8088和ADC0809之間用一片8255用于擴(kuò)展I/O口,設(shè)該片8255的地址為0378H-037BH,A、B、C三個(gè)端口均工作在方式0,A口為轉(zhuǎn)換結(jié)果的輸入,B口輸出通道地址,發(fā)出地址所存信號(hào)和啟動(dòng)轉(zhuǎn)換,C口低四位用于讀取EOC的狀態(tài)。SET_8255PROCNEAR;定義8255設(shè)置的子程序 MOVDX,037BH MOV AL,91H OUTDX RETSET_8255ENDP;過(guò)程結(jié)束INTR:CALLSET_8255 MOVBL,0CHG:MOVAL,BLMOVDX,0379HOUTDXORAL,10HOUTDX,AL;送ALE一個(gè)上升沿信號(hào),將端口選擇信號(hào)鎖存ANDAL,0EFHOUTDX,AL;送START一個(gè)下降沿信號(hào),啟動(dòng)轉(zhuǎn)換NOPMOVDX,037AH;送C口地址LOOP: INAL,DX; ANDAL,02H JZLOOP;還未轉(zhuǎn)換結(jié)束,則等待 MOVDX,0379H ORAL,20H OUTDX,AL;輸出讀出允許信號(hào),即:使OE=1 MOVDX,0378H;8255A口地址送DX INAL,DXMOVDATA,AL;將轉(zhuǎn)換結(jié)果送DATA暫存下來(lái)ACALLT_LED;調(diào)用LED顯示轉(zhuǎn)換結(jié)果子程序ACALLT_SMG;調(diào)用數(shù)碼管顯示轉(zhuǎn)換結(jié)果的十六進(jìn)制形式RETI5.另用一片8255顯示二進(jìn)制結(jié)果,選用8255的A口用作輸出控制字為80H,假設(shè)該片8255的地址范圍為:0FF00H-0FF03H,則將A/D轉(zhuǎn)換結(jié)果送發(fā)光二極管顯示二進(jìn)制數(shù)的程序如下:T_LEDPROC MOVDX,0FF03H MOVAL,80H; OUTDX, MOVDX,0FF00H;將8255A口地址送數(shù)據(jù)寄存器DX MOVAL,DATA;取轉(zhuǎn)換結(jié)果 OUTDX RETT_LEDENDP6.送8279顯示兩位十六進(jìn)制數(shù)T_SMGPROC MOVAL,DATAMOVBL,16DIVBL;轉(zhuǎn)換結(jié)果的十六進(jìn)制數(shù)形式的高位放AL,低位放AHLEABX,LED;送段碼偏移地址,待查的數(shù)值已在AL(高位)中XLAT;查表,查出來(lái)的段碼值放在AL中MOVLED_DATA1,AL;暫存低位對(duì)應(yīng)段碼MOVAL,AHXLAT;查高位對(duì)應(yīng)的段碼MOVLED_DATA2,AL;暫存高位對(duì)應(yīng)段碼ACALLT_SMGXS;調(diào)8279數(shù)碼管顯示子程序RETT_SMGENDP7.8279顯示兩位十六進(jìn)制數(shù)8279芯片是一種通用的可編程鍵盤(pán)和顯示接口器件。設(shè)8088的地址線A15接8279的作片選,A0接8279的A0作命令和數(shù)據(jù)的選擇,設(shè)系統(tǒng)時(shí)鐘頻率為1MHZ,命令口的地址:7FFFH,狀態(tài)口地址為:7FFEHT_SMGXSPROC MOVDX,7FFFH ;指向命令狀態(tài)口地址,=0,A0=1 MOVAL,0D1H ;清除命令 OUTDX,AL ;命令字送入WAIT: INAL,DX ;讀入狀態(tài)字 ANDAL,80H ;判斷最高位DU(清除命令執(zhí)行狀態(tài)標(biāo)志)的狀態(tài) JNZWAIT ;若DU=1,表明命令正在執(zhí)行 MOVAL,2AH ;送分頻系數(shù) OUTDX MOVAL,90H ;寫(xiě)顯示RAM命令,AI=1,地址自動(dòng)增加,初始地址為0 OUTDXLEABX,LED ;將數(shù)碼管段碼存放位置的偏移地址送BX MOVAL,LED_DATA1 ;將轉(zhuǎn)換后的十六進(jìn)制形式結(jié)果的高位送ALXLAT ;執(zhí)行查表 OUTDX,AL ;送出查得結(jié)果 MOVAL,LED_DATA2 ;將轉(zhuǎn)換后的十六進(jìn)制形式結(jié)果的低位送AL XLAT ;查表,得出低位數(shù)值對(duì)應(yīng)的段碼 OUTDX,AL ;將低位數(shù)值對(duì)應(yīng)段碼送到數(shù)碼管 RETT_SMGXSENDP ;說(shuō)明:雖然每次向8279送段碼時(shí)地址都會(huì)自動(dòng)增加,但由于每次調(diào)用送段碼子程序送段碼之時(shí),都會(huì)執(zhí)行MOVAL,90H,OUTDX,AL,指令,即:每次都對(duì)送入的地址進(jìn)行初始化,也就是說(shuō),每次送的段碼和數(shù)碼管始終是對(duì)應(yīng)的。二、簡(jiǎn)易波形發(fā)生器設(shè)計(jì)設(shè)計(jì)任務(wù)(1)利用8279為鍵盤(pán)、顯示核心構(gòu)成人機(jī)接口,設(shè)計(jì)一個(gè)簡(jiǎn)單的波形發(fā)生器,該波形發(fā)生器可以輸出三角波、鋸齒波、方波、矩形波、階梯波和正弦波。(2)各種波形參數(shù),例如:波形類(lèi)別、頻率、振幅(小于5V)、矩形波的占空比、鋸齒波正向斜坡持續(xù)時(shí)間、階梯波每個(gè)階梯的持續(xù)時(shí)間等均需要用戶從鍵盤(pán)輸入,規(guī)定如下:A鍵:設(shè)置波形類(lèi)型,其中:1鍵代表三角波,2鍵代表鋸齒波,3鍵代表方波,4鍵代表矩形波,5鍵代表階梯波,6鍵代表正弦波B鍵:設(shè)置波形頻率,單位HzC鍵:設(shè)置波形幅度,單位mVD鍵:設(shè)置矩形波的占空比(百分比的分子)E鍵:設(shè)置鋸齒波正向斜坡持續(xù)時(shí)間與周期之比(百分比的分子)F鍵:設(shè)置階梯波每個(gè)階梯的持續(xù)時(shí)間與周期之比(百分比的分子)G鍵:確認(rèn)參數(shù)更新,使系統(tǒng)按最新設(shè)置的參數(shù)產(chǎn)生波形H鍵:終止程序(3)利用用戶輸入的參數(shù)控制DAC0832輸出符合要求的波形,變換后的波形接到示波器上顯示出來(lái)(4)按鍵的檢測(cè)程序要求消抖功能設(shè):命令口地址為7FFFH,數(shù)據(jù)口地址為7FFEH,系統(tǒng)時(shí)鐘頻率為1MHZ程序設(shè)計(jì)如下:預(yù)定義部分DATASEGMENTFRGDB? ;波形頻率AMPDB? ;波形幅值ZKBDB? ;波形占空比JCBDB? ;鋸齒波正向斜坡持續(xù)時(shí)間與周期之比JTBDB? ;階梯波正向斜坡持續(xù)時(shí)間與周期之比TIME1DW?;暫存用于延時(shí)時(shí)間控制的數(shù)值,為一個(gè)字節(jié)的長(zhǎng)度,用于上升部分TIME2DW?;暫存用于延時(shí)時(shí)間控制的數(shù)值,為一個(gè)字節(jié)的長(zhǎng)度,用于下降部分BTYPEDB? ;波形類(lèi)型號(hào)DADB? ;暫存輸入幅值對(duì)應(yīng)的DAC0832輸入的數(shù)字量,參考電壓為5VDATAENDSCODESSEGMENTASSUMECS:CODES,DS:DATA,SS:SSEGMAIN:MOVAX,DATAMOVDS,AXMOVAX,CODESMOVSS,AX MOVDX,7FFFH ;指向命令口 MOVAL,0D1H ;清除命令 OUTDXLOOP1: INAL,DX ;讀入狀態(tài)字 ANDAL,80H CMPAL,80H ;清除等待 JELOOP1 ;若清除命令正在執(zhí)行則等待 MOVAL,00H ;鍵盤(pán)、顯示命令,編碼掃描鍵盤(pán),雙鍵鎖定 OUTDX MOVAL,2AH ;時(shí)鐘十分頻 OUTDXLOOP2: INAL,DX ;讀入8279中鍵入數(shù)據(jù)情況 ANDAL,0FH ;只取狀態(tài)字低4位,D0D1D2為鍵所在的行號(hào),若有鍵按下,則行號(hào)不為零 JZLOOP2 ;若無(wú)鍵按下時(shí)等待 INAL,DX ;命令讀入 ANDAL,0FH ;消抖 JZLOOP2 MOVAL,40H ;鍵盤(pán)掃描方式時(shí),讀取數(shù)據(jù)按先進(jìn)先出原則讀出,與D0-D3無(wú)關(guān),該命令字的低四位可為任意值,此時(shí)讀RAM命令字可設(shè)為40H OUTDX,AL ;命令送入 MOVDX,7FFEH ;指向數(shù)據(jù)口地址 INAL,DX ;讀入鍵值 ANDAL,3FH ;鍵值情況狀態(tài)的CNTL、SHIFT沒(méi)用到,屏蔽這兩位 MOVBL,08H DIVBL ;行號(hào)放AH、列號(hào)放AL MOVBH,AL ;暫存列號(hào) MOVAL,AH MULBL ADDAL,BL ;得鍵碼 CMPAL,OAH JEKEY_A AJMPTEST1TEST1: CMPAL,0BH JEKEY_B AJMPTEST2TEST2: CMPAL,0CH JEKEY_C AJMPTEST3TEST3: CMPAL,0DH JEKEY_D AJMPTEST4TEST4: CMPAL,0EH JEKEY_E AJMPTEST5TEST5: CMPAL,0FH JEKEY_F AJMPTEST6TEST6: CMPAL,10H JEKEY_G AJMPTEST7TEST7: CMPAL,11H JEKEY_H AJMPLOOP2 ;第一個(gè)鍵值必須在A-H范圍之內(nèi),若第一個(gè)鍵不在A-H范圍內(nèi),則重讀鍵值;為后面再次查詢鍵值編寫(xiě)一個(gè)鍵值查詢子程序K_SCANPROC INAL,DX ANDAL,0FH JZK_SCAN MOVAL,40H OUTDX MOVDX,7FFEH INAL,DX ANDAL,3FH MOVBL,08H DIVBL MOVBH,AL MOVAL,AH MULBL ;鍵號(hào)暫存于AL RETK_SCANENDP下面編寫(xiě)第一次按下的鍵在A-H之間時(shí)的處理程序KEY_A: ;用于獲取設(shè)置波形用的鍵號(hào) ACALLK_SCAN MOVBTYPE,AL ;將波形類(lèi)型號(hào)送BTYPE AJMPLOOP2;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_B: ACALLK_SCAN;掃描頻率值的十位 MOVCH,AL CALLK_SCAN ;掃描頻率的個(gè)位 MOVCL,AL MOVBL,0AH MOVAL,CH MULBL ADDAL,CL MOVFRQ AJMPLOOP2 ;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_C: ;掃描幅值 CALLK_SCAN MOVAMP,AL AJMPLOOP2;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_D: ACALLK_SCAN;掃描矩形波占空比的十位 MOVCH,AL CALLK_SCAN ;掃描矩形波占空比的個(gè)位 MOVCL,AL MOVBL,0AH MOVAL,CH MULBL ADDAL,CL MOVZKB,AL ;矩形波的占空比暫存 AJMPLOOP2;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_E: ACALLK_SCAN;掃描鋸齒波正向斜坡持續(xù)時(shí)間與周期之比的十位 MOVCH,AL CALLK_SCAN ;掃描鋸齒波正向斜坡持續(xù)時(shí)間與周期之比的個(gè)位 MOVCL,AL MOVBL,0AH MOVAL,CH MULBL ADDAL,CL MOVJCB,AL ;鋸齒波正向斜坡持續(xù)時(shí)間與周期之比暫存 AJMPLOOP2;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_F: ACALLK_SCAN;掃描階梯波每個(gè)階梯持續(xù)時(shí)間與周期之比的十位 MOVCH,AL CALLK_SCAN ;掃描階梯波每個(gè)階梯持續(xù)時(shí)間與周期之比的個(gè)位 MOVCL,AL MOVBL,0AH MOVAL,CH MULBL ADDAL,CL MOVJTB,AL ;階梯波每個(gè)階梯持續(xù)時(shí)間與周期之比暫存 AJMPLOOP2;返回繼續(xù)讀取波形參數(shù)設(shè)置功能號(hào)KEY_G: CMPBTYPE,01H;判斷設(shè)置的波形類(lèi)型是否為三角波 JEXS_SJB ;若是則轉(zhuǎn)三角波顯示子程序 JMPBX_LX1BX_LX1: CMPBTYPE,02H;判斷設(shè)置的波形類(lèi)型是否為鋸齒波 JEXS_JCB ;若是則轉(zhuǎn)鋸齒波顯示子程序 JMPBX_LX2BX_LX2: CMPBTYPE,03H;判斷設(shè)置的波形類(lèi)型是否為方波 JEXS_FB ;若是則轉(zhuǎn)方波顯示子程序 JMPBX_LX3BX_LX3: CMPBTYPE,04H;判斷設(shè)置的波形類(lèi)型是否為矩形波 JEXS_JXB ;若是則轉(zhuǎn)矩形波顯示子程序 JMPBX_LX4BX_LX4: CMPBTYPE,05H;判斷設(shè)置的波形類(lèi)型是否為階梯波 JEXS_JTB ;若是則轉(zhuǎn)階梯波顯示子程序 JMPBX_LX5BX_LX5: CMPBTYPE,05H;判斷設(shè)置的波形類(lèi)型是否為正弦波 JEXS_ZXB ;若是則轉(zhuǎn)正弦波顯示子程序KEY_H: HLT;程序結(jié)束設(shè)DAC0832工作在單緩沖方式,端口地址為0278H。電壓為5V時(shí)對(duì)應(yīng)的輸入數(shù)字量為255,則對(duì)于任一電壓值A(chǔ)MP,其相應(yīng)的輸出數(shù)字量計(jì)算公式:。對(duì)于輸出頻率的控制,采用對(duì)輸出數(shù)字量改變一個(gè)單位之后的延時(shí)子程序的延時(shí)時(shí)間來(lái)決定。下面編寫(xiě)產(chǎn)生不同波形的程序:三角波:三角波每一階梯的延時(shí)時(shí)間delay與幅值、頻率的關(guān)系式如下:,設(shè)系統(tǒng)的機(jī)器周期為1us,則delay的最小值為1us,由上述表達(dá)式知,當(dāng)波形幅值為1v時(shí),波形最大頻率為:9804XS_SJB: ;按設(shè)置顯示三角波子程序 MOVDX,0278H;送DAC0832的地址 MOVAX,AMP MOVBX,FRQ MULBX ;由上述推導(dǎo)已知FRQ的最大值為9804,而波形幅值最大為5V,可知二者相乘之積不會(huì)超過(guò)65536,即DX中的值為零,結(jié)果只在AX中 MOVTIME,AX ;暫存延時(shí)程序參數(shù) MOVAL,51 ;由輸入的波形幅值(單位V)計(jì)算對(duì)應(yīng)折算后的0832的輸入數(shù)字量的最大值 MOVBL,AMP MULBL MOVDA,AL ;暫存0832的輸入數(shù)字量的最大值SJB: MOVAL,0NEXT1: INCAL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽車(chē)后市場(chǎng)行業(yè)當(dāng)前發(fā)展現(xiàn)狀及增長(zhǎng)策略研究報(bào)告
- 收拾房間家務(wù)課件
- 2025年一級(jí)建造師之一建民航機(jī)場(chǎng)工程實(shí)務(wù)模擬題庫(kù)及答案
- 2024年藥用植物功能物質(zhì)與生物合成研究團(tuán)隊(duì)新生準(zhǔn)入測(cè)試題及答案
- 2025年社會(huì)工作者之初級(jí)社會(huì)綜合能力能力測(cè)試試卷A卷附答案
- 2025年公務(wù)員(國(guó)考)之公共基礎(chǔ)知識(shí)考試題庫(kù)(含答案)
- 2024年北京事業(yè)編筆試題(附答案)
- 2024年幼兒園、學(xué)前教育與兒童身心發(fā)展專(zhuān)業(yè)知識(shí)考試題與答案
- (2025)中商職鑒市場(chǎng)營(yíng)銷(xiāo)師培訓(xùn)教師考評(píng)試題及參考答案
- 摘抄筆記寫(xiě)法課件
- 2025年初中語(yǔ)文名著閱讀《林海雪原》知識(shí)點(diǎn)總結(jié)及練習(xí)
- 酒店員工工傷預(yù)防培訓(xùn)
- 固定翼無(wú)人機(jī)機(jī)身設(shè)計(jì)
- 血液透析導(dǎo)管的維護(hù)課件
- 2019保障性住房設(shè)計(jì)標(biāo)準(zhǔn)共有產(chǎn)權(quán)保障住房和征收安置房分冊(cè)
- 外墻保溫施工方案范本
- 2025年高壓電工新版試題(附答案)
- 【大學(xué)課件】電子商務(wù)概述
- 2024版安全技術(shù)咨詢服務(wù)具體協(xié)議模板版B版
- 2025年內(nèi)蒙古呼倫貝爾農(nóng)墾拉布大林上庫(kù)力三河蘇沁農(nóng)牧場(chǎng)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 布料工廠轉(zhuǎn)讓合同范例
評(píng)論
0/150
提交評(píng)論