微机原理课程设计压力测试系统的设计

  • 格式:doc
  • 大小:43.50 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

源程序:

CODE SEGMENT ;电椅代码段

ASSUME CS:CODE ;段分配

ORG 1000H ;起始地址

ADPORT EQU FFFOH ;定义AD口

IOCONPT EQU 0FF2BH ;定义8255控制口

IOBPT EQU 0FF29H ;定义8255B口

START:CALL FORMAT ;初始化

ADCON:CALL DISP ;调用DISP 显示

ADCON1:MOV AX,00 ;启动A/D

MOV DX, ADPORT

OUT DX, AL

MOV CX,0500H

DELAY1:LOOP DELAY1 ;延时

MOV DX,ADPORT ;将通道0地址写入DX IN AL,DX ;读取A/D转化值

PUSH AX ;输入AX 即将A/D转化数据存入AX中

IO: MOV DX,IOCONPT ;

MOV AL,10010010B

OUT DX,AL

MOV DX,,IOBPT

IN AL,DX ;从DX中读入AL,读出A/D转化

TEST AL,80H ;测试提取8255PB7口

JNZ LESS 30 ;不等跳转LESS 30

TEST AL 40H ;测试提取8255PB6口

JNZ GREATER 150 ;不等跳转GREATER 150 LESS 30:POP AX

MOV DX,,IOCPT

MOV AL,80H

OUT DX,AL ;输出8255PB7口值

CALL LL1 ;显示

GREATER:POP AX

MOV DX,IOCPT

MOV AL,40H

OUT DX,AL ;8255PB6口值

CALL LL1 ;显示

LL1: CALL CONVERS

CALL DISP

JMP ADCON1

CONVERS: MOV BL,AL

aam

MOV BX,077DH

mov DS:[BX],al

mov al,ah

aam

INC bx

mov DS:[Bx],al

INC bx

mov DS:[Bx],ah

RET ;通过两次校验将显示的三位数值分开进行存贮

disp: mov dx,077Fh

mov ah,20h ;动态显示,是最左边的数码管亮disp0: mov cx,00ffh

mov bx,dx ;bx=077FH

mov bl,ds:[bx]

mov bh,0h

push dx

mov dx,0ff22h

mov al,cs:[bx+OFFSET DATA1]

OUT DX,AL

mov dx,0ff21h

mov al,ah

OUT DX,AL

disp1: loop disp1 ;循环,延时

pop dx

dec dx

shr ah,01h

jnz disp0 ;不为0转移至disp0

mov dx,0ff22h

mov al,0ffh

OUT DX,AL

ret ;这里disp、disp0、disp1的作用是为了显示三位数值,从左至右依次

的输出各位至。高三位不变,低三位进行显示

data1: db

0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h, 83h,0c6h,0ah

db

86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh FORMAT: MOV BX,0

MOV WORD PTR DS:[BX+077AH],0000H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0009H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0008H ;初始化,定义六段存储空间

RET

CODE ENDS