1 / 77

实验开发与调试环境

实验开发与调试环境. 1. 硬件环境. 实验开发与调试环境. 2. 软件环境 :DeChangTS 集成环境. 实验开发与调试环境. 2. 软件环境 :DeChangTS 集成环境. 实验开发与调试环境. 主机系统有 32K 的 RAM 空间,地址为 0000 : 0000H ~ 0000 : 7FFFH ,分配情况如下 :. 3. 实验环境的内存资源与分配. 实验开发与调试环境. .486 DATA SEGMENT AT 0200H USE16 ; 此处定义变量 DATA ENDS

rasia
Télécharger la présentation

实验开发与调试环境

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验开发与调试环境 1. 硬件环境

  2. 实验开发与调试环境 2. 软件环境:DeChangTS集成环境

  3. 实验开发与调试环境 2. 软件环境:DeChangTS集成环境

  4. 实验开发与调试环境 主机系统有32K的RAM空间,地址为0000:0000H~0000:7FFFH,分配情况如下: 3. 实验环境的内存资源与分配

  5. 实验开发与调试环境 .486 DATA SEGMENT AT 0200H USE16 ;此处定义变量 DATA ENDS SDATA SEGMENT AT 0300H USE16 STACK DB 500 DUP(?) SDATA ENDS CODE SEGMENT USE16 ASSUME CS: CODE, DS: DATA ORG 4000H BEG: MOV AX, SDATA MOV SS, AX MOV SP, 500 MOV AX, DATA MOV DS, AX ;此处添加用户代码 WT: JMP WT CODE ENDS END BEG 4. 程序模板

  6. 实验开发与调试环境 AT 伪指令说明段基址。如果不加说明,那么段基址由编译系统分配。 ORG 伪指令说明起始偏移地址。 STACK 伪指令说明堆栈段的开始。 USE16 伪指令引导汇编程序在80386 ~ Pentium Pro中使用16位指令模式及数据长度。 5. 注意事项

  7. 实验开发与调试环境 任何在实方式下运行的程序都必须包含USE16伪指令 代码段的段基址不能由用户设定,需要用ORG指定起始偏移地址。 DeChangeTS环境中,数据段中定义的变量,只会为变量分配存储单元,不会初始化变量。 如果程序没有定义堆栈段,那么复位后系统初始设置的堆栈位置为0000H:2000H。 程序最后一条指令一般为WT: JMP WT,使CPU在此循环等待 5. 注意事项

  8. 实验装置介绍 1. 实验装置实物

  9. 实验装置介绍 1. 实验装置实物

  10. 实验装置介绍 2. 实验装置上的译码输出

  11. 实验装置介绍 实模式下,第0、1、2、3、4、11、12中断都由实验装置的监控程序使用. 12中断为用户提供显示功能,可以在8位8段LED上显示字符和字符串,只能显示数字和部分字符。 3. 实验装置上的中断程序

  12. 实验装置介绍 ① 显示字符 格式为: MOV AX,‘AB’ MOV CH,0 INT 12 该功能最多只能显示两个字符,颜色固定为红色。也可只显示一个字符,AH的字符显示在左边,AL的字符在右边的LED上显示。 ②显示字符串 格式为: MOV AX, OFFSET STRING1 MOV CH, 1AH MOV CL, LENGTH STRING1 INT 12 可以显示一个字符串,字符数不大于8个,超出部分不显示。CH寄存器设置颜色,10H为黄色,15H为红色,1AH为绿色。CL寄存器说明待显示字符串的长度。 3. 实验装置上的中断程序

  13. 实验装置介绍 例:调用12中断显示红色的字符串“S0123456” .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: 显示红色字符串'S0123456' LEA AX, STR1;说明字符串首地址 MOV CH, 15H ;设置颜色 MOV CL, 8 ;说明字符串长度 INT 12 WT: JMP WT STR1 DB ‘S0123456' CODE ENDS END START 3. 实验装置上的中断程序

  14. 实验装置介绍 3. 实验装置上的中断程序

  15. 实验装置的接口电路 1.定时器/计数器8254模块

  16. 实验装置的接口电路 1.定时器/计数器8254模块

  17. 实验装置的接口电路 定时器/计数器8254接口电路 1.定时器/计数器8254模块

  18. 实验装置的接口电路 定时器/计数器8254地址和片选决定口地址 1.定时器/计数器8254模块

  19. 实验装置的接口电路 • 编程使8254计数器2产生周期为1秒的方波,并将计数器的输出与小灯相连接,观察小灯的变化情况。 • 硬件连线:8254模块中的CS接译码模块的CS1,GATE2接+5V,CLK2接47KHz的时钟信号,OUT2接小灯D1。 • 8254芯片的端口地址分配:计数器0为300H,计数器1为304H,计数器2为308H,控制端口为30CH。 1.定时器/计数器8254模块

  20. 实验装置的接口电路 .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: ;向控制端口30CH写入方式控制字,初始化计数器2 MOV DX, 30CH MOV AL, 10110110B OUT DX, AL ;向计数器2端口308H写入计数初值 MOV DX, 308H MOV AX, 47000 OUT DX, AL ;先写低字节 MOV AL, AH OUT DX, AL ;后写高字节 WT: JMP WT CODE ENDS END START 1.定时器/计数器8254模块

  21. 实验装置的接口电路 习题2 计数器1工作于方式1,观察用GATE的正脉冲触发计数。 硬件连线:8254模块中的CS接译码模块的CS1,GATE1接键正脉冲输出,CLK1接47KHz的时钟信号,OUT1接指示灯D1。 8254芯片的端口地址分配:计数器0为300H,计数器1为304H,计数器2为308H,控制端口为30CH。 每按一次键,灯亮1S钟。 1.定时器/计数器8254模块

  22. 实验装置的接口电路 .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: ;向控制端口30CH写入方式控制字,初始化计数器0 MOV DX, 30CH MOV AL, 01110010B OUT DX, AL ;向计数器1端口304H写入计数初值 MOV DX, 304H MOV AX, 47000 OUT DX, AL ;写初值 MOV AL,AH OUT DX,AL WT: JMP WT CODE ENDS END START 1.定时器/计数器8254模块

  23. 实验装置的接口电路 2.并行接口模块8255A

  24. 实验装置的接口电路 2.并行接口模块8255A

  25. 实验装置的接口电路 共阳极8段数码管工作原理 2.并行接口模块8255A

  26. 实验装置的接口电路 共阴极8段数码管工作原理 2.并行接口模块8255A

  27. 实验装置的接口电路 2.并行接口模块8255A

  28. 实验装置的接口电路 采用共阳极段码:C0H,F9H… 颜色控制: 2.并行接口模块8255A

  29. 实验装置的接口电路 8255A的片选信号生成: 2.并行接口模块8255A

  30. 实验装置的接口电路 BE0 BE1 BE2 BE3 与所访问的数据总线之间的关系表 2.并行接口模块8255A

  31. 实验装置的接口电路 由于片选已接好,8255A口地址固定: 2.并行接口模块8255A

  32. 实验装置的接口电路 编程实现使由4片8255A控制的8位LED从左到右显示红色的“3C2D1E0F”。 程序一次输出32位数据,当DX=20CH时,OUT DX, EAX指令将EAX中的数据送给4个端口地址:20CH~20FH。 2.并行接口模块8255A

  33. 实验装置的接口电路 .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: ;初始化4片8255A ;20CH-20FH为4片8255A芯片的控制端口 MOV DX, 20CH MOV EAX,80808080H OUT DX, EAX ;200H-203H是4片8255A芯片A口的端口地址 ;使4位LED显示’3210’ MOV DX, 200H MOV EAX, 0C0F9A4B0H OUT DX, EAX 2.并行接口模块8255A

  34. 实验装置的接口电路 ;204H-207H为4片8255A芯片B口的端口地址 ;控制4位LED显示’CDEF’ MOV DX, 204H MOV EAX, 8E86A1C6H OUT DX, EAX ;208H-20BH为4片8255A芯片C口的端口地址 ;将8位LED的颜色设置为红色 MOV DX, 208H MOV EAX, 05050505H OUT DX, EAX WT: JMP WT CODE ENDS END START 2.并行接口模块8255A

  35. 实验装置的接口电路 习题2:利用8个开关K1~K8控制8个发光二极管D1~D8的状态。要求:当只有开关K1扳向前时,发光二极管从右到做逐个循环点亮;当只有开关K1、K2扳向前时,发光二极管从右到左成对逐次循环点亮;当只有开关K1、K2和K3扳向前时,发光二极管从右到左3个为一组逐次循环点亮;以此类推,当全部开关都扳向前时,8个发光二极管全亮;当开关状态不满上述情况时,发光二极管全部熄灭。任何时候扳动开关,二极管状态随之改变。通过8255A芯片的B口读入开关状态,C口控制发光二极管。 2.并行接口模块8255A

  36. 实验装置的接口电路 硬件连接:8255B口接开关,C口接发光二极管 ;口地址 203 207 20b 20f ;控制字:10000010B 82h 2.并行接口模块8255A .486 code segment use16 assume cs:code org 4000h beg: mov dx,20fh mov al,82h out dx,al ;8255A初始化,C口输入,A,B口输出

  37. 实验装置的接口电路 mov bl,0 ;存原来的开关状态 mov bh,0ffh l2: mov dx,207h in al,dx ;从C口读入开关状态 cmp al,bl jZ l3 ;开关状态没发生变化 mov bl,al cmp al,01h jz l1 cmp al,03h jz l1 ;K1、K2为’1’转显示处理 cmp al,07h jz l1 ;K1、K2、K3为’1’转显示处理 cmp al,0fh jz l1 ;K1、K2、K3、K4为’1’转显示处理 2.并行接口模块8255A

  38. 实验装置的接口电路 cmp al,1fh jz l1 ;K1、K2、K3、K4、K5为’1’转显示处理 cmp al,3fh jz l1 ;K1、K2、K3、K4、K5、K6为’1’转显示处理 cmp al,7fh jz l1 ;K1、K2、K3、K4、K5、K6、K7为’1’转显示处理 ;非7种规定状态,转重新读入开关状态 cmp al,0ffh jz l1 mov al,00h l1: not al mov bh,al 2.并行接口模块8255A

  39. 实验装置的接口电路 l3: mov ecx,01ffffh l0: loopd l0 ;延时 mov al,bh mov dx,20Bh out dx,al rol al,1 ;循环左移一位 mov bh,al ;保存此时的状态 jmp l2 code ends end beg 2.并行接口模块8255A

  40. 实验装置的接口电路 编程实现让第1片8255A所控制的两个三色LED显 示红色的“58”。硬件连接不需要 2.并行接口模块8255A .486 CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: ;初始化第一片8255A ;20CH为第一片8255A芯片的控制端口 MOV DX, 20CH MOV AL,80H OUT DX, AL ;200H是8255A芯片A口的端口地址 MOV DX, 200H MOV AL, 92H;5

  41. 实验装置的接口电路 编程实现让第1片8255A所控制的两个三色LED显 示红色的“58”。硬件连接不需要 2.并行接口模块8255A OUT DX, AL ;204H为8255A芯片B口的端口地址 MOV DX, 204H MOV AL, 80H;8 OUT DX, AL ;208H为8255A芯片C口的端口地址 ;将8位LED的颜色设置为红色 MOV DX, 208H MOV AL, 05H OUT DX, AL WT: JMP WT CODE ENDS END START

  42. 实验装置的接口电路 3. 8段LED显示器 采用共阴极段码

  43. 实验装置的接口电路 3. 8段LED显示器 注意: 由于段信号接有锁存器,可以通过锁存器传送段信号,此时就不需要接段信号线,但要接KEYCS2选通线,并由此确定口地址 位信号高电平选通

  44. 实验装置的接口电路 用8255A芯片的A口控制6位共阴极LED的位选,B口控制段选,编程实现让6位LED从左到右循环显示‘5’。 硬件连线:8255A的PA0~PA5接LED的位选DS1~DS6,PB0~PB7接LED的段选a~dp。 3. 8段LED显示器 .486 PORTA EQU 203H PORTB EQU 207H PORTC EQU 20BH CTRL EQU 20FH CODE SEGMENT USE16 ASSUME CS:CODE ORG 4000H START: ;初始化第4片8255A MOV DX, CTRL MOV AL, 80H OUT DX, AL

  45. 实验装置的接口电路 ;段选口送’5’的字型码 MOV DX, PORTB MOV AL, 6DH OUT DX, AL NXTR: MOV BL, 6 MOV AL, 01H NXTB: MOV DX, PORTA OUT DX, AL ;送位选信号 CALL DLYL ;调用长延时子程序 SHL AL, 1 DEC BL JNZ NXTB JZ NXTR 3. 8段LED显示器

  46. 实验装置的接口电路 DLYL PROC PUSH ECX MOV ECX, 04FFFFH DLYL_AGN: NOP LOOPD DLYL_AGN POP ECX RET DLYL ENDP CODE ENDS END START 3. 8段LED显示器

  47. 实验装置的接口电路 4. 4×3小键盘

  48. 实验装置的接口电路 4. 4×3小键盘

  49. 实验装置的接口电路 小键盘电路说明: (1)键盘扫描时,给列信号,读回行信号 (2)4位行信号放低半字节(D0,D1,D2,D3),3位列信号放D4,D5,D6,将D7固定为1,得到按键特征码 4. 4×3小键盘 (3)若接上KEYCS0,则可以通过245读键盘行信号,此时不用接行信号线,口地址由KEYCS0的连接线决定 (4)若接上KEYCS1,则可以通过273送键盘列信号,此时不用接列信号线,口地址由KEYCS1的连接线决定

  50. 实验装置的接口电路 用8255A芯片的A口与键盘行信号相连,B口与键盘列信号相连,编程扫描按键,如果按下K0键,就在8255(1)所控制的三色LED上显示‘FF’,否则显示‘00’。 硬件连线:第4片8255A的PA0~PA3与键盘行信号P0~P3相连,PB0~PB2与键盘列信号Q0~Q2相连。 4. 4×3小键盘

More Related