微机原理 直流电机转速控制.asm.doc_第1页
微机原理 直流电机转速控制.asm.doc_第2页
微机原理 直流电机转速控制.asm.doc_第3页
微机原理 直流电机转速控制.asm.doc_第4页
微机原理 直流电机转速控制.asm.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

;*; 8279 ;1. 2.2MHZ 3.827920100KHZ;4.138;5.,;8279 .MODELTINYCMD_8279 EQU 0BF01H;8279DATA_8279 EQU 0BF00H;8279.STACK100.DATAKEYCOUNT DB ?LED_TABDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 080H,90H,88H,83H,0C6H,0A1H,86H,8EH.CODESTART: MOVAX,DATAMOVDS,AXNOPCALL INIT8279 ;MOV KEYCOUNT,0START1:CALL SCAN_KEY ;JNC START1;XCHG AL,KEYCOUNTINC ALCMP AL,9JNZ START2MOV KEYCOUNT,0CALL INIT8279_1;8,JMP START1START2: XCHG AL,KEYCOUNTCALL KEY_NUM ;LEA BX,LED_TAB;XLATCALL WRITE_DATAJMP START1START_EXIT:JMP$;8279INIT8279 PROC NEARMOV DX,CMD_8279;CMD_8279MOV AL,34H ;,(20OUT DX,ALMOV AL,0;8*8,OUT DX,AL;MOV AL,0A0H; OUT DX,ALCALL INIT8279_1RETINIT8279 ENDPINIT8279_1 PROC NEARCALL CLEAR;MOV AL,90H;OUT DX,ALRETINIT8279_1 ENDPCLEAR PROC NEARMOV DX,CMD_8279MOV AL,0DEH ; OUT DX,ALWAIT1: IN AL,DXTEST AL,80HJNZ WAIT1; RAM?RETCLEAR ENDPSCAN_KEY PROC NEARMOV DX,CMD_8279IN AL,DX;READ_FIFO:ANDAL,7JZ NO_KEY ;READ:MOV AL,40HOUT DX,AL;FIFO RAMMOV DX,DATA_8279IN AL,DXSTC;SCAN_KEY1:RETNO_KEY: CLC;CYJMP SCAN_KEY1SCAN_KEY ENDPKEY_NUM PROC NEARAND AL,3FHRETKEY_NUM ENDPWRITE_DATA PROC NEARMOV DX,DATA_8279OUT DX,ALRETWRITE_DATA ENDPEND START;REVControl PROC NEARMOV AL,Count ;CMP AL,RevSet ;JZ REVControl1JNB RevDEC;RevINC: MOV Count500ms,1MOVAL,RevSet ;SUB AL,Count ;RevINC1: ADD AL,Data_0832 ;08320832JNB RevINC2 ;0832MOV AL,0FFHRevINC2: MOV Data_0832,ALCALL DAC0832 ;D/A0832JMP REVControl1;RevDEC: MOV AH,Count500msOR AH,AHJZ RevDEC3MOV Count500ms,0MOV AL,Count ;SUB AL,RevSet ;RevDEC1: XCHG AL,Data_0832 ;0832;0832SUB AL,Data_0832JNB RevDEC2MOV AL,10RevDEC2: MOV Data_0832,ALCALL DAC0832 ;D/A 0832JMP REVControl1RevDEC3: INC Count500msREVControl1: RETREVControl ENDP;Timer0Int: MOV bTime,1 ;0.25sMOV AL,NowCount ;0.25sMOV Count,ALMOV NowCount,0SUB AL,Count1 ;count1:0.25sJZ TIMER0_2 ;0.25s;1INC AL ;JZ TIMER0_2CMP AL,2JNZ TIMER0_3TIMER0_2: MOV AL,CountPUSH AXXOR AH,AHADD AL,Count1JNB TIMER0_4INC AHTIMER0_4: ADD AL,Count2JNB TIMER0_5INC AHTIMER0_5: ADD AL,Count3JNB TIMER0_6INC AHTIMER0_6: SHR AX,2MOV Count,ALMOV AL,Count2MOV Count3,ALMOV AL,Count1MOV Count2,ALPOP AXMOV Count1,ALJMP TIMER0_1TIMER0_3: MOV AL,Count ;MOV Count3,AL ;250msMOV Count2,ALMOV Count1,ALTIMER0_1: RETIfExit PROC NEARPUSH AXPUSH DXMOV AL,06HMOV DX,0FFHINT 21HPOP DXPOP AXJZ IfExit1JMP ExitIfExit1: RETInitPCI PROCNEARMOV AH,00HMOV AL,03HINT 10H ;MOV AH,0B1HMOV AL,01HINT 1AHCMP AH,0JZ InitPCI2LEA DX,msg0InitPCI1: MOV AH,09HINT 21HJMP ExitInitPCI2: MOV AH,0B1HMOV AL,02HMOV CX,Device_IDMOV DX,Vendor_IDMOV SI,0INT 1AHJNC InitPCI3 ;PCI9052LEA DX,msg1JMP InitPCI1InitPCI3: MOV DI,PCIBAR1MOV AH,0B1HMOV AL,09HINT 1AHJNC InitPCI4LEA DX,msg2JMP InitPCI1InitPCI4: AND CX,0FFFCHMOVPCI_IO_BaseAddress0,CXMOVDI,PCIBAR3MOVAH,0B1HMOVAL,09HINT1AH;8IO,ah=0b1h,al=09h,int 1ah,di=/ah=;cf=0cx=/,JNCInitPCI5LEADX,msg3JMPInitPCI1;ds:dx8I/OInitPCI5:ANDCX,0FFFCHMOVIO_Bit8_BaseAddress,CXMOVDI,PCIIPRMOVAH,0B1HMOVAL,09HINT1AH;IRQJNCInitPCI6LEADX,msg4JMPInitPCI1;ds:dxIRQInitPCI6:MOVPCI_IRQ_NUMBER,CLRETInitPCIENDPModifyAddressPROCNEARMOVAX,IO_Bit8_BaseAddressADDIO8259_0,AXADDIO8259_1,AXADDRD_IO8259,AXRETModifyAddressENDPModifyVectorPROCNEARPUSHESMOVAL,PCI_IRQ_NUMBERCMPAL,08H;0-7JAEModifyVector1ADDAL,08H ;IRQ0.7 - 8.FJMPModifyVector2ModifyVector1:ADDAL,70H-08H;IRQ8.F - 70H.77HModifyVector2:MOVINT_Vector,ALMOVAH,35HINT21H ;AH=35H,AL=INT 21HES:BX=MOVINT_IP,BX;IPMOVAX,ESMOVINT_CS,AX;CSMOVAL,INT_VectorLEADX,INT_0;INT_0DX=INT_0PUSHDSPUSHCSPOPDS;CSDS=CSMOVAH,25HINT21H ;AH=25H,AL=INT 21H,DS:DX=POPDS;DSMOVBL,PCI_IRQ_NUMBERMOVDX,21HCMPAL,08HJBModifyVector3MOVDX,0A1HModifyVector3:INAL,DXMOVINT_MASK,ALANDBL,07HMOVCL,BLMOVBL,1SHLBL,CLNOTBLANDAL,BLOUTDX,AL;POPESSTIRETModifyVectorENDPClearIntPROCNEAR;PCI9052MOVDX,PCI_IO_BaseAddress0ADDDX,INTCSR;INAL,DX;ANDAL,mask_int_9052;JZClearInt3;8259INCDXINAL,DXORAL,0CHOUTDX,AL;PCI9052MOVAL,PCI_IRQ_NUMBERCMPAL,08HJAEClearInt1ANDAL,7ORAL,60HMOVDX,20HOUTDX,ALJMPClearInt2ClearInt1:ANDAL,7ORAL,60HMOVDX,0A0HOUTDX,ALMOVDX,20HMOVAL,62HOUTDX,ALClearInt2:CLCRET;ClearInt3:STC;RETClearIntENDPExit:CLIMOVBL,PCI_IRQ_NUMBERMOVDX,21HCMPAL,08HJBExit1MOVDX,0A1HExit1:MOVAL,INT_MASKOUTDX,AL;PUSHDSMOVAL,INT_VectorMOVDX,INT_IP;MOVAX,INT_CSMOVAH,25HINT21H ;POPDSSTIMOVAH,4CHINT21HENDSTART;.MODELTINYEXTRNDisplay8:NEAR,SCAN_KEY:NEAR,GetKeyA:NEARIO8259_0EQU0F000HIO8259_1EQU0F001HCon_8253EQU0E003HT0_8253EQU0E000HT1_8253EQU0E001HDA0832EQU0D000HVoltageOffsetEQU5;0832.STACK200.DATAbufferDB8 DUP(0);8buffer1DB8 DUP(0);8VOLTAGEDB0;CountDW0;NowCountDW0;kpTimeDW0;bNeedDisplayDB0;.CODESTART:MOVAX,DATAMOVDS,AXMOVES,AXNOPMOVbNeedDisplay,1;MOVVOLTAGE,99H;99H-3.0VMOVCount,0;MOVNowCount,0;MOVkpTime,0;CALLDAC0832;D/ACALLInit8253CALLInit8259CALLWriIntverSTIMAIN:CALLGetKeyA;JNBMain1JNZKey1Key0:MOVAL,VoltageOffset;0ADDAL,VOLTAGECMPAL,VOLTAGEJNBKey0_1MOVAL,0FFH;Key0_1:MOVVOLTAGE,ALCALLDAC0832;D/AJMPMain2Key1:MOVAL,VOLTAGE;1SUBAL,VoltageOffsetJNBKey1_1XORAL,AL;Key1_1:MOVVOLTAGE,ALCALLDAC0832;D/AJMPMain2Main1:CMPbNeedDisplay,0JZMAINMOVbNeedDisplay,0;1sMain2:CALLRateTest;/JMPMAIN;/RateTest:MOVAX,CountMOVBL,10DIVBLCMPAL,0JNZRateTest1MOVAL,10H;0RateTest1:MOVbuffer,AHMOVbuffer+1,ALMOVAL,VOLTAGE;0832ANDAL,0FHMOVbuffer+4,ALMOVAL,VOLTAGEANDAL,0F0HRORAL,4MOVbuffer+5,ALMOVbuffer+2,10H;MOVbuffer+3,10HMOVbuffer+6,10HMOVbuffer+7,10HLEASI,bufferLEADI,buffer1MOVCX,8REPMOVSBLEASI,bufferCALLDisplay8;RETTimer0Int:PUSHAXPUSHDXMOVbNeedDisplay,1MOVAX,NowCountSHRAX,1SHRAX,1MOVCount,AX;4,Count=NowCount/4MOVNowCount,0MOVDX,IO8259_0MOVAL,20HOUTDX,ALPOPDXPOPAXIRETCountInt:PUSHAXPUSHDXMOVDX,Con_8253MOVAL,40HOUTDX,AL;MOVDX,T1_8253INAL,DXMOVAH,ALINAL,DXXCHGAL,AH;T1XCHGAX,kpTimeSUBAX,kpTimeCMPAX,100JBCountInt1;100INCNowCountCou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论