收藏 分销(赏)

微机原理接口实验-汽车速度控制系统.docx

上传人:仙人****88 文档编号:11257786 上传时间:2025-07-11 格式:DOCX 页数:16 大小:537.72KB 下载积分:10 金币
下载 相关 举报
微机原理接口实验-汽车速度控制系统.docx_第1页
第1页 / 共16页
微机原理接口实验-汽车速度控制系统.docx_第2页
第2页 / 共16页


点击查看更多>>
资源描述
西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: 汽车速度控制系统 专业名称: 计算机科学与技术 班 级: 计科1305 学生姓名: 杨阳 学号(8位): 04131162 指导教师: 申辉 实验日期: 2016年06月24日—2016年07月01日 四.测试数据及运行结果 六.附录:源代码 DATA SEGMENT MY8255_A EQU 1ff0H MY8255_B EQU 1ff2H MY8255_C EQU 1ff4H MY8255_MODE EQU 1ff6H LED DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH BUFFER DB 6 DUP(?) datbuf db 01h,03h DATA ENDS stack segment stack 'stack' stackbuffer db 200 dup (?) stack ends CODE SEGMENT ASSUME CS:CODE, DS:DATA, ss:stack ;片选数码管 参数输出到C口的值 SELECTDIG MACRO DIGTION PUSH DX PUSH AX MOV DX, MY8255_C MOV AL, DIGTION OUT DX, AL POP AX POP DX ENDM ;先显示的零数 SHALFCOUNT PROC NEAR MOV UFFER[0],AH ;buffer[0]:PC1 MOV BUFFER[1], AL ; PUSH BX PUSH DX SHOWFF: MOV AL, [SI] MOV BL, [DI] SELECTDIG BUFFER[0] MOV AL, AL MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY SELECTDIG BUFFER[1] MOV AL, BL MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY INC SI LOOP SHOWFF POP DX POP BX RET SHALFCOUNT ENDP QHALFCOUNT PROC MOV BUFFER[0], AH MOV BUFFER[1], AL PUSH BX PUSH DX SHOWFFQ: MOV AL, [SI] MOV BL, [DI] SELECTDIG BUFFER[0] MOV AL, AL MOV DX, MY8255_B OUT DX, AL CALL DELAY SELECTDIG BUFFER[1] MOV AL, BL MOV DX, MY8255_B OUT DX, AL CALL DELAY INC SI LOOP SHOWFFQ POP DX POP BX ret QHALFCOUNT ENDP SLOWSPEED PROC NEAR PUSH DX PUSH DI MOV BUFFER[0], AH MOV BUFFER[1], AL MOV BUFFER[2], BH MOV BUFFER[3], BL LOOPDECADE: PUSH CX MOV CX, 10 MOV DI, OFFSET LED LOOPUNIT: SELECTDIG BUFFER[3] MOV AL, [DI] MOV DX, MY8255_B MOV BL, AL OUT DX, AL INC DI CALL BIGDELAY SELECTDIG BUFFER[2] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY CMP BL, BUFFER[1] JZ CMPDECADE LOOPBACK: LOOP LOOPUNIT POP CX INC SI LOOP LOOPDECADE CMPDECADE: CMP AL, BUFFER[0] JZ EXIT JNZ LOOPBACK EXIT: POP DI POP DX RET SLOWSPEED ENDP QUICKSPEED PROC NEAR MOV BUFFER[0], AH ;shi wei MOV BUFFER[1], AL ;ge wei MOV BUFFER[2], BH ; xian shi shi wei MOV BUFFER[3], BL ;xian shi ge wei PUSH DX PUSH DI LOOPDECADEQ: PUSH CX MOV CX, 10 MOV DI, OFFSET LED LOOPUNITQ: SELECTDIG BUFFER[3] MOV AL, [DI] MOV DX, MY8255_B MOV BL, AL OUT DX, AL INC DI CALL DELAY SELECTDIG BUFFER[2] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL DELAY CMP BL, BUFFER[1] JZ CMPDECADEQ LOOPBACKQ: LOOP LOOPUNITQ POP CX INC SI LOOP LOOPDECADEQ CMPDECADEQ: CMP AL, BUFFER[0] JZ EXITQ JNZ LOOPBACKQ EXITQ: POP DI POP DX RET QUICKSPEED ENDP GREEN PROC NEAR PUSH AX PUSH DX MOV CX, 0 ;+ LOOPGREEN: SELECTDIG 41H MOV AL, 6DH MOV DX, MY8255_B OUT DX, AL CALL DELAY SELECTDIG 42H MOV AL, 3FH MOV DX, MY8255_B OUT DX, AL CALL DELAY MOV DX, MY8255_A IN AL, DX CMP AL, 00000001B JNZ GREENSTART INC CX LOOP LOOPGREEN GREENSTART: pop dx pop ax RET GREEN ENDP YELLOW PROC NEAR PUSH AX PUSH DX MOV CX, 0 ;+ LOOPYELL: SELECTDIG 21H MOV DX, MY8255_B MOV AL, 7DH OUT DX, AL CALL DELAY SELECTDIG 22H MOV DX, MY8255_B MOV AL, 5BH OUT DX, AL CALL DELAY MOV DX, MY8255_A IN AL, DX CMP AL, 00000010B JNZ YELLSTART INC CX LOOP LOOPYELL YELLSTART: POP DX POP AX RET YELLOW ENDP RED PROC NEAR PUSH AX PUSH DX MOV CX , 0 ;+ LOOPRED: SELECTDIG 11H MOV DX, MY8255_B MOV AL, 06H OUT DX, AL CALL DELAY SELECTDIG 12H MOV DX, MY8255_B MOV AL, 6DH OUT DX, AL CALL DELAY MOV DX, MY8255_A IN AL, DX CMP AL, 00000100B JNZ REDSTART INC CX LOOP LOOPRED REDSTART: POP DX POP AX RET RED ENDP ENDNUM PROC NEAR MOV BUFFER[0], AL MOV BUFFER[1], AH MOV BUFFER[2], BL MOV BUFFER[3], CL MOV BUFFER[4], CH PUSH DX MOV CX, 0 ;+ LOOPSHOW: SELECTDIG BUFFER[3] MOV AL, BUFFER[0] MOV DX, MY8255_B OUT DX, AL CALL DELAY SELECTDIG BUFFER[4] MOV AL,BUFFER[1] MOV DX, MY8255_B OUT DX, AL CALL DELAY MOV DX, MY8255_A IN AL, DX CMP AL, BUFFER[2] JNZ LOOPSTART INC CX LOOP LOOPSHOW LOOPSTART: POP DX call bigdelay call bigdelay call bigdelay call bigdelay call bigdelay call bigdelay RET ENDNUM ENDP ;慢刹车 DOWNSPEED PROC NEAR PUSH DX PUSH AX DOWNFIRST: SELECTDIG BUFFER[0] ;显示单独的个位倒序循环 MOV AL, [SI] ;个位 MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY SELECTDIG BUFFER[1] ;十位 MOV AL, [DI] MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY CMP SI, 00H JZ DOWNSECOND DEC SI JMP DOWNFIRST DOWNSECOND: MOV CX, DI ;十位 DEC DI DOWNDECADE: PUSH CX MOV SI, OFFSET LED + 9 ;个位 MOV CX, 10 DOWNUNIT: SELECTDIG BUFFER[0] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY SELECTDIG BUFFER[1] MOV AL, [DI] MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY DEC SI LOOP DOWNUNIT POP CX DEC DI LOOP DOWNDECADE POP AX POP BX RETURN: RET DOWNSPEED ENDP ;刹车 QDOWNSPEED PROC NEAR PUSH DX PUSH AX QDOWNFIRST: SELECTDIG BUFFER[0] ;显示单独的个位倒序循环 MOV AL, [SI] ;个位 MOV DX, MY8255_B OUT DX, AL CALL DELAY SELECTDIG BUFFER[1] ;十位 MOV AL, [DI] MOV DX, MY8255_B OUT DX, AL CALL DELAY CMP SI, 00H JZ QDOWNSECOND DEC SI JMP QDOWNFIRST QDOWNSECOND: MOV CX, DI ;十位 DEC DI QDOWNDECADE: PUSH CX MOV SI, OFFSET LED + 9 ;个位 MOV CX, 10 QDOWNUNIT: SELECTDIG BUFFER[0] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL DELAY SELECTDIG BUFFER[1] MOV AL, [DI] MOV DX, MY8255_B OUT DX, AL CALL DELAY DEC SI LOOP QDOWNUNIT POP CX DEC DI LOOP QDOWNDECADE POP AX POP BX QRETURN: RET QDOWNSPEED ENDP URGENCY PROC NEAR PUSH AX PUSH DX SELECTDIG 01H MOV AL, 3FH MOV DX, MY8255_B OUT DX, AL SELECTDIG 02H MOV AL, 3FH MOV DX, MY8255_B OUT DX, AL POP DX POP AX RET URGENCY ENDP START: MOV AX, DATA MOV DS, AX mov ax, stack mov ss, ax MOV DX, MY8255_MODE ;send control word MOV AL, 90H ;10010000b OUT DX, AL LOOP1: MOV DX, MY8255_A ;read from a IN AL, DX MOV BL,AL CMP BL, 11111110B ;judge pa0 JZ JUST_GREEN CMP BL, 11111101B JZ JUST_YELLOW CMP BL, 11111011B JZ JUST_RED CMP BL, 0F5H JZ SEC_UP_S1 CMP BL, 0EDH JZ SEC_UP_F1 CMP BL, 0F6H JZ FIR_UP_S1 CMP BL, 0EEH JZ FIR_UP_F1 CMP BL,0F3H JZ THIRD_UP_S1 CMP BL, 0EBH JZ THIRD_UP_F1 CMP BL, 0DEH JZ FIR_DOWN_S1 CMP BL, 0BEH JZ FIR_DOWN_F1 CMP BL, 0DDH JZ SEC_DOWN_S1 CMP BL, 0BDH JZ SEC_DOWN_F1 CMP BL, 0DBH JZ THIRD_DOWN_S1 CMP BL, 0BBH JZ THIRD_DOWN_F1 cmp bl, 00h jz byebye1 CALL URGENCY JMP LOOP1 byebye1: jmp byebye JUST_GREEN: CALL GREEN JMP LOOP1 JUST_YELLOW: CALL YELLOW JMP LOOP1 JUST_RED: CALL RED JMP LOOP1 SEC_UP_S1: JMP SEC_UP_S SEC_UP_F1: JMP SEC_UP_F FIR_UP_S1: JMP FIR_UP_S FIR_UP_F1: JMP FIR_UP_F THIRD_UP_S1: JMP THIRD_UP_S THIRD_UP_F1: JMP THIRD_UP_F FIR_DOWN_F1: JMP FIR_DOWN_F FIR_DOWN_S1: JMP FIR_DOWN_S SEC_DOWN_F1: JMP SEC_DOWN_F SEC_DOWN_S1: JMP SEC_DOWN_S THIRD_DOWN_F1: JMP THIRD_DOWN_F THIRD_DOWN_S1: JMP THIRD_DOWN_S FIR_UP_S: MOV SI, 5 MOV DI, 0 MOV CX , 5 MOV AH, 41H MOV AL, 42H CALL SHALFCOUNT MOV CX, 2 MOV SI, OFFSET LED + 1 MOV AH, 5BH MOV AL , 6DH MOV BH, 42H MOV BL, 41H MOV BUFFER[0], AH MOV BUFFER[1], AL MOV BUFFER[2], BH MOV BUFFER[3], BL LOOPDECADE1: PUSH CX MOV CX, 10 MOV DI, OFFSET LED LOOPUNIT1: SELECTDIG BUFFER[3] MOV AL, [DI] MOV DX, MY8255_B MOV BL, AL OUT DX, AL INC DI CALL BIGDELAY SELECTDIG BUFFER[2] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL BIGDELAY CMP BL, BUFFER[1] JZ CMPDECADE1 LOOPBACK1: LOOP LOOPUNIT1 POP CX INC SI LOOP LOOPDECADE1 CMPDECADE1: CMP AL, BUFFER[0] JZ EXIT1 JNZ LOOPBACK1 EXIT1: MOV AH, 5BH MOV AL, 6DH MOV BL, 0F6H MOV CH, 42H MOV CL, 41H CALL ENDNUM JMP LOOP1 FIR_UP_F: MOV SI, 5 MOV DI, 0 MOV CX , 5 MOV AH, 41H MOV AL, 42H CALL QHALFCOUNT MOV CX, 2 MOV SI, OFFSET LED + 1 MOV AH, 5BH MOV AL , 6DH MOV BH, 42H MOV BL, 41H MOV BUFFER[0], AH MOV BUFFER[1], AL MOV BUFFER[2], BH MOV BUFFER[3], BL LOOPDECADE2: PUSH CX MOV CX, 10 MOV DI, OFFSET LED LOOPUNIT2: SELECTDIG BUFFER[3] MOV AL, [DI] MOV DX, MY8255_B MOV BL, AL OUT DX, AL INC DI CALL DELAY SELECTDIG BUFFER[2] MOV AL, [SI] MOV DX, MY8255_B OUT DX, AL CALL DELAY CMP BL, BUFFER[1] JZ CMPDECADE2 LOOPBACK2: LOOP LOOPUNIT2 POP CX INC SI LOOP LOOPDECADE2 CMPDECADE2: CMP AL, BUFFER[0] JZ EXIT2 JNZ LOOPBACK2 EXIT2: MOV AH, 5BH MOV AL, 6DH MOV BL, 0EEH MOV CH, 42H MOV CL, 41H CALL ENDNUM JMP LOOP1 SEC_UP_S: MOV SI, 6 MOV DI, 2 MOV CX , 4 MOV AH, 21H MOV AL, 22H CALL SHALFCOUNT MOV CX, 2 MOV SI, OFFSET LED + 3 MOV AH, 6DH MOV AL , 3FH MOV BH, 22H MOV BL, 21H CALL SLOWSPEED MOV AH, 6DH MOV AL, 3FH MOV BL, 0F5H MOV CH, 22H MOV CL, 21H CALL ENDNUM JMP LOOP1 SEC_UP_F: MOV SI, 6 MOV DI, 2 MOV CX , 4 MOV AH, 21H MOV AL, 22H CALL QHALFCOUNT MOV CX, 2 MOV SI, OFFSET LED + 3 MOV AH, 6DH MOV AL , 3FH MOV BH, 22H MOV BL, 21H CALL QUICKSPEED MOV AH, 6DH MOV AL, 3FH MOV BL, 0EDH MOV CH, 22H MOV CL, 21H CALL ENDNUM JMP LOOP1 THIRD_UP_S: MOV SI, 1 MOV DI, 5 MOV CX , 9 MOV AH, 11H MOV AL, 12H CALL SHALFCOUNT MOV CX, 3 MOV SI, OFFSET LED + 6 MOV AH, 6FH MOV AL , 3FH MOV BH, 12H MOV BL, 11H CALL SLOWSPEED MOV AH, 6FH MOV AL, 3FH MOV BL, 0F3H MOV CH, 12H MOV CL, 11H CALL ENDNUM JMP LOOP1 THIRD_UP_F: MOV SI, 1 MOV DI, 5 MOV CX , 9 MOV AH, 11H MOV AL, 12H CALL QHALFCOUNT MOV CX, 3 MOV SI, OFFSET LED + 6 MOV AH, 6FH MOV AL , 3FH MOV BH, 12H MOV BL, 11H CALL QUICKSPEED MOV AH, 6FH MOV AL, 3FH MOV BL, 0EBH MOV CH, 12H MOV CL, 11H CALL ENDNUM JMP LOOP1 FIR_DOWN_F: MOV BUFFER[0], 41H MOV BUFFER[1], 42H MOV SI, OFFSET LED + 5 MOV DI, OFFSET LED + 2 CALL QDOWNSPEED MOV
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服