110 likes | 232 Views
调试环境组成. 程序框架的示例如下。 .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
E N D
程序框架的示例如下。 .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 START
第五次实验内容 定时器实验 • 1. 计数器0工作于方式3,产生频率为1KHz的方波。 • 2. 计数器1工作于方式1,观察用GATE的正脉冲触发计数。 • 3. 通过计数器1、2级联产生周期为1秒的方波,将计数器的输出与小灯相连接,观察小灯的亮灭情况。修改计数初值,观察小灯闪烁的变化情况。
1.硬件连线:8254模块中的CS接译码模块的CS1,GATE0接+5V,CLK0接47KHz的时钟信号,OUT0接示波器。1.硬件连线:8254模块中的CS接译码模块的CS1,GATE0接+5V,CLK0接47KHz的时钟信号,OUT0接示波器。 8254芯片的端口地址分配:计数器0为300H,计数器1为304H,计数器2为308H,控制端口为30CH。 • 参考程序如下。 • .486 • CODE SEGMENT USE16 • ASSUME CS:CODE • ORG 4000H • START: ;向控制端口30CH写入方式控制字,初始化计数器0 • MOV DX, 30CH • MOV AL, 00010110B;只写低字节 • OUT DX, AL • ;向计数器0端口300H写入计数初值 MOV DX, 300H • MOV AL, 47 • OUT DX, AL ;写初值 • WT: JMP WT • CODE ENDS • END START
2.硬件连线:8254模块中的CS接译码模块的CS1,GATE1接键正脉冲输出,CLK1接47KHz的时钟信号,OUT1接指示灯D1。2.硬件连线:8254模块中的CS接译码模块的CS1,GATE1接键正脉冲输出,CLK1接47KHz的时钟信号,OUT1接指示灯D1。 • 8254芯片的端口地址分配:计数器0为300H,计数器1为304H,计数器2为308H,控制端口为30CH。 • 参考程序如下。 • .486 • CODE SEGMENT USE16 • ASSUME CS:CODE • ORG 4000H • START: ;向控制端口30CH写入方式控制字,初始化计数器1 • 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
3.硬件连线:8254模块中的CS接译码模块的CS1,GATE1,GATE2接+5V,CLK2接OUT1,CLK1接47KHz的时钟信号,OUT2接指示灯D1。3.硬件连线:8254模块中的CS接译码模块的CS1,GATE1,GATE2接+5V,CLK2接OUT1,CLK1接47KHz的时钟信号,OUT2接指示灯D1。 • 8254芯片的端口地址分配:计数器0为300H,计数器1为304H,计数器2为308H,控制端口为30CH。 • 定时器1方式3,初值47,输出1K • 定时器2方式3,初值1000,输出1Hz
.486 • CODE SEGMENT USE16 • ASSUME CS:CODE • ORG 4000H • START: ;向控制端口30CH写入方式控制字,初始化计数器1 • MOV DX, 30CH • MOV AL, 01010110B;只写低字节 • OUT DX, AL ;向计数器1端口304H写入计数初值 • MOV DX, 304H • MOV AL, 47 • OUT DX, AL ;写初值 • MOV DX, 30CH • MOV AL, 10110110B; • OUT DX, AL ;向计数器2端口308H写入计数初值 • MOV DX, 308H • MOV AX, 1000 • OUT DX, AL ;写初值 • MOV AL,AH • OUT DX,AL • WT: JMP WT • CODE ENDS • END START