已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术实验指导 微机原理及接口技术 实 验 指 导 书 杨霞 周林英 编 长安大学电子与控制工程学院 2009年9月 i 前 言 本实验指导是为适应各大、中专院校开设微机原理及应用方面的课程需做大量软硬件实验的需要而编写的,供学生编程用。完成本实验指导中的实验,可使学生基本掌握8086/8088的结构原理、接口技术、程序设计技巧。手册中详细叙述了各实验的目的、内容,列出了接线图、程序框图和实验步骤。 主要学习内容为80X86语言实验环境配置、汇编源语言格式、输出字符、循环结构、子程序调用,以及加减乘除等指令操作、通用接口芯片的接口编程与使用。所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。学习结束后,要求学生能够独立编写出综合加减乘除等指令,以及循环结构、子程序调用等程序控制程序、看懂一般接口芯片电路图。 2 目 录 实验一 清零程序 . 4 实验二 拆字程序 . 6 实验三 数据区移动 . 8 实验四 多分支程序设计 . 10 实验五 多字节减法运算 . 13 实验六 显示程序 . 19 实验七 8251串口实验 . 22 实验八 步进电机控制 . 28 附录一 汇编语言的存储模型 . 38 附录二 8279键值显示程序 . 39 3 实验一 清零程序 一、实验目的 掌握8088汇编语言程序设计和调试方法。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 把RAM区内4000H-40FFH单元的内容清零 。 四、程序框图 五、源程序清单 .MODEL TINY .STACK 100 .DATA .CODE ORG 0100H START: MOV BX,4000H MOV AX,0000H MOV CX,80H L1: MOV BX,AX INC BX INC BX LOOP L1 JMP $ END START 六、实验步骤 4 手动修改RAM区内4000H-40FFH的内容,连续或单步方式运行程序,检查4000-40FFH内容 执行程序前后的变化。 七、思考 1、把4000H-40FFH中的内容改成FF,如何修改程序。 2、把4000H-40FFH中的内容改成00FF,如何修改程序。 5 实验二 拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 把4000H单元的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H 的高位清零,一般本程序用于把数据送显示缓冲区时用。 四、程序框图 五、源程序 .MODEL TINY .STACK .DATA .CODE START: MOV BX,4000H MOV AL,BX MOV AH,AL MOV CL,4 SHR AH,CL INC BX MOV BX,AH AND AL,0FH INC BX MOV BX,AL JMP $ 六、实验步骤 手动修改4000H的内容,用连续或单步方式运行程序,检查4000H-4002H中内容变化情况。 七、思考 1.如何用断点方式调试本程序。 6 2.把4000H、4001H单元低位的内容合成一字送4002H单元。 7 实验三 数据区移动 一、实验目的 掌握RAM中的数据操作。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 把4100H源RAM区首址内的16字节数据传送到4200H目标RAM区。 四、设计思想 程序要求把内存中某一数据区(称为源数据块)传送到另一存储区(称为目的数据块) 。源数据块和目的数据块在存储器中可能有三种情况,如下图: 对于两个数据块分离的情况,如图(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。 可以得出以下结论:当源数据首址目的块首址时,从数据块首址开始传送数据。 当源数据块首址目的块首址时,从数据块末地址开始传送数据。 五、程序框图 8 六、源程序清单 .MODEL TINY .STACK .DATA .CODE ORG 0100H START0: MOV CX,0010H MOV SI,4100H MOV DI,4200H CMP SI,DI JA A42 ADD SI,CX ADD DI,CX A41: DEC SI DEC DI MOV AL,SI MOV DI,AL LOOP A41 JMP $ A42: MOV AL,SI MOV DI,AL INC SI INC DI LOOP A42 JMP $ END START0 七、实验步骤 调试运行3060程序,检查4100-410FH中内容是否和4200-420FH中内容完全一致。 八、思考 1.把4200H源RAM区首址内的16字节数据传送到4100H目标RAM区。 2.把4100H源RAM区首址内的16字节数据传送到410AH目标RAM区。 9 实验四 多分支程序设计 一、实验目的 掌握汇编语言的编程,熟悉程序散转的设计方法。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 编写程序,根据接收到的键值,作不同的处理。 四、设计思想 多分支结构相当于一个多路开关,在程序设计中通常是根据某寄存器或某单元的内容进行程序转移。在设计多分支转移程序时,如果分支太多,则平均转移速度太慢,本实验采用转移地址表实现多分支转移,可以提高平均转移速度。 五、程序框图 散转程序流程框图 六、实验步骤 3、使用各种手段调试程序 3、结果显示在G5区的数码管上 10 七、源程序清单 ;调用GetKeyB返回键值,根据键值执行相应的程序 EXTRN .MODEL TINY Display8:NEAR, GetKeyB:NEAR BUFFER START: START1: START2: Table_1: Key0: Key1: Key2: Key3: Key4: Key5: Key6: Key7: Key: .STACK .DATA DB .CODE MOV MOV MOV NOP CALL CMP JB XOR XOR MOV SHL LEA JMP MOV JMP MOV JMP MOV JMP MOV JMP MOV AL,5 JMP MOV JMP MOV JMP MOV JMP MOV LEA REP LEA CALL MOV 100 8 DUP(?) AX,DATA DS,AX ES,AX GetKeyB ;键值存放在AL中 AL,8 START2 AL,AL ;大于7,作0处理 AH,AH BX,AX BX,1 DI,Table_1 CS:DIBX Key0, Key1, Key2, Key3, Key4, Key5, Key6, Key7 AL,1 Key AL,2 Key AL,3 Key AL,4 Key Key AL,6 Key AL,7 Key AL,8 Key CX,8 DI,BUFFER STOSB SI,BUFFER Display8 CX,60000 11 DW LOOP JMP END $ START1 START ;延时 12 实验五 多字节减法运算 一、实验目的 掌握BCD码、补码,熟悉多文件、多模块汇编语言程序设计的方法。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 从键盘上输入4位被减数、减数,实现双字节BCD码(四位数)的减法,结果显示在数码管上;进一步熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、CS段、DS段存贮器的各种方法。 四、程序框图 双字节十进制减法程序框图 五、实验步骤 123、结果显示在G5区的数码管上 六、源程序清单 .MODEL TINY .STACK 100 .DATA Result DB 5 DUP(?) 13 minuend DW 88H,44H,66H,00H,99H ;被减数 N1 = $-minuend ;被减数长度 subtrahend DW 22H,55H,88H ;减数 N2 = $-subtrahend ;减数长度 .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX PUSH DS XOR AX,AX PUSH AX STD ;清方向标志 ;显示被减数 ; LEA SI,minuend ; ADD SI,N1-1 ; MOV CX,N1 ; CALL EX21 ; CALL PP2 ; ;显示减数 ; LEA SI,subtrahend ; ADD SI,N2-1 ; MOV CX,N2 ; CALL EX21 ; CALL PP2 ;计算结果 CALL EX22 ;显示结果 LEA SI,minuend ADD SI,N1-1 MOV CX,N1 CALL EX21 jmp $ ;模块名称:EX21 ;功 能:显示运算结果 ;入口参数: ;出口参数: EX21 PROC near PUSH AX PUSH DX 14 F: LODSB LEA BX,Result ADD BX,CX MOV BX,AL ;用十六进制数显示一个字节的内容 ; MOV DL,' ' ;显示一个空格符 ; MOV AH,2 ; ; INT 21H ; LOOP F POP DX POP AX RET EX21 ENDP ;模块名称:EX22 ;功 能:进行多字节减法运算 ;入口参数: ;出口参数:相减的那结果存在 EX22 PROC near LEA SI,minuend LEA DI,subtrahend MOV BX,N1 MOV CX,N2 CLC MM: MOV AL,DI SBB SI,AL INC DI INC SI DEC BX LOOP MM M1: JZ EXIT22 ;因LOOP指令对标志位无影响,所以此处的转移是对DEC BX而言。 ;处理被减数的位数多于减数的位数的情况 JNC EXIT22 ;无借位则直接退出 SBB BYTE PTR SI,0 ;影响CF标志位 INC SI ;不影响CF标志位 DEC BX ;不影响CF标志位,影响ZF标志位 JMP M1 EXIT22: RET EX22 ENDP 15 END start EXTRN EXTRN BUFFER minuend subtrahend START: START1: START2: .MODEL TINY Display8:NEAR, GetBCDKey:NEAR F1:BYTE .STACK 100 .DATA DB 8 DUP(?) DW 1 DUP(?) DW 1 DUP(?) .CODE MOV AX,DATA MOV DS,AX MOV ES,AX NOP MOV F1,0 LEA DI,minuend MOV CX,4 CALL GetBCDKey MOV F1,1 LEA DI,subtrahend MOV CX,4 CALL GetBCDKey MOV AX,minuend MOV BX,subtrahend MOV DL,10H CMP AX,BX JNB START2 XCHG AX,BX MOV DL,11H SUB AL,BL DAS XCHG AL,AH SBB AL,BH DAS XCHG AL,AH 16 ;被减数 ;减数 ;先清除显示,再接收键输入 ;按键次数 ;得到双字节十进制数(被减数) ;接收到第一个键,才清除显示 ;按键次数 ;得到双字节十进制数(减数) ;负数 ;低位 ;高位 B1toB2 B1toB2 BlackDisplay BlackDisplay1: Exit: BlackDisplay CLD LEA CALL MOV CALL MOV STOSB STOSB STOSB STOSB LEA MOV CALL LEA CALL JMP PROC PUSH AND STOSB POP AND ROR STOSB RET ENDP PROC MOV CMP JNZ MOV MOV DEC LOOP CLD MOV RET ENDP END DI,BUFFER B1toB2 AL,AH B1toB2 AL,10H SI,BUFFER+3 CX,3 BlackDisplay SI,BUFFER Display8 START1 NEAR AX AL,0FH AX AL,0F0H AL,4 NEAR AL,SI AL,0 Exit AL,10H SI,AL SI BlackDisplay1 SI+1,DL START ;存放显示结果 ;低位 ;高位 ;最高三位消隐 ;将高位0消隐 ;将高位0消隐 ;将一个字节压缩BCD码转换成二个字节非压缩BCD码 七、思考 从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数 17 码管上。 18 实验六 显示程序 一、实验目的 1、熟悉8255的功能,理解LED显示原理及控制方法; 2、学会使用LED点阵液晶显示字体和图形; 3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 1、编写程序,用8255的PA、PB口控制LED的位选和段选, (1)编写程序,控制8位数码管跑马灯形式显示0; (2)编写程序,控制8位数码管静态显示指定字符1-8; (3)编写程序,控制8位数码管动态循环显示8位字符; 2、按图连接线路,运行程序,观察实验结果。 四、实验原理图 接 PB 接 8255 PA 五、实验步骤 六:源程序 (1) 控制8位数码管依次显示0; .MODEL TINY .STACK 100 .DATA IO8255_Con EQU IO8255_A EQU IO8255_B EQU 0F003H 0F000H 0F001H ;CS3 ;A ;B 19 LED_TAB: DB 03FH,06H,05BH,04FH,66H,6DH,7DH,07H DB 07FH,6FH,77H,7CH,39H,05EH,79H,71H .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AL,0FEH ;8255 PC输出 MOV CX,8 GOON: MOV DX,IO8255_A ;位选 OUT DX,AL ROL AL,1 MOV AH,AL MOV DX,IO8255_B MOV AL,03FH OUT DX,AL MOV AL,AH ;0FFH->8255 PA CALL Delay JMP GOON Delay PROC NEAR PUSH CX MOV CX,20000 Delay1: LOOP Delay1 POP CX RET ENDP END START (2) 编写程序,控制8位数码管依次显示任意指定字符(0-F); .MODEL TINY .STACK 100 .MODEL TINY .STACK 100 .DATA IO8255_Con EQU 0F003H ;CS3 IO8255_A EQU 0F000H ;A IO8255_B EQU 0F001H ;B F1 DB 0 LED_TAB: DB 03FH,06H,05BH,04FH,66H,6DH,7DH,07H DB 07FH,6FH,77H,7CH,39H,05EH,79H,71H .CODE 20 START: MOV AX,DATA MOV DS,AX MOV ES,AX ; MOV F1,0 MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AL,0FEH ;8255 PC输出 MOV CX,8 GOON: MOV DX,IO8255_B ;段选 MOV BX, LED_TAB ;装入表头 PUSH AX MOV AL,F1 XLAT ;AL放字形码 OUT DX,AL POP AX MOV AL,AH MOV DX,IO8255_A ;位选 OUT DX,AL ROL AL,1 MOV AH,AL INC F1 ;0FFH->8255 PA CALL Delay JMP GOON Delay PROC NEAR PUSH CX MOV CX,800 Delay1: LOOP Delay1 POP CX RET ENDP END START (3) 编写程序,控制8位数码管同时显示0、1、?F: .MODEL TINY .STACK 100 .MODEL TINY .STACK 100 .DATA IO8255_Con EQU 0F003H ;CS3 IO8255_A EQU 0F000H ;A IO8255_B EQU 0F001H ;B 21 LED_TAB: DB 03FH,06H,05BH,04FH,66H,6DH,7DH,07H DB 07FH,6FH,77H,7CH,39H,05EH,79H,71H F1 DB 0 .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AX,0FEFEH ;8255 PC输出 MOV CX,1600 LEA BX,LED_TAB GOON: MOV AL,F1 XLAT MOV DX,IO8255_B ;段选 OUT DX,AL MOV AL,AH MOV DX,IO8255_A ;位选 OUT DX,AL ROL AL,1 MOV AH,AL CALL DL500ms LOOP GOON ;8段数码管显示当前值 MOV CX,1600 ;8段数码管显示完成,则显示下个字符 MOV AL,AH ; ; CALL DL3S INC F1 CMP F1,10H ;是否显示完了 JZ EXIT JMP GOON DL500ms PROC NEAR PUSH CX MOV CX,400 DL500ms1: LOOP DL500ms1 POP CX RET DL500ms ENDP EXIT: END START 七、思考 (4)编写程序,控制8位数码管显示当前日期以及时间; 22 实验七 8251串口实验 一、实验目的与要求 了解8251的内部结构、工作原理;了解8251与8088的接口逻辑;掌握对8251的初始化编程方法,学会使用8251实现设备之间的串行通信。 复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、编制程序:实现8251A与PC机的串行通讯,使用8253作分频器提供8251的收发时钟。 2、连接线路,从微机接收一批数据,接收完毕,再将它们回送给微机。 四、程序框图 初始化8251: 23 .MODEL TINY ;使用8253的计数器0,外接2Mhz,经26分频后,送给8251,产生4800bps CTL_ADDR DATA_ADDR W_8253_T0 W_8253_C Receive_Buffer Send_Buffer START: START1: INIT_8253 INIT_8253 INIT_8251 INIT_8251 EQU 0FF01H ;控制字或状态字 EQU 0FF00H ;读写数据 EQU 0BF00H ;计数器0地址 EQU 0BF03H ;控制字 .STACK 100 .DATA DB 10 DUP(0) ;接受缓冲器 EQU Receive_Buffer ;发送缓冲器 .CODE MOV AX,DATA MOV DS,AX MOV ES,AX NOP CALL INIT_8253 CALL INIT_8251 MOV CX,10 CALL Receive_Group MOV CX,10 CALL Send_Group JMP START1 PROC NEAR MOV DX,W_8253_C MOV AL,37H ;定时器0,方式3 OUT DX,AL MOV DX,W_8253_T0 MOV AL,26H ;BCD码26(2000000/26)=16*4800 OUT DX,AL MOV AL,0 OUT DX,AL RET ENDP PROC NEAR CALL RESET_8251 MOV DX,CTL_ADDR MOV AL,7EH ;波特率系数为16,8个数据位 OUT DX,AL ;一个停止位,偶校验 CALL DLTIME ;延时 MOV AL,15H ;允许接收和发送发送数据,清错误标志OUT DX,AL CALL DLTIME RET ENDP 25 Reset_8251 PROC MOV MOV OUT CALL OUT CALL OUT CALL MOV OUT CALL RET Reset_8251 ENDP ;接受一组数据,CX-接受数目 Receive_Group PROC LEA Receive_Group1: CALL STOSB LOOP RET Receive_Group ENDP ;接受一个字节 Receive_Byte PROC MOV Receive_Byte1: IN TEST JZ MOV IN RET Receive_Byte ENDP ;发送一组数据,CX-发送数目 Send_Group PROC LEA Send_Group1: LODSB CALL LOOP RET Send_Group ENDP ;发送一个字节 Sendbyte PROC PUSH MOV NEAR DX,CTL_ADDR AL,0 DX,AL ;向控制口写入0 DLTIME ;延时,等待写操作完成 DX,AL ;向控制口写入0 DLTIME ;延时 DX,AL ;向控制口写入0 DLTIME ;延时 AL,40H ;向控制口写入复位字40H DX,AL DLTIME NEAR DI,Receive_Buffer Receive_Byte Receive_Group1 NEAR DX,CTL_ADDR AL,DX ;读入状态 AL,2 Receive_Byte1 ;有数据吗? DX,DATA_ADDR ;有 AL,DX NEAR SI,Send_Buffer SendByte Send_Group1 NEAR AX DX,CTL_ADDR ;读入状态 26 Sendbyte1: Sendbyte ;延时 DLTIME DLTIME IN TEST JZ POP MOV OUT RET ENDP PROC MOV LOOP RET ENDP END AL,DX AL,1 Sendbyte1 AX DX,DATA_ADDR DX,AL NEAR CX,10 $ START ;允许数据发送吗? ;发送 八、实验扩展及思考 请读者思考,如何修改程序实现8251的自发自收功能? 27 实验八 步进电机控制 一、实验目的与要求 1、了解步进电机的基本原理,掌握步进电机的转动编程方法 2、了解影响电机转速的因素有那些 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 编写程序:使用G5区的键盘控制步进电机的正反转、调节转速,连续转动或转动指定步数;将相应的数据显示在G5区的数码管上。 四、控制原理 步进电机的驱动原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲来控制,所以调节脉冲的频率便可改变步进电机的转速,微控制器最适合控制步进电机。另外,由于电机的转动惯量的存在,其转动速度还受驱动功率的影响,当脉冲的频率大于某一值(本实验为f.>100hz)时,电机便不再转动。 实验电机共有四个相位(A,B,C,D),按转动步骤可分单4拍(A->B->C->D->A),双4拍(AB->BC->CD->DA->AB)和单双8拍(A->AB->B->BC->C->CD->D->DA->A). 五、程序框图 28 29 改变方向子程序: 增速子程序: 启动步进电机子程序: 减速子程序: 30 定时中断程序: 八、演示程序 .MODEL TINY EXTRN Display8:NEAR, SCAN_KEY:NEAR IO8259_0 EQU 0F000H IO8259_1 EQU 0F001H Con_8253 EQU 0E003H T0_8253 EQU 0E000H IO8255_Con EQU 0D003H ;CS3 IO8255_PC EQU 0D002H .STACK 100 .DATA StepControl DB 0 ;下一次送给步进电机的值 buffer DB 8 DUP(0) ;显示缓冲区,8个字节 buffer1 DB 8 DUP(0) ;显示缓冲区,8个字节 SpeedNo DB 0 ;选择哪一级速度 StepDelay DB 0 ;转动一步后,延时常数 StartStepDelay DB 0;若选择速度过快,延时由长到短,最终使用对应延时常数 StartStepDelay1 DB 0 ;StartStepDelay bFirst DB 0 ;有没有转动过步进电机 bClockwise DB 0 ; =1 顺时针方向 =0 逆时针方向转动 bNeedDisplay DB 0 ;已转动一步,需要显示新步数 StepCount DW 0 ;需要转动的步数 StepDelayTab: DB 250,125,83,62,50,42,36,32,28,25,22,21 .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX NOP MOV bFirst,1 ;有没有转动过步进电机 MOV bClockwise,1 ;顺时针方向 MOV StepControl,33H ;下一次送给步进电机的值 MOV SpeedNo,5 ;第五级速度 32 CALL CALL CALL CALL MOV MOV MOV MOV MOV MOV MOV MOV MOV STAR2: LEA LEA MOV REP LEA CALL STAR3: CALL JB CMP JZ MOV CALL JMP STAR5: CLI CMP JNB MOV MOV MOV MOV MOV MOV MOV JMP STAR1: CMP JNB LEA SUB SHL XOR MOV Init8255 Init8253 Init8259 WriIntver buffer,0 buffer+1,0 buffer+2,0 buffer+3,0 buffer+4,10H AL,SpeedNo buffer+5,AL buffer+6,10H buffer+7,0 SI,buffer DI,buffer1 CX,8 MOVSB SI,buffer1 Display8 Scan_Key STAR5 bNeedDisplay,0 STAR3 bNeedDisplay,0 Step_SUB_1 STAR2 AL,10 STAR1 AH,buffer+2 buffer+3,AH AH,buffer+1 buffer+2,AH AH,buffer buffer+1,AH buffer,AL STAR2 AL,14 STAR3 SI,DriverTab AL,10 AL,1 AH,AH BX,AX ;显示缓冲器初始化 ;终止步进电机转动 33 DriverTab: Direction: AntiClockwise: AntiClockwise1: Clockwise: Clockwise1: Direction1: Speed_up: Speed_up1: Speed_up2: Speed_Down: Speed_Down1: Exec: JMP CS:SI+BX DW Direction ;转动方向 DW Speed_up ;提高转速 DW Speed_Down ;降低转速 DW Exec ;步进电机根据方向、转速、步数开始转动 CMP bClockwise,0 JZ Clockwise MOV bClockwise,0 MOV buffer+7,1 CMP bFirst,0 JZ AntiClockwise1 MOV StepControl,91H JMP Direction1 MOV AL,StepControl ROR AL,2 MOV StepControl,AL JMP Direction1 MOV bClockwise,1 MOV buffer+7,0 CMP bFirst,0 JZ Clockwise1 MOV StepControl,33H JMP Direction1 MOV AL,StepControl ROL AL,2 MOV StepControl,AL JMP STAR2 MOV AL,SpeedNo CMP AL,11 JZ Speed_up2 INC AL MOV SpeedNo,AL MOV buffer+5,AL JMP STAR2 MOV AL,SpeedNo CMP AL,0 JZ Speed_Down1 DEC AL MOV SpeedNo,AL MOV buffer+5,AL JMP STAR2 MOV bFirst,0 CALL TakeStepCount LEA BX,StepDelayTab 34 Exec1: TIMER0: TIMER0_2: TIMER0_3: TIMER0_4: TIMER0_1: MOV AL,SpeedNo XLAT MOV StepDelay,AL CMP AL,50 JNB Exec1 MOV AL,50 MOV StartStepDelay,AL MOV StartStepDelay1,AL STI JMP STAR2 PUSH AX PUSH DX DEC StartStepDelay JNZ TIMER0_1 MOV AL,StartStepDelay1 CMP AL,StepDelay JZ TIMER0_2 DEC AL MOV StartStepDelay1,AL MOV StartStepDelay,AL MOV AL,StepControl MOV DX,IO8255_PC OUT DX,AL CMP bClockwise,0 JNZ TIMER0_3 ROR AL,1 JMP TIMER0_4 ROL AL,1 MOV StepControl,AL CMP StepCount,0 JZ TIMER0_1 MOV bNeedDisplay,1 DEC StepCount JNZ TIMER0_1 add sp,8 ;小写部分不允许使用单步、单步进入命令popf cli pushf sub sp,8 nop MOV DX,IO8259_0 MOV AL,20H OUT DX,AL POP DX 35 Step_SUB_1 Step_SUB_1_1: POP IRET PROC MOV LEA DEC CMP JNZ MOV AX NEAR CX,4 BX,buffer BYTE PTR BX BYTE PTR BX,0FFH Step_SUB_1_2 BYTE PTR BX,9 Step_SUB_1_2: Step_SUB_1 TakeStepCount TakeStepCount Init8255 Init8255 Init8253 INC BX LOOP Step_SUB_1_1 RET ENDP PROC NEAR MOV AL,buffer+3 MOV BX,10 MUL BL ADD AL,buffer+2 MUL BL ADD AL,buffer+1 ADC AH,0 MUL BX ADD AL,buffer ADC AH,0 MOV StepCount,AX RET ENDP PROC NEAR MOV DX,IO8255_Con MOV AL,80H OUT DX,AL DEC DX MOV AL,0FFH OUT DX,AL RET ENDP PROC NEAR MOV DX,Con_8253 MOV AL,35H OUT DX,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复合维生素B群能量片创新创业项目商业计划书
- 建筑用厚钢板创新创业项目商业计划书
- 快递行业重量计费标准统一化创新创业项目商业计划书
- 型模底板环保清洗工艺创新创业项目商业计划书
- 座椅加热与快速冷却创新创业项目商业计划书
- 宠物项圈创新创业项目商业计划书
- 2026年中国白卡纸电商项目经营分析报告
- 2026年中国IT运维O2O项目经营分析报告
- 新版医疗器械法规解读与应用指南
- 2025年及未来5年中国男士美妆市场深度分析及投资战略咨询报告
- 水产品安全性评价
- 气弹簧力学计算器
- 专利产品体验报告
- 毕业论文机械手夹持器设计
- 医疗护理服务管理之优质护理服务培训PPT
- 系统熟悉级航机务培训中心
- Unit+1+Cultural+Heritage+Reading+for+Writing课件高中英语人教版(2019)必修第二册
- 高处作业施工安全专项施工方案
- 乳房下垂的整形治疗课件
- 《黄金分割》 完整版课件
- 五四新青年演讲比赛主题活动模板课件
评论
0/150
提交评论