微机原理与接口技术
实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
火灾联动控制系统
---喷洒系统
学院(系):
班 级:
学 号:
学生姓名:
成 绩:
日 期:
目录
1、8255并行接口实验………………………………………………………
2、8259(单片)中断实验…………………………………………………
3、8259级联实验……………………………………………………………
4、8253定时计数器实验…………………………………………………….
5、A/D转换接口实验………………………………………………………..
6、步进电机实验……………………………………………………………..
7、综合
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
……………………………………………………………... …..
7.1 设计题目…………………………………………………….. ….... …
7.2设计所用芯片……………………………………………….. ….... …
7.3总体思想…………………………………………………….. ….... …
7.4系统各功能模块设计……………………………………….. ….... …
7.5 程序
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图…………………………………………………….. …....
7.6 设计总结…………………………………………………….. ….... …
附录: ……………………………………………………………….. ….... …
1.汇编程序…………………………………………………….. ….... …....
2.参考文献…………………………………………………….. ….... …
1、8255 并行接口实验
一、实验目的
1、 学习利用并行接口芯片 8255构成并行接口电路的基本
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。
2、 熟悉掌握并行接口芯片 8255 的基本性能及在实际应用中硬件连接、初始化编程方
法。
二、实验内容
编写程序,使 8255的 PB口为输出口,PA为输入口,从 PA口将 K0~K7作为一个
字读入,再从 PB口输出这一反码字节。
三、程序代码
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,21BH ;置 PB为输出口,PA为输入口
MOV AL,90H
OUT DX,AL
BG: MOV DX,218H ;从 8255PA口读入数据
IN AL,DX
MOV DX,219H ;从 8255PB口输出数据
OUT DX,AL
JMP BG
CODE ENDS
END START
四、电路图
五、实现方法说明:
先初始化,置 PB为输出口,PA为输入口;再通过 in指令从 8255PA口读入数据;最后
通过 out指令将数据从 8255PB口输出。
2.8259(单片)中断实验
一、实验目的:
(1)了解 PC机的中断结构及 8259中断控制器的初始化。
(2)熟悉 8259中断控制器的工作原理和硬件连接方法。
(3)了解 8259的应用和硬件编程方法。
(4)了解 8259中断屏蔽,以及优先级判别等特性。
二、实验内容:
主程序使 8255的 PB口为输出口,输出 0FFH,L0~L7指示灯全亮,中断服务程序从 PB
口输出 0FH,L0~L3 亮,L4~L7灭,并延时一段时间后返回主程序。
三、程序代码
INT0 EQU 220h
INT1 EQU 221h
INT10 EQU 228h
INT11 EQU 229h
STACK SEGMENT
STA DB 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
COD SEGMENT
ASSUME CS:CODE,SS:STACK
START:
CLI ;关中断
MOV AX,TOP ;保护现场
MOV SP,AX
push ds
MOV AX,0000H ;设置 IRQ0中断
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,0000H
MOV SI,20H
MOV [SI],AX
MOV AX,CS
MOV SI,22H
MOV [SI],AX
POP DX
MOV AL,13H ;设置 ICW1,8259单片、边沿触发、需写 ICW4
MOV DX,INT0
OUT DX,AL
MOV AL,8 ;设置 ICW2
MOV DX,INT1
OUT DX,AL
MOV AL,9 ;设置 ICW4 ,8086系统、普通 EOI 、缓冲方式
MOV DX,INT1
OUT DX,AL
MOV DX,INT1
MOV AL,0FEH ;OCW1,屏蔽 IR1~IR7位
OUT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
STI ;开中断
MOV DX,21BH ;初始化 8255,PB为输出口,PA为输入口
MOV AL,90H
OUT DX,AL
DSP: MOV AL,0FFH ;等待中断,使八个灯都亮
MOV DX,219H
OUT DX,AL
JMP DSP
IRQ0: STI ;中断服务程序
mov cx,0FFFFH ;延时
LOOP $
MOV AL,0FH ;使左四个灯灭右四个灯亮
MOV DX,219H
OUT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
mov cx,0FFFFH ;延时
LOOP $
mov cx,0FFFFH
LOOP $
IRET ;中断返回
code ends
end start
四、电路图
五、实现方法说明
8255PB口输出数据,没有中断(没有脉冲)时,输出全为高,当有中断时通过 8259来
控制 8255各个口是否亮,即延时多少。
3. 8259 级联实验
一、实验目的:
(1)了解 PC机的中断结构及 8259中断控制器的初始化。
(2)熟悉 8259中断控制器的工作原理和硬件连接方法。
(3)了解 8259的应用和硬件编程方法。
(4)了解 8259中断屏蔽,以及优先级判别等特性。
二、实验内容:
主程序使 8255的 PB口为输出口,输出 0FFH,L0~L7指示灯全亮。IR0中断服务程
序从 PB口输出 0FH,L0~L3 亮,L4~L7灭,并延时一段时间后返回主程序。IR1中断服
务程序从 PB口输出 0F0H,L0~L3 灭,L4~L7亮,并延时一段时间后返回主程序。
三、程序代码
STI ;开中断
MOV DX,21BH ;初始化 8255,PB为输出口,PA为输入口
MOV AL,90H
OUT DX,AL
DSP: MOV AL,0FFH ;等待中断,使八个灯都亮
MOV DX,219H
OUT DX,AL
JMP DSP
IRQ0: STI ;IRQ0中断服务程序
mov cx,0FFFFH ;延时
LOOP $
MOV AL,0FH ;左四个灯灭,右四个灯亮
MOV DX,219H
OUT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
mov cx,0FFFFH ;延时
LOOP $
IRET
;中断返回
IRQ1: STI ;IRQ1中断服务程序
mov cx,0FFFFH ;延时
LOOP $
MOV AL,0F0H ;左四个灯亮,右四个灯灭
MOV DX,219H
OUT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
mov cx,0FFFFH ;延时
LOOP $
mov cx,0FFFFH
LOOP $
IRET ;中断返回
code ends
四、电路图
五、实现方法说明
通过 8259级联来控制 8255PB口的输出情况。
4、定时计数器实验
一、实验目的:
(1)了解定时器 8253的初始化用法。
(2)会用逻辑笔观察 8253的工作状态。
二、实验内容:
程序使 8253的定时/计数器 2工作在方式 3下。
三、程序代码:
TIM_CTL EQU 203H
TIMER0 EQU 200H
TIMER1 EQU 201H
TIMER2 EQU 202H
MODE23 EQU 0B6H
MODE13 EQU 76H
CODE SEGMENT
ASSUME CS:CODE
START:
TT: CLI ;关中断
MOV DX,TIM_CTL
MOV AL,MODE23
OUT DX,AL
MOV DX,TIMER2
MOV AL,0FFh
OUT DX,AL
MOV AL,0FFh
OUT DX,AL
WT: JMP WT ;等待中断
CODE ENDS
END START
四、电路图
五、实现方法说明:
先对 8253进行初始化,选择计数器 2工作在方式 3下,输入计数值 FFH,则 O2端输出
以 FFH为周期的方波,将 O2端连到逻辑笔输入端即可观察现象。
5、A/D 转换接口实验
一、实验目的:
(1)了解 A/D转换的工作原理。
(2)掌握 0809的使用方法。
二、实验内容:程序用 0809的 IN0通道采集数据并在数码管上显示
三、程序代码:
B8279 EQU 212H
D8279 EQU 210H
LED0 EQU 00
LED1 EQU 38H
data segment
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,
DB 7FH,6FH,77H,7CH,39H, 5EH,79H,71H
data ends
CODE SEGMENT
ASSUME CS:CODE,DS:data
START:
MOV DX,B8279 ;初始化 8279
MOV AL,0D0H ;将显示 RAM全部清除
OUT DX,AL
MOV CX,0FFFFH ;延时
LOOP $
MOV DX,B8279
MOV AL,LED0 ;8个字符显示,左入口、
OUT DX,AL ;编码扫描键盘,双键锁定
MOV AL,LED1
OUT DX,AL
MOV DX,B8279
MOV AL,95H ;写显示 RAM命令
OUT DX,AL
MOV DX,D8279
MOV AL,40H
OUT DX,AL
MOV DX,D8279
MOV AL,5eH
OUT DX,AL
MOV DX,D8279
MOV AL,77H
OUT DX,AL
TT: MOV DX,230H
OUT DX,AL
MOV CX,0FFFFH
LOOP $
MOV DX,B8279 ;写显示 RAM命令
MOV AL,83H
OUT DX,AL
MOV DX,230H
IN AL,DX ;模拟输入
AND AL,0FH
LEA BX,LED ;取 LED首地址
XLAT
MOV DX,D8279 ;输出显示
OUT DX,AL
MOV DX,B8279
MOV AL,84H
OUT DX,AL
MOV DX,230H
IN AL,DX ;模拟输入
MOV CL,4H
ROR AL,CL
AND AL,0FH
LEA BX,LED
XLAT
MOV DX,D8279
OUT DX,AL
JMP TT
CODE ENDS
END START
四、电路图
五、实现方法说明
通过 0809进行 A\D转换,由 8279进行键盘显示。
6、步进电机实验
一、实验目的:
(1)了解步进电机的工作原理,以及脉冲分配概念。
(2)掌握计算机控制步进电机的方法。
二、实验内容:
程序通过 8355控制步进电机旋转。
三、程序代码:
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,21BH ;初始化 8255,PB为输出口,PA为输入口
MOV AL,90H
OUT DX,AL
STA: MOV DX,218H ;转速选择判断
IN AL,DX
CMP AL,01H
JNZ C2
MOV BX,0FFFFH ;转速 1
JMP WORK
C2: CMP AL,02H
JNZ C4
MOV BX,07FFFH ;转速 2
JMP WORK
C4: CMP AL,04H
JNZ C8
MOV BX,0FFFH ;转速 3
JMP WORK
C8: CMP AL,08H
JNZ CC
MOV BX,07FFH ;转速 4
JMP WORK
CC: MOV AL,00H
MOV DX,219H
OUT DX,AL
JMP STA
WORK: ;延时输出脉冲,使步进电机转动
MOV AL,01H ;从 PB口输出 01
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,03H ;从 PB口输出 03
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,02H ;从 PB口输出 02
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,06H ;从 PB口输出 06
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,04H ;从 PB口输出 04
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,0CH ;从 PB口输出 0C
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,08H ;从 PB口输出 08
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
MOV AL,09H ;从 PB口输出 09
MOV DX,219H
OUT DX,AL
MOV CX,BX ;延时
LOOP $
JMP STA ;跳转到 STA
CODE ENDS
END START
四、电路图
五、实现方法说明
将 8255PB输出口接到 2003的输入端,2003的输出端接步进电机来控制步进电机。
7.综合设计
7.1 设计题目
火灾联动控制系统---喷洒系统
模拟题:
在火灾发生时,由于温度升高,会使喷洒感应玻璃泡破裂,水会从该处喷洒到地
面上。
此时,保存在水箱里的水逐渐减少,当水位减少到一定位置时,应该补充水箱里
的水,补充的水达到一定高度后,自动停止加水。
一.实验要求:
1.根据题意设计一个控制系统原理图,然后设计控制电路,即设计实验电路(可
以查阅资料)。
2.在火灾发生时,温度感应玻璃泡会破裂,水位开始下降,此时采集水箱水位信
号。实验中,增加一个确认火灾发控制信号(开关),然后再检测水位开关。直
流电机代替实际水泵工作,并显示泵的工装状态。
3.记录火灾发生时间。
7.2设计所用芯片
8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送 IRQ0。
8279接口芯片:实现 LED显示输出。
8259中断控制器:用于产生中断。
8255并行接口芯片:数据的传送,缓冲与所存。
2003驱动:提高带载能力,增强控制信号的驱动能力
LED:六个 LED用于显示时:分:秒值。
7.3总体思想
本系统设计的喷洒系统以 8088微处理器作为 CPU,8259做中断控制器产生
中断,用 8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟电
路。
当火灾发生时,即确认火灾发控制信号(开关)K2打开,触发 8259产生中
段,在中段子程序中发出报警,打开应急灯,通过 2003驱动直流电机代替实际
水泵工作,并显示泵的工装状态。在此系统中,8253的功能是定时, 通过两个
定时器串联产生秒脉冲的信号,此信号接 8259的 IR0,CPU即处理,使液晶显示
器上的时间发生变化。
7.4系统各功能模块设计
1主控模块
主控模块是系的核心模块,对 8253、8279进行初始化,设置中断向量,初始
化 LED显示 00—00—00,开中断,等待中段信号的触发。
2.定时模块
8253的 OUT0连 CLK1,GATE端置为高电平,连接好系统总线,CLK0接系统
时钟 X00,通过级联产生秒脉冲信号,此信号作为中段的请求信号。
3.中断模块
设计中用到了 8259的三个中段输入端,分别为 IRQ0,IRQ1,IRQ2,其中 IRQ0
作为 24h时钟的中断申请端,IRQ1作为水位检测开关,当水满时控制水泵停止
加水,IRQ2为火灾发生信号的开关,一旦火灾发生时,通过中断申请的输入进
入中断子程序,控制应急灯,报警信号并使水泵开始工作,向不断的向水箱里冲
水直至水满信号的输入。
4.显示模块
显示模块是将显示缓冲区的数值送到 LED显示的功能模块,显示缓冲区是由
六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和
低位。硬件上由六个 LED构成,软件上由扫描显示的方法实现。
7.5 程序流程图
1.主程序流程图
初始化 8279-
初始化8259
初始化 8253
开始
开中断
8255的 PB口输出 00H
死循环等待中断
2.24小时显示程序流程图
7.6 设计总结
保护现场
秒单元+1
N 秒单元=60?
秒单元清零,分单元+1
分单元清零,小时单元+1
分单元=60?
时单元=24?
小时单元=0
显示时分秒
恢复现场
子程序返回
N
N
Y
Y
Y
附录:
1.汇编程序
TIM_CTL EQU 203H
TIMER0 EQU 200H
TIMER1 EQU 201H
TIMER2 EQU 202H
MODE23 EQU 0B6H ;计数器 2,先低后高,方式 3
MODE13 EQU 76H ;计数器 1,方式 3
INT0 EQU 220h
INT1 EQU 221h
INT10 EQU 228h
INT11 EQU 229h
B8279 EQU 212H
D8279 EQU 210H
LED0 EQU 10H
LED1 EQU 38H
DATA SEGMENT
GANG DB 40H;横杠
SECOND DB 00H
MINUTE DB 00H
HOUR DB 00H
;火灾发生时间
HUOS DB 00H
HUOM DB 00H
HUOH DB 00H
INIT DB 00H,00H,40H,5EH,79H,79H,73H,6DH;?
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H
DB 5EH,79H,71H
DATA ENDS
STACK SEGMENT
STA DB 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START:
CLI ;关中段
;----------设置 8279---------
MOV DX,B8279
MOV AL,0D0H
OUT DX,AL ;控制口 D1H 清 RAM
MOV CX,0FFFFH
LOOP $
MOV DX,B8279 ;将 X0,X1接 RL4,RL5
MOV AL,LED0;八个字符,左入口,编码扫描键盘,双键锁定
OUT DX,AL
MOV AL,LED1 ;分频
OUT DX,AL
MOV AL,3FH
MOV DX,D8279
OUT DX,AL
OUT DX,AL
MOV AL,40H
OUT DX,AL
MOV AL,3FH
OUT DX,AL
OUT DX,AL
MOV AL,40H
OUT DX,AL
MOV AL,3FH
OUT DX,AL
OUT DX,AL
MOV DX,TIM_CTL
MOV AL,MODE23
OUT DX,AL
MOV DX,TIM_CTL
MOV AL,MODE13
OUT DX,AL
MOV DX,TIMER2
MOV AL,0FFh
OUT DX,AL
MOV AL,0FFh
OUT DX,AL
MOV DX,TIMER1
MOV AL,01Fh
OUT DX,AL
MOV AL,000h
OUT DX,AL
PUSH DS
MOV AX,0000H ;SET IRQ0
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,0000H
MOV SI,20H
MOV [SI],AX
MOV AX,CS
MOV SI,22H
MOV [SI],AX
MOV AX,0000H ;SET IRQ1
MOV DS,AX
MOV AX,OFFSET IRQ1
ADD AX,0000H
MOV SI,24H
MOV [SI],AX
MOV AX,CS
MOV SI,26H
MOV [SI],AX
MOV AX,0000H ;SET IRQ2
MOV DS,AX
MOV AX,OFFSET IRQ2
ADD AX,0000H
MOV SI,28H
MOV [SI],AX
MOV AX,CS
MOV SI,2AH
MOV [SI],AX
pop ds
MOV AL,13H ;ICW1 电平触发器,单片,写 ICW4
MOV DX,INT0
OUT DX,AL
MOV AL,8 ;ICW2 中断类型码即第几个口中断的 ?
MOV DX,INT1
OUT DX,AL
MOV CX,0FFFFH
LOOP $
MOV AL,9 ;ICW4 D2=0;选择从片?
MOV DX,INT1
OUT DX,AL
MOV CX,0FFFFH
LOOP $
MOV DX,INT1
MOV AL,0F0H ;OCW1 中断的屏蔽 只允许 1,2
OUT DX,AL
MOV CX,0FFFFH
LOOP $
MOV CX,0FFFFH
LOOP $
STI
MOV DX,21BH
MOV AL,90H ;设置 8255 B口输出
OUT DX,AL
DSP: MOV AL,00H
MOV DX,219H
OUT DX,AL
JMP DSP
IRQ0: STI
LEA BX,LED
XLAT
MOV DX,D8279
OUT DX,AL
MOV AL, 2
LEA SI,LED
MOV BX,[SI]
XLAT
MOV DX,D8279
OUT DX,AL
MOV AL, 3
LEA BX,LED
MOV BX,[SI]
XLAT
MOV DX,D8279
OUT DX,AL
GANGGANG: MOV DX,B8279
MOV CX,08H
MOV AL,40H
OUT DX,AL
LOOP GANGGANG
CALL TIME
IRET
IRQ2: STI
MOV CX,0FFFFH
LOOP $
MOV AL,0FFH
MOV DX,219H
OUT DX,AL ;火灾控制开关使 B口全为高
;------------存储火灾时间--------
MOV AL,SECOND
MOV HUOS,AL
MOV AL,MINUTE
MOV HUOM,AL
MOV AL,HOUR
MOV HUOH,AL
;--------------------------------
MOV DX,INT0
MOV AL,20H
OUT DX,AL
DDD:
JMP DDD
IRET
IRQ1:
STI ;水位状态开关,水满时使电机停止转动
MOV CX,0FFFFH
LOOP $
MOV AL,0FEH
MOV DX,219H
OUT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
MOV CX,0FFFFH
LOOP $
IRET
IRQ3:
STI
MOV DX,D8279
MOV AL,HUOS
MOV BL,0AH
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AH,AL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,GANG
OUT DX,AL
MOV AL,HUOM
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,AH
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,GANG
OUT DX,AL
MOV AL,HUOH
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
UT DX,AL
OV AL,AH
EA SI,LED
MOV BX,[SI]
XLAT
UT DX,AL
MOV DX,INT0
MOV AL,20H
OUT DX,AL
IRET
TIME PROC
PUSH AX
PUSH BX
PUSH DX
MOV AL,SECOND
INC AL
CMP AL,3BH
JMP FEN
MOV SECOND,AL
JMP OVER
FEN:
MOV SECOND,00H
MOV AL,MINUTE
INC AL
CMP AL,3BH
JMP SHI
MOV MINUTE,AL
JMP OVER
SHI:
MOV AL,HOUR
INC AL
CMP AL,18H
JMP OOO
MOV HOUR,AL
JMP OVER
OOO:
MOV AL,00H
MOV SECOND,AL
MOV MINUTE,AL
MOV HOUR ,AL
OVER: MOV DX,D8279
MOV AL,SECOND
MOV BL,0AH
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AH,AL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,GANG
OUT DX,AL
MOV AL,MINUTE
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,AH
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,GANG
OUT DX,AL
MOV AL,HOUR
DIV BL
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
MOV AL,AH
LEA SI,LED
MOV BX,[SI]
XLAT
OUT DX,AL
POP DX
POP BX
POP AX
RET
TIME ENDP
CODE ENDS
END START
2.参考文献
1主控模块
4.显示模块