微型计算机实验报告用8253和8259实现电子表洗衣机控制系统Word文件下载.docx
- 文档编号:20420985
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:36
- 大小:300.61KB
微型计算机实验报告用8253和8259实现电子表洗衣机控制系统Word文件下载.docx
《微型计算机实验报告用8253和8259实现电子表洗衣机控制系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《微型计算机实验报告用8253和8259实现电子表洗衣机控制系统Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
三天
3
实验方案实现
1月18号
1月19号
4
整理实验报告
1月20号
1月21号
5
答辩
1月22号
一天
三、实验报告
1.实验目的
1.学习8253编程定时/计数器的工作方式。
2.掌握中断控制器8259A与微处理机接口的原理和方法。
3.掌握中断控制器8259A的应用编程。
2.实验内容
利用8253的定时器功能。
8253的四个端口地址为48H,49H,4AH,4BH,本实验采用8253的通道2,工作在方式3(方波发生器方式)输入CLK2为1KHZ。
输出OUT2作为8259的断请求信号。
8259有两个口地址,本实验为20H和21H,其中20H用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,中断类型号的起始值是8,采用3号中断源,即IRQ3和8253输出口OUT2相连,每过1秒接收到一个中断,向8259发出中断请求信号,CPU响应后,在中断处理程序中,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。
计数初值的计算:
1/1000000*X=1/20X=50000D=0C350H(用1MHZ信号产生1/20秒方波)
3.实验步骤
1.
连接好实验线路。
图1-1实验连线图
2.编写程序并调试。
3.运行程序,实验仪显示器上显示一电子秒表。
4.实验记录
显示屏亮,刚开始可以看到八段管的第六个管开始显示数字,计时开始,每秒加1,实现了时钟效果。
现象的原因分析:
程序写入控制字与计数初值后,定时器启动工作,当计数器减到1时,输出端输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端输出1s,向CPU申请中断,其中一个数码管显示,当计数到60s时,输出端向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h,CPU处理,使数码管的显示发生变化。
电子时钟的显示格式HH:
MM:
SS由左到右分别为时、分、秒,依次对秒、分、小时寄存器的内容加一时,六个数码管动态显示时、分、秒的当前值。
最大记时23:
59:
59超过这个时间时分秒位都清零从00:
00:
00重新开始。
连接后截图:
图1-2链接后图示
编译后截图:
图1-3编译后截图
5.实验结果与数据处理:
该项为实验报告的重点项。
应按实验要求处理所记录的实验数据,绘制相关图表,并认真分析,写出实验结论。
表1-1实验结果表
小时
分
秒
时间范围为00-23,分钟每60,小时+1,当小时变为23时,再变化就恢复00
范围为00-59,秒每60,分钟+1
范围为00-59,60进一
此实验符合时间变化规律,分秒均60进制,小时24进制。
四、设计报告
1.设计目的:
课程设计进一步锻炼同学们在微机原理应用方面的实际工作能力。
计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:
掌握这方面的知识更要强调解决实际问题的能力。
学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的问题。
《微型计算机原理》课程是我们计算机科学与技术专业本科生必修的一门技术基础课程。
通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
2.设计内容:
系统设计并建立一个由微机控制的洗衣机控制系统,并完成:
1.给水和排水的自动控制。
2.用户定时时间的设定。
3.电机的正反转。
4.各种定时和故障报警电路。
5.定时开、关机的控制。
6.三分钟延时启动的保护。
7.设计相应的A/D、D/A、键盘、显示接口和传感器测量水位电路,可在线键盘参数设置、定时检测、显示、报警,其中控制输出部分采用模拟量或开关量进行控制。
8,写出相应工作原理,编写程序及程序流程图。
待洗衣物的智能检测是智能洗衣机能够实现智能的关键技术之一。
智能检测利用了模糊控制原理,根据各类传感器提供的洗涤物状态和洗衣机运行参数进行模糊推理。
通过各类传感器对布量、布质、温度、浊度的检测来确定洗涤过程中的洗涤水位,洗涤时间,漂洗次数,排水时间,脱水时间等等。
3.设计方案:
【方案1】
(1)设计思路
洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。
现今,大多数的全自动洗衣机都使用以单片机为核心的控制电路来控制电动机、数码显示管、进水阀、排水阀及蜂鸣器的电压输出,使洗衣机根据程序运转。
而在设计全自动洗衣机的控制系统时,要把握好洗涤、漂洗和脱水的时间:
首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及其结构,其次根据系统的各个功能把软件分为几个不同的模块。
依次实现各个模块的功能,最后把各个模块组合起来已完成整个系统的功能。
(2)硬件系统设计:
用Intel的8086作为控制芯片,配合其他接口电路及配套的芯片组成洗衣机的控制电路。
主要用到8255串行通行芯片,74LS137三线八线译码器发出片选信号,AD0809以及DA0832模数、数模转换芯片。
用一个电位计和AD0809模拟水量信号,DA0832和LM324运放最和来控制直流电机的正反转和停止。
此外还用到了4*4扫描键盘作为输入设备,两个共阴数码管作为显示设备。
详情见各个芯片的介绍。
(3)软件系统设计:
说明:
软件可以分为10大块,分别为主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、进水子程序、排水子程序、甩干子程序、停止及开机延时保护子程序组成。
其中,进水、洗衣、排水为一次洗衣的三个不同状态,由相应的子程序来控制电机的运动和进水排水。
它们的关系如图
图2-1关系图
【方案二】
(一)设计原理
根据课程设计任务书的内容与要求,要实现模拟洗衣机洗衣的运动过程。
模拟洗衣机程序运行时,按0表示已经开始运行洗衣过程并开始进水,同时8个数码管全部显示为0。
然后四个单色灯顺序点亮最后全部点亮表示进水结束。
然后再按1表示洗衣过程开始进行,首先双色灯正转三次,然后反转三次,至此一个循环结束,按照这个过程再进行三次,洗衣过程结束。
然后四个单色灯顺序熄灭,最后全部熄灭表示洗衣机出水结束,此时双色灯正转三次表示对衣物进行脱水。
最后8个数码管全部显示为8表示洗衣过程结束。
(二)硬件系统设计
硬件电路由一下两部分构成
图2-2硬件电路连线图
芯片8255是一种可编程的并行接口芯片,它有3个8位数据端口,既A口、B口、C口。
首先初始化8255设置其工作方式,其A口、B口,C口的端口地址分别为200H、201H、202H,控制端口地址为203H。
从控制口203H输入控制字80H,表示A、B、C三个端口均可作为输出端口,本程序中采用A口和B口作为输出端口。
8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够实现键盘输入和显示控制两种功能。
首先初始化8279,设置其工作方式,奇地端口(212H):
输入的信息是命令;
输出的信息是状态字,偶地址端口(210H):
输入和输出的信息是数据。
从奇地址端口212H输入控制字,00H表示8位字符显示,左端输入,编码扫描键盘,双键锁定。
38H表示时钟分频为24分频。
0C2H用来置空FIFO存储器。
0D0H用来清空显示RAM。
从奇地址端口212H读入状态字,与80H相测试检测显示RAM是否可用,与0FH相测试检测是否有键按下。
从偶地址端口210H读出数据,经查表便可将数据在LED数码管上显示出来。
LED数码管是共阴极的,使哪段亮加高电平即可。
(三)软件系统设计
图2-3主程序流程图
如图2-3所示,按下开始键0,洗衣机开始进水,然后按下开始洗衣键1,此时依次调用正转子程序、反转子程序、出水子程序、正转子程序。
最后模拟洗衣机工作结束。
【两者对比】
方案一设计较复杂,功能较全面,更有利于锻炼自己动手能力,以及检测自己所学的知识,所以我们选择方案一。
4.实施方案:
(1)实验中应用的芯片的结构、引脚、工作原理及工作方式。
8086的功能简介
Intel8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。
不久,Intel8088就推出了,拥有一个外部的8位数据总线,允许便宜的芯片用途。
它是以8080和8085(它与8080有组合语言上的原始码兼容性)的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。
总线界面单元(BusInterfaceUnit)透过6字节预存(prefecth)的队列(queue)喂指令给执行单元(ExecutionUnit),所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。
为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。
在这个系统中,8086作为整个系统的主控芯片,用来控制协调整个系统的工作。
8284的功能简介
向8086CPU提供外部的基准时钟信号,并把时钟信号进行功率放大。
74LS138的功能简介
74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其工作原理如下:
当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电译出。
利用E1、E2和E3可级联扩展成24线译码器;
若外接一个反相器还可级联扩展成32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器,在该系统中,74LS138用来产生各芯片的片选信号。
8255的功能简介
8255特性
(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.
(2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;
B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.
8255引脚功能
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;
/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
'
A0,A1:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A0=0,A1=0时,PA口被选择;
当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择;
当A0=1.A1=1时,控制寄存器被选择
AD0809的功能简介
1、ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2、AD0809的工作原理
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;
输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
CBA选择的通道
000IN0
001IN1
010IN2
011IN3
100IN4
101IN5
110IN6
111IN7
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;
下跳沿时,开始进行A/D转换;
在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;
否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;
OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
DA0832芯片的功能简介
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0832的主要特性参数如下:
分辨率为8位;
电流稳定时间1us;
可单缓冲、双缓冲或直接数字输入;
只需在满量程下调整其线性度;
单一电源供电(+5V~+15V);
低功耗,200mW。
DAC0832结构:
D0~D7:
8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
ILE:
数据锁存允许控制信号输入线,高电平有效;
CS:
片选信号输入线(选通数据锁存器),低电平有效;
WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
IOUT1:
电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:
电流输出端2,其值与IOUT1值之和为一常数;
Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:
电源输入端,Vcc的范围为+5V~+15V;
VREF:
基准电压输入线,VREF的范围为-10V~+10V;
AGND:
模拟信号地
DGND:
数字信号地
DAC0832的工作方式:
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:
直通方式、单缓冲方式和双缓冲方式。
LM324芯片功能简介
LM324系列器件为价格便宜的带有真差动输入的四运算放大器。
与单电源应用场合的标准运算放大器相比,它们有一些显著优点。
该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。
共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。
运算放大器有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;
Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
图2-4LM324的引脚排列图
LM324的特点:
1.短跑保护输出
2.真差动输入级
3.可单电源工作:
3V-32V
4.低偏置电流:
最大100nA
5.每封装含四个运算放大器。
6.具有内部补偿的功能。
7.共模范围扩展到负电源
8.行业标准的引脚排列
9.输入端具有静电保护功能
(2)硬件系统实现
图2-5系统总体框架
(3)软件系统实现
图2-7流程图及说明
5.参考文献:
(1)《微型计算机技术及其应用(第四版)》戴梅萼史嘉权著清华大学出版社2008年2月第4版
(2)《微型计算机技术及其应用——习题、实验题与综合训练题集(第4版)》戴梅萼编著清华大学出版社2008年2月第1版
(3)《微机原理与接口技术经典实验案例集》邹逢兴高等教育出版社2012年5月第1版
五、程序清单
(一)、
CODESEGMENT
ASSUMECS:
CODE
INTPORT1EQU0020H;
8259口地址1
INTPORT2EQU0021H;
8259口地址2
INTQ3EQUINTERUPT3;
中断程序的入口地址
INTQ7EQUINTERUPT7;
CONTPORTEQU00DFH;
8279命令状态口地址
DATAPORTEQU00DEH;
8279键盘显示数据口地址
DATA1EQU0500H;
错误信息显示缓冲区起始地址
DATA2EQU0508H;
显示译码表起始地址
DATA3EQU0518H;
初始状态显示缓冲区
DATA4EQU0520H;
时间显示缓冲区起始地址
DATA5EQU0528H;
存放已重新刷新数码管个数
DATA6EQU0529H;
存放1/20秒定时中断次数
DATA7EQU052AH;
时
DATA8EQU052BH;
DATA9EQU052CH;
DATA10EQU052EH;
等更新的显示区内的地址
ORG1800H;
把代码放到ORG指定内存空间
START:
JMPTINT1
TINT1:
CALLFORMAT
CLD;
清除方向标志
MOVDX,004BH;
设置8253工作方式
MOVAL,0B6H
OUTDX,AL
MOVDX,004AH;
写8253的时间常数
MOVAL,50H
OUTDX,AL
MOVAL,0C3H
MOVSI,DATA3
CALLLEDDISP;
显示00-00-00
MOVAX,0H
MOVDS,AX;
设置数据段为0H
CALLWRINTVER;
更改中断向量地址
MOVAL,13H;
设置ICW1初始化命令字
MOVDX,INTPORT1;
设置8259A的偶地址端口
OUTDX,AL;
将ICW1输出到偶地址端口
MOVAL,08H;
设置ICW2中断类型号基值
MOVDX,INTPORT2
MOVAL,0BH
MOVAL,0F7H
WAITING:
ST;
设置中断标志为1,IF=1,允许CPU响应外设的中断请求
JMPWAITING
WRINTVER:
MOVAX,0H
MOVES,AX;
这时:
ES为0H,这是中断向量的开始地址
MOVDI,002CH;
DI是002CH,ES:
DI组成的地址是002CH,这是我们要更改的中断向量地址
LEAAX,INTQ3;
将中断过程的入口地址INTERUPT3(偏移地址IP)放到AX中
;
INTQ3是外部中断IRQ3产生时调用的
STOSW;
改变中断向量的入口地址,AX->
ES:
DI,也就是将AX的值放到002CH中
MOVAX,CS;
送段地址(CS)到AX
保存段地址,来到这里中断向量的入口地址为CS:
IP,它是由CS和IP组成的
MOVDI,003CH;
设置下一个中断向量的入口地址
LEAAX,INTQ7;
将中断过程的入口地址INTERUPT7(偏移地址IP)放到AX中
INTQ7是电平信号不符合要求时的中断例程
STOSW
RET
INTERUPT3:
CLI;
清除中断允许
MOVAL,DS:
[DATA6];
读入现在存放1/20秒定时中断次数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 实验 报告 8253 8259 实现 电子表 洗衣机 控制系统