
实验一接口实验(一)--8255并行口实验一、实验目的掌握8255A的编程原理。二、实验设备MUT一IⅢI型实验箱、8086CPU模块。三、实验内容8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。五、实验步骤1、实验接线PBO~PB7发光二极管的输入LED1LED8。CS0<>CS8255;PAO~PA7台平推开关的输出K1~K8:2、编程并全速或单步运行。3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。六、实验提示8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。实验中,8255A工作于基本输入输出方式(方式0)。七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。assumecs:codecode segment publicorg 100hdx,04a6h;控制寄存器地址movstart:ax,90h,设置为A口输入,B口输出movoutdx,ax;A口地址startl:movdx,04a0hin输入ax,dxdx,04a2hB口地址mov输出outdx,axjmpstartlcodeendsendstart八、编程扩展1.A/B口功能互换
1 实验一 接口实验(一) -8255 并行口实验 一、实验目的 掌握 8255A 的编程原理。 二、实验设备 MUT—Ⅲ型实验箱、8086CPU 模块。 三、实验内容 8255A 的 A 口作为输入口,与逻辑电平开关相连。8255A 的 B 口作为输出口,与发光二极管相连。编写 程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和 8255 可编程并口电路。 五、实验步骤 1、实验接线 CS0CS8255; PA0~PA7 平推开关的输出 K1~K8; PB0~PB7发光二极管的输入 LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于 L 时,对应的发光二极管点亮,置 于 H 时熄灭。 六、实验提示 8255A 是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A 有三个 8 位的输入输 出端口,通常将 A 端口作为输入用,B 端口作为输出用,C 端口作为辅助控制用,本实验也是如此。实验中, 8255A 工作于基本输入输出方式(方式 0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在 LED 上显示出来。例如:K2 置于 L 位置,则对应的 LED2 应该点亮。 assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设置为 A 口输入,B 口输出 out dx,ax start1: mov dx,04a0h ;A 口地址 in ax,dx ;输入 mov dx,04a2h ;B 口地址 out dx,ax ;输出 jmp start1 code ends end start 八、编程扩展 1.A/B 口功能互换

2.实现一对多和多对一。3.使用8255芯片实现38译码器功能。2
2 2.实现一对多和多对一。 3.使用 8255 芯片实现 38 译码器功能

实验二接口实验(二)--A/D实验一、实验目的熟悉A/D转换的基本原理,掌握ADC0809的使用方法。二、实验设备MUT一IⅢI型实验箱、8086CPU模块。三、实验内容从ADINO输入一路模拟信号,启动A/D转换,用简单输入口(74LS244)查询EOC信号,转换结束后查看转换结果。同时用万用表测量输入的模拟电压,与转换后的数字量比较。作图,横坐标是模拟电压,纵坐标是转换的数字量,检查A/D转换的线性度。其它通道实验与通道0类似,相应修改地址即可。四、实验原理介绍本实验用到两部分电路:简单I/O口扩展电路、A/D、D/A电路五、实验步骤1、实验连线ANO ADINOCS0>CS0809CS1CS244E0CIN02、用实验箱左上角的“VERF.ADT”电位器调节ADC080912脚上的参考电压至5V。3、编写程序并全速运行。4、检查显示数据是否与电位器输出的电压相符合。六、实验提示实验电路中启动信号START与地址锁存信号相连,所以启动A/D转换的方法为:MOVDX,ADDRESS:ADDRESS是ADC0809的端口地址OUTAL,DX;发片选及IOW信号,启动0通道七、实验结果在输入电压AN0分别为OV,1V,2V,3V,4V,5V时显示数据分别为00H,33H,66H,99H,0CCH,0FFH(数据低位略有偏差属正常现象)。程序:con8279 equ0492hdat8279equ0490hassumecs:codecode segment publicorg 100hstart1start:jmpsegcod db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71hstartl:dx,04a0hmovmovax,34hdx,ax启动通道0outwaitl:movdx,04b0h;CS244inax,dx读EOCandax,13
3 实验二 接口实验(二) -A/D 实验 一、实验目的 熟悉 A/D 转换的基本原理,掌握 ADC0809 的使用方法。 二、实验设备 MUT—Ⅲ型实验箱、8086CPU 模块。 三、实验内容 从 ADIN0 输入一路模拟信号,启动 A/D 转换,用简单输入口(74LS244)查询 EOC 信号,转换结束后 查看转换结果。同时用万用表测量输入的模拟电压,与转换后的数字量比较。作图,横坐标是模拟电压, 纵坐标是转换的数字量,检查 A/D 转换的线性度。 其它通道实验与通道 0 类似,相应修改地址即可。 四、实验原理介绍 本实验用到两部分电路:简单 I/O 口扩展电路、A/D、D/A 电路 五、实验步骤 1、实验连线 AN0 ADIN0 CS0 CS0809 CS1 CS244 EOC IN0 2、 用实验箱左上角的“VERF.ADJ”电位器调节 ADC0809 12 脚上的参考电压至 5V。 3、编写程序并全速运行。 4、检查显示数据是否与电位器输出的电压相符合。 六、实验提示 实验电路中启动信号 START 与地址锁存信号相连,所以启动 A/D 转换的方法为: MOV DX ,ADDRESS ;ADDRESS 是 ADC0809 的端口地址 OUT AL, DX ;发片选及 IOW 信号,启动 0 通道 七、实验结果 在输入电压 AN0 分别为 0V,1V,2V,3V,4V,5V 时显示数据分别为 00H,33H,66H,99H,0CCH,0FFH (数据低位略有偏差属正常现象)。 程序: con8279 equ 0492h dat8279 equ 0490h assume cs:code code segment public org 100h start: jmp start1 segcod db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1: mov dx,04a0h mov ax,34h out dx,ax ;启动通道 0 wait1: mov dx,04b0h ;CS244 in ax,dx ;读 EOC and ax,1

ax,1cmpwaitl;如果EOC=0,waiting...jnedx,04a0hmovinax,dx;读转换结果andax,fthmovbx,axnop;disp:movdi,offsetsegcodax,08h,工作方式,16位,左入movdx.con8279movoutdx,axax,90hmovdx,con8279movdx,ax写显示RAM命令,地址自增outdx,dat8279movpush bx;取高4位andbx,ofohcl,4movshrbx,cl adddi,bxal,cs:[di]movah,0movoutdx,ax写RAMOnopnopmovdi,offset segcodbxpop;取低4位andbx,0fhadddi,bxmoval,cs:[di]ah,0movoutdx,ax写RAM1delay.cx,Offmhmov;time delaydelay1:nopnoploop delay1start1jmpcode endsend start八、编程扩展使用8255芯片实现模拟量输入控制指示灯输出。4
4 cmp ax,1 jne wait1 ;如果 EOC=0,waiting. mov dx,04a0h in ax,dx ;读转换结果 and ax,0ffh mov bx,ax nop ; disp: mov di,offset segcod mov ax,08h ;工作方式,16 位,左入 mov dx,con8279 out dx,ax mov ax,90h mov dx,con8279 out dx,ax ;写显示 RAM 命令,地址自增 mov dx,dat8279 push bx and bx,0f0h ;取高 4 位 mov cl,4 shr bx,cl add di,bx mov al,cs:[di] mov ah,0 out dx,ax ;写 RAM0 nop nop mov di,offset segcod pop bx and bx,0fh ;取低 4 位 add di,bx mov al,cs:[di] mov ah,0 out dx,ax ;写 RAM1 delay: mov cx,0ffffh ;time delay delay1: nop nop loop delay1 jmp start1 code ends end start 八、编程扩展 使用 8255 芯片实现模拟量输入控制指示灯输出

实验三接口实验(三)--D/A实验一、实验目的熟悉数模转换的基本原理,掌握D/A的使用方法。二、实验设备MUT一IⅢI型实验箱、8086CPU模块、示波器。三、实验内容利用D/A转换器产生锯齿波和三角波。四、实验原理图本实验用A/D、D/A电路五、实验步骤1、实验接线DS跳线:1>2CSO>CS0832示波器DOUT2、用实验箱左上角的“VERF.ADJ”电位器调节0832的8脚上的参考电压至5V。3、调试程序并全速运行,产生不同波形。4、用示波器观察波形。六、实验提示利用电位器“ZERO.ADJ”可以调零,“RANGE.ADJ”电位器调整满偏值。DAC0832在本实验中,工作在双缓冲接口方式下。当A1=0时可锁存输入数据:当A1=1时,可起动转换输出。所以要进行D/A转换需分二步进行,方法如下:MOVDX,ADDRESS;ADDRESS片选信号偶地址MOVAL, DATAOUTDX, AL;锁存数据ADDDX, 2OUTDX, AL;启动转换程序:assume cs:codecode segment publicorg 100hdx,04a0hstart:movbx,0upl:movup2:ax,bxmovoutdx,ax锁存数据movdx,04a2h输出使能outdx,axdx,04a0hmovbxinc数据加一jmpup25
5 实验三 接口实验(三) -D/A 实验 一、实验目的 熟悉数模转换的基本原理,掌握 D/A 的使用方法。 二、实验设备 MUT—Ⅲ型实验箱、8086CPU 模块、示波器。 三、实验内容 利用 D/A 转换器产生锯齿波和三角波。 四、实验原理图 本实验用 A/D、D/A 电路 五、实验步骤 1、 实验接线 CS0 CS0832 示波器DOUT DS 跳线:1 2 2、用实验箱左上角的“VERF.ADJ”电位器调节 0832 的 8 脚上的参考电压至 5V。 3、调试程序并全速运行,产生不同波形。 4、用示波器观察波形。 六、实验提示 利用电位器“ZERO.ADJ”可以调零,“RANGE.ADJ”电位器调整满偏值。 DAC0832 在本实验中,工作在双缓冲接口方式下。 当 A1=0 时可锁存输入数据;当 A1=1 时,可起动转换输出。 所以要进行 D/A 转换需分二步进行,方 法如下: MOV DX,ADDRESS ;ADDRESS 片选信号偶地址 MOV AL,DATA OUT DX,AL ;锁存数据 ADD DX ,2 OUT DX,AL ;启动转换 程序: assume cs:code code segment public org 100h start:mov dx,04a0h up1: mov bx,0 up2: mov ax,bx out dx,ax ;锁存数据 mov dx,04a2h out dx,ax ;输出使能 mov dx,04a0h inc bx ;数据加一 jmp up2

codeendsendstart八、编程扩展1.使用ADC0809芯片实现模拟量输入控制输出波形的占空比或频率。2.产生类似正弦波波形(阶梯波)。3.将输出的模拟量输入到ADC0809芯片中并显示。6
6 code ends end start 八、编程扩展 1.使用 ADC0809 芯片实现模拟量输入控制输出波形的占空比或频率。 2.产生类似正弦波波形(阶梯波)。 3.将输出的模拟量输入到 ADC0809 芯片中并显示

实验四温度控制实验一、实验目的1、了解温度控制系统的特点。2、研究大时间常数系统PID控制器的参数的整定方法。3、熟悉可编程串口的使用。二、实验设备1、EL-MUT-III型单片机实验箱2、8086CPU模块3、电机综合模块三、实验内容1、设定炉子的温度在一恒定值。2、调整P、I、D各参数,观察对其有何影响。四、实验原理VCCR8RS5.6K.1kR21UIAR6HR)R11680R7IRLOKDICA3585.1KCONTROL2435ER101OKIKTSRIVARISTORONICONTROL10KNSYNEvCCH1、温度控制电路原理说明:由温度信号采集单元、加热信号驱动单元、模块温箱加热控制电路组成。温度信号采集单元电路的热敏电阻(接在HR1与HR2之间)的阻值随温度的变化而变化,经运放LM358处理,输出一个电压变化的温度信号给系统板的A/D采集输入端:加热信号驱动单元将系统送来的加热信号分两路处理:一路经O1隔离放大后驱动加热指示二极管发光;另一路经隔离后驱动可控硅导通。模拟温箱加热控制电路由加热信号隔离电路、AC220V控制电路(可控硅电路组成),基原理图见模块说明。2、PID递推算法:如果PID调节器输入信号为e(t),其输送信号为u(t),则离散的递推算法如下:其中Ek2是误差累积和。Uk=KpEk+KiEk2+Kd(Ek-Ek1)五、实验步骤1、实验连线A/D0809的片选CS0809接CS0,ADINO接温控模块的TEMPOUT,并行I/O模块的片选CS273接CS1OO接温控模块的HEATER。7
7 实验四 温度控制实验 一、实验目的 1、了解温度控制系统的特点。 2、研究大时间常数系统 PID 控制器的参数的整定方法。 3、熟悉可编程串口的使用。 二、实验设备 1、EL-MUT-III 型单片机实验箱 2、8086CPU 模块 3、电机综合模块 三、实验内容 1、设定炉子的温度在一恒定值。 2、调整 P、I、D 各参数,观察对其有何影响。 四、实验原理 1、温度控制电路原理说明: 由温度信号采集单元、加热信号驱动单元、模块温箱加热控制电路组成。温度信号采集单元电路的热敏电阻 (接在 HR1 与 HR2 之间)的阻值随温度的变化而变化,经运放 LM358 处理,输出一个电压变化的温度信号给 系统板的 A/D 采集输入端;加热信号驱动单元将系统送来的加热信号分两路处理:一路经 Q1 隔离放大后驱动加 热指示二极管发光;另一路经隔离后驱动可控硅导通。模拟温箱加热控制电路由加热信号隔离电路、AC220V 控 制电路(可控硅电路组成),基原理图见模块说明。 2、PID 递推算法: 如果 PID 调节器输入信号为 e(t),其输送信号为 u(t),则离散的递推算法如下: Uk=KpEk+KiEk2+Kd(Ek-Ek1) 其中 Ek2 是误差累积和。 五、实验步骤 1、实验连线 A/D0809 的片选 CS0809 接 CS0,ADIN0 接温控模块的 TEMPOUT,并行 I/O 模块的片选 CS273 接 CS1, O0 接温控模块的 HEATER

2、在室温(25℃)条件下,调节温控部分10K电位器,使TEMPOUT的输出近似为3.75V。接通温控模块的220V电源。3、运行实验程序WK.ASM。4、在工具栏中点击“T”按钮,启动上位机程序。输入采样周期T和参数Kp、Ki、Kd。5、观察响应曲线。若不满意,改变Kp、Ki、Kd的数值和与其对应的性能指标op、ts的数值。取满意的Kp、Ki、Kd值,观察有无稳态误差。(推荐PID取值:Kp=100,Ki=10,Kd=50)六、实验结果黄色的温度变化曲线可以最终趋近于红色的温度设定直线。七、程序框图开始文初始化0809采集温度输出信号1温度信号送上位机+读取上机位PID转换结果Y数码管显示转换结果t调节加热有效时间控制温度:接线说明:实验箱上0809的片选CS0809接CS0.ADINO接模块上的TEMP0OUT,:实验箱上273的片选CS273接CS1,00接模块上的HEATER,接好温控的加热电源。八、编程扩展显示出当前炉温
8 2、在室温(25℃)条件下,调节温控部分 10K 电位器,使 TEMPOUT 的输出近似为 3.75V。接通温控模块 的 220V 电源。 3、运行实验程序 WK.ASM。 4、在工具栏中点击“T”按钮,启动上位机程序。输入采样周期 T 和参数 Kp、Ki、Kd。 5、观察响应曲线。若不满意,改变 Kp、Ki、Kd 的数值和与其对应的性能指标σp、ts 的数值。取满意的 Kp、Ki、Kd 值,观察有无稳态误差。 (推荐 PID 取值:Kp=100,Ki=10,Kd=50) 六、实验结果 黄色的温度变化曲线可以最终趋近于红色的温度设定直线。 七、程序框图 ;接线说明:实验箱上0809的片选CS0809接CS0,ADIN0接模块上的TEMP_OUT, ;实验箱上273的片选CS273接CS1,O0接模块上的HEATER,接好温控的加热电源。 八、编程扩展 显示出当前炉温。 开始 调节加热有效时间 控制温度 数码管显示转换结果 读取上机位 PID 转换结果 温度信号送上位机 0809 采集温度输出信号 初始化