饮料生产线的计算机控制技术的实现 微机原理项目.docx

上传人:b****4 文档编号:6166468 上传时间:2023-05-09 格式:DOCX 页数:33 大小:1.95MB
下载 相关 举报
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第1页
第1页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第2页
第2页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第3页
第3页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第4页
第4页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第5页
第5页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第6页
第6页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第7页
第7页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第8页
第8页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第9页
第9页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第10页
第10页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第11页
第11页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第12页
第12页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第13页
第13页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第14页
第14页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第15页
第15页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第16页
第16页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第17页
第17页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第18页
第18页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第19页
第19页 / 共33页
饮料生产线的计算机控制技术的实现 微机原理项目.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

饮料生产线的计算机控制技术的实现 微机原理项目.docx

《饮料生产线的计算机控制技术的实现 微机原理项目.docx》由会员分享,可在线阅读,更多相关《饮料生产线的计算机控制技术的实现 微机原理项目.docx(33页珍藏版)》请在冰点文库上搜索。

饮料生产线的计算机控制技术的实现 微机原理项目.docx

饮料生产线的计算机控制技术的实现微机原理项目

饮料生产线的计算机控制技术的实现

--------微机原理课程设计

班级:

09级机设2班

学号:

*****

姓名:

课程名称:

16/32位微机原理、汇编语言及接口技术

指导教师:

2012年05月

饮料生产线的计算机控制技术的实现

摘要:

本项目通过模拟方式,实现饮料生产线的控制程序的调试。

用开关启动/结束程序,通过指示灯判别产品合格与否,步进电机的正反转体现两条传送带,并利用LED数码管记录不合格产品数量,最终完成饮料生产线的计算机控制技术的实现。

一、前言

电子计算机的诞生和发展是20世纪最重要的科技成果之一。

进入20世纪70年代以来,微型计算机开始登上历史的舞台,并以势不可挡的势头迅猛发展,成为当今计算机发展的一个主流方向。

当前,以微型计算机为代表的计算机已日益普及,其应用已深入到社会各个角落,极大地改变着人们的工作方式,学习方式和生活方式,成为信息时代的主要标志。

当代计算机是微电子学与计算数学相结合的产物。

微电子学的基本元件及其集成电路构成了他的硬件基础;而计算数学的计算方法与数据结构则构成计算机的软件基础。

自从1945年底世界上第一台电子数字计算机ENIAC诞生以来,计算机技术取得了异常迅猛的发展。

由电子管、晶体管、集成电路以至第四代的超大规模集成电路计算机,都与微电子技术的进步密切相关,且以所采用的逻辑元件作为划分每代的标志。

计算机正是大规模集成电路孕育的产物。

微型计算机被广泛地用于数值计算和工业控制之中。

数据采集系统是计算机在工业控制中最为普遍的应用系统。

他的任务是采集生产过程中的工况参数并经过A/D转换器送入内存储器,CPU将再对这些参数、数据进行分析、运算和处理,如数字滤波、量纲变换、仪表误差修正、数字显示、越限报警、打印制表等功能。

若再配上输出通道就可以方便地组成计算机控制系统。

本项目是设计一瓶装保健饮品的生产流水线的控制系统,包括检验空瓶到位、灌装开启、灌装量检测以及对合格和不合格产品的分别处理。

按键闭合,检验空瓶到位,到位后开始灌装,装满600克,停止该瓶的灌装。

然后检测灌装量,每瓶不得少于595克,合格则通过传送带A送出装箱;

不合格,即少于595克,通过另一传送带B送出处理,并记录而且显示少于595克的瓶数。

二、项目描述

工程背景及项目分解

以及:

1、每个环节的指示标志

2、怎样保证环节的相对连续性

3、程序的中断控制

 

三、项目模拟方案

3.1解决方案

3.2实验设备

设备

数量

8088CPU

1

8255A芯片

1

8155芯片

1

发光二极管

2

数码管

8

步进电机

1

12864液晶显示屏

1

3.3设计流程

 

 

注:

绿灯亮时空瓶到位并灌装

红灯亮时说明有次品

 

 

四、控制程序

4.1连线原理

8255

B4区:

CS,A0,A1

A3区:

CS2,A0,A1

B4区:

JP56(A口)

G5区:

JP41

B4区:

JP53(B口)

G5区:

JP42

B4区:

D0-D7

G6区:

DS35-DS42

8155

B4区:

CS,O/IM

A3区:

CS1,A8

B4区:

JP56

A3区:

JP51

电动机

E1区:

A,B,C,D

A3区:

P1.7,P1.6,P1.5,P1.4

蜂鸣器

D1区:

ctr

B4区:

D5

液晶显示屏

A1区:

CS1/2,CS,RW,RS

A3区:

A2,CS2,A0,A1

4.2连线图片

4.3程序设计

.modelsmall

WR_COM_AD_LEQU0d004H;写左半屏指令地址

WR_COM_AD_REQU0d000H;写右半屏指令地址

WR_DATA_AD_LEQU0d006H;写左半屏数据地址

WR_DATA_AD_REQU0d002H;写右半屏数据地址

RD_BUSY_ADEQU0d001H;查忙地址

RD_DATA_ADEQU0d003H;读数据地址

XEQU0B8H;起始显示行基址

YEQU040H;起始显示列基址

FirstLineEQU0C0H;起始显示行

.stack

.data

numberdb03fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

jishudb6dup(?

hegedw?

buhegedw?

;--文字:

燕--

Line1_1db44h,44h,44h,0F4h,04h,0BFh,0A4h,0A4h

db0A4h,0BFh,04h,0F4h,84h,86h,44h,00h

db88h,68h,04h,07h,20h,4Fh,08h,08h

db28h,4Fh,00h,07h,28h,48h,0CEh,00h

;--文字:

"山"--

Line1_2db00h,0F0h,00h,00h,00h,00h,00h,0FFh

db00h,00h,00h,00h,00h,0F0h,00h,00h

db00h,7Fh,20h,20h,20h,20h,20h,3Fh

db20h,20h,20h,20h,20h,7Fh,00h,00h

;--文字:

"大"--

Line1_3db20h,20h,20h,20h,20h,20h,0A0h,7Fh

db0A0h,20h,20h,20h,20h,30h,20h,00h

db00h,40h,40h,20h,10h,0Ch,03h,00h

db01h,06h,08h,10h,20h,60h,20h,00h

;--文字:

"学"–

Line1_4db40h,30h,11h,96h,90h,90h,91h,96h

db90h,90h,98h,14h,13h,50h,30h,00h

db04h,04h,04h,04h,04h,44h,84h,7Eh

db06h,05h,04h,04h,04h,06h,04h,00h

;--文字:

"乔"--

Line2_2db10h,10h,10h,12h,92h,72h,1Eh,12h

db11h,0B1h,51h,91h,10h,18h,10h,00h

db02h,02h,01h,41h,30h,0Fh,00h,00h

db00h,0FFh,00h,00h,01h,03h,01h,00h

;--文字:

"旋"--

Line2_3db08h,08h,0F9h,4Eh,48h,0CCh,28h,10h

db2Fh,24h,0E4h,24h,24h,0A6h,64h,00h

db40h,30h,0Fh,20h,40h,0BFh,40h,20h

db1Fh,20h,7Fh,84h,86h,0C4h,40h,00h

;--文字:

"微"--

Line3_1db10h,88h,0C4h,0A3h,0BCh,0A0h,0BFh,0A0h

db0BCh,20h,0D8h,17h,90h,78h,10h,00h

db01h,00h,0FFh,40h,3Eh,02h,02h,3Eh

db90h,48h,33h,0Ch,33h,0C0h,40h,00h

;--文字:

"机"--`

Line3_2db10h,10h,0D0h,0FFh,90h,10h,00h,0FCh

db04h,04h,04h,0FEh,04h,00h,00h,00h

db04h,03h,00h,0FFh,80h,41h,20h,1Fh

db00h,00h,00h,3Fh,40h,40h,70h,00h

;--文字:

"原"--

Line3_3db00h,00h,0FEh,02h,0E2h,0A2h,0B2h,0AEh

db0A2h,0A2h,0A2h,0A2h,0F3h,22h,00h,00h

db40h,30h,0Fh,40h,23h,1Ah,42h,82h

db7Eh,02h,02h,0Ah,13h,60h,00h,00h

;--文字:

"理"--

Line3_4db44h,44h,0FCh,46h,44h,00h,0FEh,92h

db92h,0FEh,92h,92h,0FFh,02h,00h,00h

db10h,30h,1Fh,08h,48h,48h,44h,44h

db44h,7Fh,44h,46h,44h,60h,40h,00h

.code

;===============================================================

;主程序

start:

movax,@data

movds,ax

NOP

CALLLCD_INIT;液晶初始化

CALLDelayTime

callshow

CALLDisLine1;第2行显示”燕山大学”

callshow

CALLDelayTime

callshow

CALLDisLine2;第3行显示”乔旋”

callshow

CALLDelayTime

callshow

CALLDisLine3;第4行显示”微机原理”

callshow

CALLDelayTime

movdx,0e003h

moval,88h;A口输出,B口输出,C口上半段输入作为开关,C口下班段作为灯控制

outdx,al

movbx,0

movsi,offsetjishu

test1:

movdx,0e002h;所有灯灭

moval,11111111b

outdx,al

xoral,al

callshow

movdx,0e002h;读入开关状态

inal,dx

cmpal,11101111b;第五个开关控制瓶子到位

jzdeng1

looptest1

deng1:

movdx,0e002h

moval,11101110b;绿灯亮说明在灌装

outdx,al

movcx,20

cc:

calldelay1

callshow

loopcc

moval,11111111b;绿灯灭灌装完毕

outdx,al

movcx,200

next:

callshow

calldelay2

loopnext

test2:

movdx,0e002h;读入开关状态

inal,dx

cmpal,11001111b

jzdeng2

callshow

inchege

movax,hege

movcl,100

divcl

mov[si+3],al;百位

moval,ah

xorah,ah

movcl,10

divcl

mov[si+4],al;十位

moval,ah

mov[si+5],al;个位

callshow;显示

calldelay2

callbujin1;合格正转,即合格产品放在一起

looptest1

deng2:

incbuhege;不合格产品个数

movdx,0e002h

moval,11000111b;红灯亮显示不合格产品

outdx,al

callbujin2;不合格反转,即不合格产品放在一起

callshow

movax,buhege

movcl,100

divcl

mov[si],al;百位

moval,ah

xorah,ah

movcl,10

divcl

mov[si+1],al;十位

moval,ah

mov[si+2],al;个位

callshow;显示

calldelay2

movdx,0e002h

moval,11111111b

outdx,al

callshow

jmptest1;继续下一次灌装和检测

movax,4c00h;程序结束

int21h

;主程序结束

;====================================================================

;显示程序

showproc

pushcx

pushax

pushbx

pushdx

movbx,offsetnumber

moval,01110111b

movdx,0e001h

outdx,al

moval,3fh

movdx,0e000h

outdx,al

calldelay2

moval,10111111b

movdx,0e001h

outdx,al

moval,[si+3]

xlat

movdx,0e000h

outdx,al

calldelay2

moval,11011111b

movdx,0e001h

outdx,al

moval,[si+4]

xlat

movdx,0e000h

outdx,al

calldelay2

moval,11101111b

movdx,0e001h

outdx,al

moval,[si+5]

xlat

movdx,0e000h

outdx,al

calldelay2

moval,11111011b

movdx,0e001h

outdx,al

moval,[si]

xlat

movdx,0e000h

outdx,al

calldelay2

moval,11111101b

movdx,0e001h

outdx,al

moval,[si+1]

xlat

movdx,0e000h

outdx,al

calldelay2

moval,11111110b

movdx,0e001h

outdx,al

moval,[si+2]

xlat

movdx,0e000h

outdx,al

calldelay2

popdx

popbx

popax

popcx

ret

showendp

 

;==========================================================================

;延时程序1

delay1proc

pushax

pushbx

pushcx

pushdx

movcx,200

B:

movdi,30

A:

decdi

jnzA

loopB

popdx

popcx

popbx

popax

ret

delay1endp

;================================================================

;延时程序2

delay2proc

pushax

pushbx

pushcx

pushdx

movbx,10

C:

movcx,20

D:

loopD

decbx

jnzC

popdx

popcx

popbx

popax

ret

delay2endp

 

;===================================================================

;步进电机子程序1即正转

bujin1proc

pushax

pushbx

pushcx

pushdx

movdx,0f100h

moval,1

outdx,al

movcx,10

again1:

movdx,0f101h

moval,10000000b;给步进电机a口低脉冲

outdx,al

calldelay1

moval,01000000b

outdx,al

calldelay1

moval,00100000b

outdx,al

calldelay1

moval,00010000b

outdx,al

calldelay1

loopagain1

popdx

popcx

popbx

popax

ret

bujin1endp

;==================================================

;步进电机子程序2即反转

bujin2proc

pushax

pushbx

pushcx

pushdx

movdx,0f100h

moval,1

outdx,al

movcx,10

again2:

movdx,0f101h

moval,00010000b;给步进电机a口低脉冲

outdx,al

calldelay1

moval,00100000b

outdx,al

calldelay1

moval,01000000b

outdx,al

calldelay1

moval,1000000b

outdx,al

calldelay1

loopagain2

popdx

popcx

popbx

popax

ret

bujin2endp

 

;液晶显示=======================================

;延时程序

DelayTimePROCNEAR

MOVCX,0

LOOP$

LOOP$

RET

DelayTimeENDP

;第2行显示”燕山大学”

DisLine1PROCNEAR

LEASI,Line1_1

MOVAL,2;A-起始显示行地址,第2行

MOVAH,32;B-起始显示列地址,第32列,以下同

CALLWordDISL;左半屏,显示一个字子程序

LEASI,Line1_2

MOVAL,2

MOVAH,48

CALLWordDISL

LEASI,Line1_3

MOVAL,2

MOVAH,0

CALLWordDISR;右半屏,显示一个字子程序

LEASI,Line1_4

MOVAL,2

MOVAH,16

CALLWordDISR

RET

DisLine1ENDP

;第3行显示”乔旋”

DisLine2PROCNEAR

LEASI,Line2_2

MOVAL,4

MOVAH,48

CALLWordDISL

LEASI,Line2_3

MOVAL,4

MOVAH,0

CALLWordDISR;右半屏,显示一个字子程序

RET

DisLine2ENDP

;第4行显示”欢迎使用”

DisLine3PROCNEAR

LEASI,Line3_1

MOVAL,6;A-起始显示行地址,第6行

MOVAH,32;B-起始显示列地址,第32列,以下同

CALLWordDISL;左半屏,显示一个字子程序

LEASI,Line3_2

MOVAL,6

MOVAH,48

CALLWordDISL

LEASI,Line3_3

MOVAL,6

MOVAH,0

CALLWordDISR;右半屏,显示一个字子程序

LEASI,Line3_4

MOVAL,6

MOVAH,16

CALLWordDISR

RET

DisLine3ENDP

;液晶初始化

LCD_INITPROCNEAR

MOVAL,3EH;初始化左半屏,关显示

CALLWRComL;写指令子程序

MOVAL,FirstLine;设置起始显示行,第0行

CALLWRComL

MOVAL,3EH;初始化右半屏,关显示

CALLWRComR;写指令子程序

MOVAL,FirstLine;设置起始显示行,第0行

CALLWRComR

CALLLCDClear;清屏

MOVAL,3FH;开显示

CALLWRComL

MOVAL,3FH;开显示

CALLWRComR

RET

LCD_INITENDP

;清屏

LCDClearPROCNEAR

;清左半屏

MOVAL,0;起始行,第0行

MOVAH,0;起始列,第0列

LCDClearL1:

PUSHAX

MOVCX,64

CALLSETXYL;设置起始显示行列地址

LCDClearL2:

MOVAL,0

CALLWRDATAL

LOOPLCDClearL2

POPAX

INCAX

CMPAL,8;共8行

JNZLCDClearL1

;清右半屏

MOVAL,0;起始行,第0行

MOVAH,0;起始列,第0列

LCDClearR1:

PUSHAX

MOVCX,64

CALLSETXYR;设置起始显示行列地址

LCDClearR2:

XORAL,AL

CALLWRDATAR

LOOPLCDClearR2

POPAX

INCAL

CMPAL,8;共8行

JNZL

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2