相应proteus和程序文件说明.docx
- 文档编号:23177493
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:13
- 大小:1.04MB
相应proteus和程序文件说明.docx
《相应proteus和程序文件说明.docx》由会员分享,可在线阅读,更多相关《相应proteus和程序文件说明.docx(13页珍藏版)》请在冰豆网上搜索。
相应proteus和程序文件说明
2013-9-11
proteus8086中adc0809运行仿真
单独adc0809的仿真,以下是原理图,并附运行结果。
源程序有小许问题,调节电位器后不能直接看到结果,已修改。
暂停调试时,打开存储单元窗口,可在0000开始的区域中看到转换结果。
8089的clk:
选用工具栏中“激励源模式”里的DCLOCK,频率600khz。
电位器:
POT-HG
直流电压表:
“虚拟仪器模式”里的DC VOLTMETER
选用ADC0808,proteus里adc0809不支持仿真模式。
注意OUT8-OUT1为D0-D7。
源代码:
(用“轻松汇编”编译,连接)
;结果在存储单元中查看,通过暂停和调节电位器来获得不同转换值
;程序 地址为0200,数据段地址为0000
;proteus中查看存储单元,段地址只能在0000中。
ASSUME CS:
CODE
START:
MOV AX,0000H
MOV DS,AX
MOV CX,200 ;循环200次初值
MOV DX,300H ;0809IO端口地址
OUT DX,AL ;启动AD转换
MOV BX,0
DEBUG:
MOV DL,64H
SIM:
DEC DL
JNZ SIM ;延时>100ms
MOV DX,300H
IN AL,DX
MOV [BX],AL
INC BX
OUT DX,AL ;启动AD转换
LOOP DEBUG
JMP START;循环执行
INT 3
CODE ENDS
END START
原理图:
("program loading segment设为0200”,"stop on int3设为yes,no也可以")
运行结果:
运行程序后,暂停,点击“调试”菜单下的“8086”下的“memorydump”打开存储单元显示窗口。
proetus8086中8255运行仿真
按键控制LED
程序可直接用“轻松汇编”进行编译,连接。
如下图1(0方式。
1方式无法实现,没有stb,ibf端口)
源代码:
CODE SEGMENT
ASSUME CS:
CODE
PA EQU 60H
PB EQU 62H
PC EQU 64H
PD EQU 66H
MODE EQU 90H
START:
MOV AL,MODE
MOV DX,PD
OUT DX,AL
S:
MOV DX,PA
IN AL,DX
MOV DX,PC
OUT DX,AL
MOV DX,PB
OUT DX,AL
JMP S
INT 3
CODE ENDS
END START
按键扫描及数码管显示
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?
)
STACKS ENDS
DATAS SEGMENT ;数据段
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:
CODES,DS:
DATAS
START:
MOV AX,DATAS ;初始化
MOV DS,AX
PORTD EQU 66H ;CPU-8255控制寄存器
PORTA EQU 60H ;8086 A1接8255 A0;A2 接8255A1
PORTB EQU 62H
PORTC EQU 64H
REGIS EQU 10010000B ;A IN, B OUT,AB口工作方式0
BEGIN:
MOV DX,PORTD ;设置8255工作方式
MOV AL,REGIS ;control byte
OUT DX,AL
G1:
MOV DX,PORTA
IN AL,DX ;读A口数据
AND AL,00001111B ;高四位清零,只是用了pa0-pa3
;数码管译码
MOV BX,OFFSET LED
XLAT ;取LED表
;-------------
PUSH CX
MOV CX,40H ;延时
DELAY:
LOOP DELAY
POP CX
;-------------
MOV DX,PORTB
OUT DX,AL
JMP G1
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
;共阴数码管段选码表,无小数点
MOV AX,4C00H ;退出程序
INT 21H
CODES ENDS
END START
8255和adc0809的综合应用
1.8255用于控制adc(文件8255-adc),并读取转换结果,将结果存储在存储单元中)
2.8255用于读取转换结果(文件adc-2),并送led显示。
1.源代码:
STACKS SEGMENT STACK
DW 128 DUP(?
)
STACKS ENDS
CODES SEGMENT
ASSUME CS:
CODES
START:
MOV DX,66H
MOV AL,83H
OUT DX,AL
LOOP1:
MOV AL,00H
MOV DX,60H ;PA, BOOT AD
OUT DX,AL
MOV AL,80H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,64H ;PC
LOP:
IN AL,DX
TEST AL,01H ;READ EOC
JZ LOP
MOV DX,64H
MOV AL,80H
OUT DX,AL
MOV DX,62H ;PB, READ DATA
IN AL,DX
MOV DX,0000H
MOV DS,DX
MOV BX,0
MOV [BX],AL
MOV DL,60H
D:
DEC DL
JNZ D
JMP START
INT 3
CODES ENDS
END START
原理图:
运行结果:
2.源程序用emu8086编译可直接生成exe,但用masm和ml无法编译,因不能识别mov al,[1000h]这样的语法结构。
单独修改此语法后,生成的exe在仿真时出现,显示乱码的情况。
8086中程序初装地址为0000,如果为0200,则乱码。
CODE SEGMENT
ASSUME CS:
CODE
START:
MOV AL,10000000B ;8255初始化 PA不用
OUT 66H,AL
MOV DX,300H ;0809IO端口地址
OUT DX,AL ;启动AD转换
DEBUG:
;循环扫描数码管
MOV AL,0FFH
OUT 62H,AL
MOV DL,20H
MOV AL,08H
OUT 64H,AL
MOV BX,0000H
MOV AL,[BX] ;[1000H]
OUT 62H,AL
SIM0:
DEC DL
JNZ SIM0 ;数码管第0位显示
MOV AL,0FFH
OUT 62H,AL
MOV DL,20H
MOV AL,04H
OUT 64H,AL
MOV BX,0002H
MOV AL,[BX] ;[1002H]
OUT 62H,AL
SIM1:
DEC DL
JNZ SIM1 ;数码管第1位显示
MOV AL,0FFH
OUT 62H,AL
MOV DL,20H
MOV AL,02H
OUT 64H,AL
MOV BX,0004H
MOV AL,[BX] ;[1004H]
OUT 62H,AL
SIM2:
DEC DL
JNZ SIM2 ;数码管第2位显示
;MOV DL,10H
;MOV AL,00H
;OUT 64H,AL
;MOV AL,[1006H]
;OUT 62H,AL
;SIM3:
DEC DL
;JNZ SIM3 ;数码管第3位不显示
;延时>100ms
;转换结果 *(5v/256)为要显示的电压值
;为取数方便将其再乘 100(250*2=5*100),变成整数,如 2.5v 变成 250,再通过除 100和除 10来取得相应数值。
MOV DX,300H
MOV AX,0000H
IN AL,DX ;采集AD数据
MOV DL,0FAH
MUL DL ; al*250
MOV DL,0FFH
DIV DL ; /256
MOV DL,02H
MUL DL ;数据处理 *2
MOV DL,64H ; /100
DIV DL ; AL中为最高位
;PUSH BX
MOV BX,OFFSET TABLE1
XLAT
MOV DL,80H ; -128
SUB AL,DL ;处理后加小数点
MOV SI,0004H
MOV [SI],AL ; [1004H],AL ;最高位值存入内存
MOV AL,AH
MOV AH,00H
MOV DL,0AH ; /10
DIV DL ; AL中为第二位
XLAT
MOV SI,0002H
MOV [SI],AL ;[1002H],AL ;小数点后两位值
MOV AL,AH ; AH中为第三位
XLAT
MOV SI,0000H
MOV [SI],AL ;[1000H],AL
;POP BX
MOV DX,300H
OUT DX,AL ;启动AD转换
;INC BX
JMP DEBUG
TABLE1 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阴表
INT 3
CODE ENDS
END START
原理图:
运行结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 相应 proteus 程序 文件 说明
