微机原理课程设计——洗衣机控制系统资料

微机原理与接口技术课程设计

设计题目:洗衣机控制系统设计

设计者:

专业 : 电气工程及其自动化

班级 :

学号 :

一课程设计的意义

1.1 洗衣机的发展状况概述

1.洗衣机的发展史

洗衣服是每个家庭都无法逃避的家庭劳动。洗衣机的出现给人们的生活带来了相当大的方便,它的普及大大降低了大多数家庭的体力劳作。

1858年,美国人汉密尔顿·史密斯制成了第一台洗衣机。1874年,美国人比尔·布莱克斯发明了第一台人工搅动式洗衣机,使得“手洗时代”受到了挑战。1910年美国人研制出了第一台电动式洗衣机。1922年美国玛塔依格公司生产出了第一台搅拌式洗衣机。1932年美德克斯航空公司研制成功了第一台前装式滚筒式洗衣机,这台机衣机能够使洗涤、漂洗、脱水三个步骤在同一个滚中操作。与此同时,世界各地也相继出现了洗衣机。洗衣机工业快速迅猛地发展起来。

1937年第一台自动洗衣机问世。1955年日本研制出波轮式洗衣机。60年代日本出现了半自动洗衣机。70年代生产出了波轮式套桶全自动洗衣机。70年代后期以电脑控制的全自动洗衣机在日本问世。80年代“模糊控制”开始应用于洗衣机中,使得洗衣机能够通过模糊控制使洗衣机操作更加简单,实现智能化。近半个多世纪里,在工业发达国家,全自动洗衣机技术得到广范的应用,其年总产量及社会普及率均以达到相当高的水平。

2.我国洗衣机的发展现状

洗衣机在中国起步较晚,1978年才开始正式生产家用洗衣机。随着改革开放的不断深入,经济的持续增长,人民生活水平的普遍提高,人们对于洗衣机的认识也在不断发展,进入80年代后,中国洗衣机行业一直保持着旺盛的发展形势。目前,洗衣机在我国城市甚至广大农村已得到大范围的普及。中国洗衣机市场正处于快速更新换代阶段,市场潜力巨大,随着家用电器的自动化、智能化发展,人们对于洗衣机的期望也越来越高。1983年,中国洗衣机产量由1978年的400台增至365万台。此后全国各处都大规模的引进国外先进洗衣机技术。中国的洗衣机发展突飞猛进,先进技术的引进、吸收和创新,极大地促进了中国洗衣机的生产能力和产业质量。经过三十年的发展,我国的洗衣机年产量已位于世界第一,将近为世界总年产量的四分之一。

1.2课程设计的意义

课程设计进一步锻炼同学们在微机原理应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的问题。《微机原理与接口技术》课程是我们电气工程及其自动化专业本科生必修的一门技术基础课程。通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。

二洗衣机控制系统的设计

2.1 设计内容

系统设计并建立一个由微机控制的洗衣机控制系统,并完成:

1.给水和排水的自动控制。

2.用户定时时间的设定。

3.电机的正反转。

4.各种定时和故障报警电路。

5.定时开、关机的控制。

6.三分钟延时启动的保护。

7.设计相应的A/D、D/A、键盘、显示接口和传感器测量水位电路,可在线键盘参数设置、定时检测、显示、报警,其中控制输出部分采用模拟量或开关量进行控制。

8,写出相应工作原理,编写程序及程序流程图。

希望实现的功能:智能检测

待洗衣物的智能检测是智能洗衣机能够实现智能的关键技术之一。智能检测利用了模糊控制原理,根据各类传感器提供的洗涤物状态和洗衣机运行参数进行模糊推理。通过各类传感器对布量、布质、温度、浊度的检测来确定洗涤过程中的洗涤水位,洗涤时间,漂洗次数,排水时间,脱水时间等等。

三总体设计方案

3.1 洗衣机系统原理与设计思想

图1洗衣机示意图

洗衣机的系统

(1).涤脱水系统

它主要有盛水桶,洗涤桶和波轮组成。盛水桶又称为外桶,主要用来盛放洗涤液。盛水桶固定在钢制底板上,通过4根吊杆悬挂在洗衣机箱体上。电动机,离合器,排水阀等部件都装在桶底下面。洗涤桶又称为脱水桶或者离心桶,也称为内桶,它的主要功能是用来盛放衣物,在洗涤或漂洗时配合波轮完成洗涤或漂洗功能,在脱水时便成为离心式的脱水桶。波轮是全自动洗衣机中对衣物产生机械作用的主要部件。按波轮的形状来分,基本上有小波轮(直径在160mm左右)的涡卷式水流和大波轮(直径在300mm左右)新水流两类。

(2).进水系统

波轮式全自动洗衣机的进排水系统都采用了电磁阀控制。为了对桶内的水位进行检测和控制,洗衣机上都安装有水位控制器(水位开关)。波轮式全自动套桶洗衣机使用最多的水位开关是空气压力式开关,主要有气压传感器装置,控制装置及电触点开关3部分组成,用来监视水位的高低。此外电磁阀分进水和排水电磁阀,进水电磁阀是洗衣机上的自动进水开关,它受水位开关动断触点的控制。而排水电磁阀是全自动洗衣机上的自动排水装置,同时还起改变离合器工作状态。进水、排水电磁阀是采用电流流过线圈形成磁场的原理,洗衣机电磁阀在进,排水时使用,220V交流电压与电磁阀线圈接通,形成磁场,电磁线圈吸合。自

动打开香蕉阀门,洗衣机里的水就顺着管道流出去了。断电后,电磁阀线圈失去电流,磁场消失,电磁铁松开,橡胶阀门自动关闭,洗衣机里的水就流不出去了。

(3).动机及传动系统

波轮式全自动套桶洗衣机的电动机及传动系统主要由电动机和离合器组成,离合器又有普通离合器和减速离合器两种。其中普通离合器用在采用小波轮的套桶洗衣机上,这种洗衣机在洗涤或者漂洗时波轮的转速和脱水时离心桶的转速相同,目前各种大波轮新水流套桶洗衣机普遍采用减速离合器,它在洗涤,漂洗时波轮的转速较慢,而脱水时离心桶的转速较快。电动机同时作为洗涤和脱水时的动力源,普遍采用主,副绕组完全对称的电容式电动机。

洗衣机的基本工作原理

洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。现今,大多数的全自动洗衣机都使用以单片机为核心的控制电路来控制电动机、数码显示管、进水阀、排水阀及蜂鸣器的电压输出,使洗衣机根据程序运转。而在设计全自动洗衣机的控制系统时,要把握好洗涤、漂洗和脱水的时间:

(1).洗涤时间

有人认为,洗涤时间越长,衣物就洗得越干净。其实不然,如果洗涤时间超过一定的限度,衣物不但不会随洗涤时间的延长而提高洗净度,反而会加速衣物的磨损,还会造成能源的浪费。实验证明,洗衣机(波轮式洗衣机)的最佳洗涤时间为5~10分钟,最长也不应超过15分钟。

(2).漂洗时间

在漂洗刚开始的3分钟时间内,残留在衣物上的表面活性剂脱落最快。此后,活性剂脱落趋缓,漂洗10分钟后活性剂几乎不再脱落。一般采用贮水方式漂洗,每次3分钟,漂洗2~3次就可以了。

(3).脱水时间

电动机高速地转动洗涤桶,水份就会由于离心力而脱离衣物被甩出去。脱水时间一般为2~3分钟,时间太短会造成脱水不够彻底,太长又可能会损坏衣物。

总体设计思想

首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及其结构,其次根据系统的各个功能把软件分为几个不同的模块。依次实现各个模块的功能,最后把各个模块组合起来已完成整个系统的功能。

3.2洗衣过程流程图

3.3设计流程图

四硬件设计

4.1硬件设计概要

用Intel的8086作为控制芯片,配合其他接口电路及配套的芯片组成洗衣机的控制电路。主要用到8255串行通行芯片,74LS137三线八线译码器发出片选信号,AD0809以及DA0832模数、数模转换芯片。用一个电位计和AD0809模拟水量信号,DA0832和LM324运放最和来控制直流电机的正反转和停止。此外还用到了4*4扫描键盘作为输入设备,两个共阴数码管作为显示设备。详情见各个芯片的介绍。

4.2所用到的芯片及其各自功能说明

4.2.1芯片列表

8086,8284,74LS138,8255,AD0809,DA0832,74LS02,LM324

4.2.28086的功能简介

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久,Intel 8088就推出了,拥有一个外部的8位数据总线,允许便宜的芯片用途。它是以8080和8085(它与8080有组合语言上的原始码兼容性)的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)喂指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。

Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。

Intel 8086有四个内存区段(segment) 寄存器,可以从索引寄存器来设定。区段寄存器可以让CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有

用),可以完全地控制分段,,使在编程中使用指针(如C 编程语言) 变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而8086 的寻址方式改变让内存扩充较有效率。

在这个系统中,8086作为整个系统的主控芯片,用来控制协调整个系统的工作。

4.2.3 8284的功能简介

向8086CPU提供外部的基准时钟信号,并把时钟信号进行功率放大。

4.2.374LS138的功能简介

74LS138 为3 线-8 线译码器,共有54/74S138和54/74LS138 两种线路结构型式,其工作原理如下:

当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电译出。

利用E1、E2和E3可级联扩展成24 线译码器;若外接一个反相器还可级联扩展成32 线译码器。

若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器,在该系统中,74LS138用来产生各芯片的片选信号。

4.2.48255的功能简介

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时,控制寄存器被选择

4.2.5AD0809的功能简介

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 上的一路模拟量输入。通道选择表如下表所示。

C B A 选择的通道

0 0 0 IN0

0 0 1 IN1

0 1 0 IN2

0 1 1 IN3

1 0 0 IN4

1 0 1 IN5

1 1 0 IN6

1 1 1 IN7

数字量输出及控制线:11 条

ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;下跳沿时,

开始进行A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。

CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。

4.2.6DA0832芯片的功能简介

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有三种工作方式:直通方式、单缓冲方式和双缓冲方式。

4.2.7LM324芯片功能简介

LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“V o”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端V o的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端V o的信号与该输入端的相位相同。

LM324的引脚排列图

LM324的特点:

1.短跑保护输出

2.真差动输入级

3.可单电源工作:3V-32V

4.低偏置电流:最大100nA

5.每封装含四个运算放大器。

6.具有内部补偿的功能。

7.共模范围扩展到负电源

8.行业标准的引脚排列

9.输入端具有静电保护功能

4.3 硬件电路设计系统原理图及其说明

图4.3-1系统总体框架。

图4.3-2系统硬件电路

五软件设计

5.1流程图及其说明

说明:软件可以分为10大块,分别为主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、进水子程序、排水子程序、甩干子程序、停止及开机延时保护子程序组成。其中,进水、洗衣、排水为一次洗衣的三个不同状态,由相应的子程序来控制电机的运动和进水排水。它们的关系如图5.1-2.

图5.1-2

5.2源程序及其说明

CODE SEGMENT

ASSUME CS:CODE

WASHTIME DW 20H

WASHTYPE DW 08H

ONTIME DW 00H

TIME DW 0

ADPORT EQU 0010H

ORG 1000H

IOCONPT EQU 0FF2BH

IOAPT EQU 0FF28H

IOBPT EQU 0FF29H

IOCPT EQU 0FF2AH

ORG 10E0H

DAPORT EQU 0020H

ORG 10A0H

MAIN PROC ;键盘参数设置

MOV AL,01H

CALL CONVERS

CALL DISP ;显示01,提示输入洗衣时间

CALL KEY

MOV DL,10

MUL DL

MOV WASHTIME,AX

CALL KEY

CBW

ADD WASHTIME,AX

K1: MOV AL,02 ;显示02;提示选择洗衣方式CALL CONVERS

CALL DISP

CALL KEY

CMP AL,2

JA K1

CMP AL,1

JB K1

CMP AL,1

JE RUOXI

CMP AL,2

JE QIANGXI

RUOXI: MOV WASHTYPE,08H

JMP NEXT

QIANGXI: MOV WASHTYPE,0FH

NEXT: MOV AL,03 ;显示3,提示输入定时时间CALL CONVERS

CALL DISP

CALL KEY

MOV DL,10

MUL DL

MOV ONTIME,AX

CALL KEY

CBW

ADD ONTIME,AX

MOV CX,ONTIME

LOOP K2

K2: CALL DELAY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ADD AX,WASHTIME

ADD AX,WASHTIME

ADD AX,WASHTIME

MOV TIME,AX

CALL STEP1 ;洗衣

MOV CX,WASHTIME

LOOP WASH

CALL STEP3

CALL SHUAIGAN

CALL STEP1 ;漂洗

MOV CX,WASHTIME

LOOP WASH

CALL STEP3

CALL SHUAIGAN

CALL STEP1 ;漂洗

MOV CX,WASHTIME

LOOP WASH

CALL STEP3

CALL SHUAIGAN

CALL STOP ;洗衣完成,三分钟启动保护

JMP MAIN

MAIN ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;WASH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

WASH PROC

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DX,DAPORT

DACON1: MOV AL,0FFH

OUT DX,AL

MOV CX,WASHTYPE

LOOP W1

W1: CALL DELAY

DACON2: MOV AL,80H

OUT DX,AL

MOV CX,8H

LOOP W2

W2: CALL DELAY

DACON3:

MOV AL,00H

OUT DX,AL

MOV CX,WASHTYPE

LOOP W3

W3: CALL DELAY

OUT DX,AL

MOV CX,8H

LOOP W4

W4: CALL DELAY

DEC TIME

MOV AX,TIME

CALL CONVERS

CALL DISP

POP DX

POP CX

POP BX

POP AX

RET

WASH ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEP1;;;;;;;;;;;;;;;;;;;;;;;;

STEP1 PROC ;判断水位

PUSH AX

PUSH BX

PUSH CX

PUSH DX

ADCONTORL: CALL FORMAT

ADCON: MOV AX,00

MOV DX,ADPORT

OUT DX,AL

DELAYS: LOOP DELAYS

MOV DX,ADPORT

MOV DX,ADPORT

IN AL,DX

PUSH AX

CALL CONVERS

CALL DISP

POP AX

CMP AL,0EEH

JAE LA

CALL JINSHU

LA: MOV DX,IOCONPT ;水满,关水

MOV AL,89H

OUT DX,AL

MOV DX,IOCPT

AND AL,0FEH

PUSH AX

MOV DX,IOCONPT

MOV AL,80H

OUT DX,AL

MOV DX,IOCPT

POP AX

OUT DX,AL

POP DX

POP CX

POP BX

POP AX

RET

STEP1 ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;JINSHU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

JINSHU PROC ;控制进水

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DX,IOCONPT

MOV AL,89H

OUT DX,AL

MOV DX,IOCPT

IN AL,DX

OR AL,01H

PUSH AX

MOV DX,IOCONPT

MOV AL,80H

OUT DX,AL

MOV DX,IOCPT

POP AX

OUT DX,AL

POP DX

POP CX

POP BX

POP AX

JMP ADCON

JINSHU ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;XIANSHI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CONVERS: ;字符转换

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV AH,AL

AND AL,0FH

MOV BX,077AH

MOV DS:[BX],AL

INC BX

MOV AL,AH

AND AL,0F0H

MOV CL,04H

SHR AL,CL

MOV DS:[BX],AL

POP DX

POP CX

POP BX

POP AX

RET

DISP: ;显示

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV DX,077FH

MOV AH,20H

DISP0:

MOV CX,00FFH

MOV BX,DX

MOV BL,DS:[BX]

MOV BH,0H

PUSH DX

MOV DX,0FF22H

MOV AL,CS:[BX+1060H]

OUT DX,AL

MOV DX,0FF21H

MOV AL,AH

OUT DX,AL

DISP1:

LOOP DISP1

POP DX

相关文档
最新文档