超市收银系统刘建明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口课程设计报告

计算机0216 刘建明012002014814

一.目的和给定的条件

1.掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统。2.掌握基本接口电路的综合应用。

3.掌握接口电路的驱动程序和界面软件的设计与编制,学会调试与测试接口软件的一般方法。

4.微机接口技术及接口芯片的综合应用。

二.设计任务及要求

本小组选题:超市收费系统(添加了条形码检测)

超市商品条形码检测,客户端通过串行通信连接主机,主机识别商品ID,给出价格发送到客户端。客户端付帐完成后有声光提醒。

本人和熊毅主要负责系统界面的设计,下位机部分的声光提醒系统的设计,连线及调试等。

试验要求达到的目的是下位机向上位机发送商品的条形码,上位机通过查询将该商品的名称以及价格返还下位机,下位机若受到顾客付账则声光报警提醒。

三.总体方案设计

1.总体方案设计结构图

2.设计的硬件,逻辑连线图

见下页。

四.系统概述

1.系统硬件由主控机(其中一台微机)、下位机和执行部件条形码输入设备组成。主控机与下位机通过串行通信线连接。

2.条形码输入设备:由拨码开关来表示所执行的操作,通过接口电路将接收的数据送入到下位机。3.下位机:与主控机通信,接受条形码输入设备的信息。

4.选用语言汇编语言。

5.系统功能概述:

系统的功能主要是下位机不停的来监视,即读取用户的操作,也就是是否有顾客前来购买商品,若有则将商品的条形码发送给主控机。主控机接受下位机发送过来的8位数据以后,进行数据分析,来确定用户所需要的商品的条形码,或者是顾客已付钱,然后将相应的商品的名称以及价格发送给下位机。下位机在接到主控机发送的信息以后进行对应的操作,即输出商品的相关信息以提示顾客付账。这里商品条形码输入设备用到了拨码开关,由条形码的8位数据来代表商品的条形码。用声光报警系统来模拟顾客付账后的声光提示。

五、系统设计的详细内容:

1.下位机部分:

下位机主要是来监视用户的动作,比如是讲商品的条形码发送给上位机还是向上位机发送付账提示。然后将数据发送给主控机,接收主控机发过来的信息,由此来输出商品信息或者控制声光报警。

这里是通过一排开关按钮来模拟用户商品的条形码输入的。8位开关按钮,依次代表商品条形码的位数进而组成ASCII码,以方便上位机的查询。

将开关按钮连接到8255的B口上。通过8255的B口来读取商品的条形码,。下位机通过读取8251的A口将状态发送给主控机,由主控机来翻译处理具体的操作。

下位机的接收程序接收主控机送过来的信息以后的操作命令。要做的事情很简单就是显示商品的信息,具体实现方法是将上位机发过来的信息放在一缓冲区中,下位机直接从该缓冲区中将信息读出即可。

下位机的工作流程图如下所示:

下位机的程序如下:

;*--------------------------------------------------------------------*/ ;* 超市收费系统_客户端*/ ;* Copyright (c) 2005 by HUST CS0216 */ ;* Date 2005.9.22 */ ;* 小组成员:程伟李巍刘建明熊毅张引*/ ;*-------------------------------------------------------------------*/ 仅列出所负责的声光报警系统方面的部分代码

sound_l proc near

mov dx,303h ;初始化8255

mov al,83h

out dx,al

mov dx,300h ;LED全灭

mov al,00h

out dx,al

mov dx,303h ;关闭SPK

mov al,0ch

out dx,al

sl: call ledflash ;已按下,调用LED发光子程mov bx,200

mov t,0ffffh

hison: call outspk ;调用喇叭发声子程(高频)dec bx

jnz hison

mov dx,300h ;LED全灭

mov al,00h

out dx,al

mov bx,200

mov t,0afh

loson: call outspk ;调用喇叭发声子程(低频)dec bx

jnz loson

call delay2

mov ah,0bh ;查任意键按下?

int 21h

cmp al,0ffh

je quit ;有任意键按下,退出

jmp sl ;无任意键按下,继续quit: mov dx,300h ;LED全灭

mov al,00h

out dx,al

mov dx,303h ;关闭SPK

mov al,0ch

out dx,al

ret

sound_l endp

delay1 proc ;延时子程1

push bx

mov bx,t

dl1: dec bx

jnz dl1

pop bx

ret

delay1 endp

delay2 proc ;延时子程2

push cx

push bx

mov cx,04ffh

dl4: mov bx,0ffffh

dl3: dec bx

jnz dl3

dec cx

jnz dl4

pop bx

pop cx

ret

delay2 endp

outspk proc ;喇叭发声子程

mov dx,303h ;从PC6输出方波

mov al,0dh ;置PC6=1;打开8253

out dx,al

call delay1

mov dx,303h

mov al,0ch ;置PC6=0;关闭8253

out dx,al

call delay1

ret

outspk endp

ledflash proc ;LED发光子程序

mov si,offset data7 ;LED的点亮代码

add si,num

mov al,[si]

mov dx,300h ;从8255的A口输出LED点亮代码

out dx,al

inc num

cmp num,08h

jne next

mov num,00h

next: ret

ledflash endp

下位机调试过程及遇到问题的说明:

下位机是这次试验中较重要部分,向主控机发送信息以及声光报警都是由下位机完成,在调试的过程中遇到了不少问题。

1.对硬件平台的不了解。串行通信与声光报警系统单独运行的时候都是正常的,但是组合起来的运行就产生了冲突,很是不解,在老师的指导下才明白了是实验平台上的跳线问题没有解决好。

相关文档
最新文档