银行卡存取操作_第1页
银行卡存取操作_第2页
银行卡存取操作_第3页
银行卡存取操作_第4页
银行卡存取操作_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:微机系统综合课程设计课程设计题目:模拟银行卡存取操作院(系):计算机学院专 业:计算机科学与技术班 级:7401103学 号:200704011069姓 名:桂 明指导教师:毛艳娥完成日期:2010年7月16日目 录第1章 总体设计方案11.1设计需求11.2设计原理11.2.1 提出方案11.2.2 方案论证21.3 设计环境3第2章 详细设计方案42.1硬件设计42.2软件设计4饮料装配线主程序5软件延时程序6满瓶数量改变程序72.2.3 空瓶数量改变程序7装配过程显示程序8第3章 结果测试及分析93.1 结果测试93.2 结果分析10参

2、考文献11附 录(程序清单)12第1章 总体设计方案1.1设计需求 设计一个银行卡存取操作。具体内容如下:1. 银行卡卡号为8位,设置取款密码(6位),当输入的代码同设置的相应卡号的密码相同时,给出正确状态,否则给出报警信号,重新输入密码;2. 选择查询操作可以查询余额,数码管上显示现有金额;选择存、取操作时(初始状态显示当余额),输入要存或取的金额,操作结束,显示操作后现有的金额;3. 限制每次取款的上限和每天总共可取得金额,若违规则给出相应的提示。1.2设计原理 应用可编程键盘/显示接口芯片8279与可编程并行接口芯片8255A。通过使用8279,在数码管上显示预设置的容量,在键盘上输入要

3、求的饮料瓶数量,当点击完后,程序开始运行。1L的和500ml的容量瓶可以输入不同的装瓶数量。在装瓶的过程中,数码管显示位开始从1加到8,同步进行的是通过使用8255A的8个发光二极管依次变亮,当装满后,发光二极管全亮,数码管右侧的圆点变亮,相应调用延时程序。容量分别为1L和500ml的饮料瓶顺序进行装瓶,首先进行是1L的,全部装完后,在从键盘上输入500ml的装瓶数量,最后显示的是空瓶和满瓶的数量。再将数码管及发光二极管初始化,循环进行装配工作,最终达到工作需求。 提出方案 可编程键盘/显示接口芯片8279控制数码管的亮灭,数码管的低四位用于表示容量为1L的装配过程,低四位中的最高位数码管代表

4、容量,标示为1;第二位代表容量1L的空瓶数量,初始化标示为5瓶;第三位代表满瓶的数量,初始化为0瓶,需要操作者在键盘上输入要求输入的装瓶数量,此时还没开始进行装配。最低位代表的是每一瓶饮料的装瓶过程,首先初始化为灭,当开始装配时,数码管从1开始依次变化到8。通过使用可编程并行接口芯片8255A的PC口输出,接到发光二极管上。在每次变化的过程中,都需要发光二极管依次置亮。当装满一瓶时,进行提示装满,效果是发光二极管都置亮,数码管演示装瓶过程位的右侧圆点亮,证明装满一瓶;在装完一瓶后,要将发光二极管都置灭,同时数码管装瓶过程位右侧的圆点置灭,这是为下一瓶饮料的装配做准备。每次装完一瓶,满瓶数量要进

5、行加1操作,空瓶数量要减1操作,同时检查是否装完,没装完则继续进行装配过程,装完则停止。 方案论证程序并结合芯片进行论证。程序开始部分,首先是对芯片的初始化,输入命令控制字。简单介绍可编程键盘/显示接口芯片8279;8279是可编程键盘/显示接口芯片。它的功能主要包括键盘输入和显示控制。它的功能主要包括键盘输入和显示控制部分,其中键盘部分提供扫描功能。显示部分则是提供扫描方式的显示接口,可与八段数码管连接构成。初始化代码:其中Z8279是控制端口MOV DX,Z8279 MOV AL,00 ;左边输入,八位显示外部译码八位显示 OUT DX,AL MOV AL,38H ;扫描频率 OUT DX

6、,AL 这里简单介绍可编程并行接口芯片8255A:8255A是可编程并行输入输出接口芯片,具有三个8位并行端口,用于输出给定信号。 初始化命令字: MOV DX,Z8255 MOV AL,80H OUT DX,AL ;初始化8255 其中Z8255是控制端口,80H是命令字,PA、PB、PC口都是输出,这里我们只用PC口作为输出,连接8个发光二极管。 然后调用数码管的子程序BEGIN_,初始化容量为1L的空瓶数量为5瓶,满瓶数量为0瓶(需要键盘动态输入),容量标示为1L。初始化容量为500ml的空瓶数量为5瓶,满瓶数量为0瓶(需要键盘动态输入),容量标示为500ml。用寄存器AH来存储当前的满

7、瓶数量,寄存器CX来存储当前的空瓶数量。 在装配过程中,装配显示位数码管从1变化到8,相应的发光二极管从第一个依次单独亮到第8个,但装满一瓶后,发光二极管全亮,数码管装配位右侧的圆点置亮,证明已经装完一瓶。 此时改变空瓶和满瓶的数量,满瓶数量加1,调用ADD_子程序;空瓶数量减1,调用DEC_子程序。判断装配是否完成,如果没有完成,则继续装配,否则装配结束。 在数码管和发光二极管显示时,都需要调用延时子程序DELAY。经过认真仔细论证,证明所提出的方案切实可行。1.3 设计环境硬件环境:AEDK实验箱软件环境:LCT88EA应用软件、Win2000、PC机第2章 详细设计方案2.1硬件设计本设

8、计中用到的硬件有AEDK实验箱, 8279芯片、8255A芯片、小键盘、8个八段数码管和8个发光二极管。8279芯片的片选CS79连至译码处210-217H。8279芯片的控制端口接到译码处212H处,数据端口接到译码处210H。8255A芯片的片选CS55连至译码处200-207H,控制端口接到译码处203H,因为这里没有用到PA口和PB口,所以不需要连接。8255A的PC口接到译码处202H,用于连接发光二极管。如图2.1所示。图2.1 模拟饮料装配线连线图2.2软件设计首先对芯片进行初始化,对8279和8255A的命令字和端口译码处进行初始化。然后将8279的FIFO寄存器置零,判断是否

9、按键,此时键入的是满瓶的数量,则程序开始运行。饮料装配线主程序主程序首先对8279和8255A进行初始化。调用数码管初始化子程序BEGIN_,置空FIFO寄存器。循环检测键盘是否有键入,空则等待,表示装配工作未启动。键入容量为1L的装瓶数量,工作开始。开始装瓶,调用装配过程子程序LED8255,装满一瓶后,满瓶位加1,调用子程序ADD_,空瓶位减1,调用子程序DEC_,然后判断装配工作是否结束,没有则继续装配,否则工作结束。在装配过程中,数码管和发光二极管要相应的变亮,此时要调用延时子程序DELAY,使能更好演示装瓶过程。当1L的装完后,在键入容量为500ml的装瓶数量,同上述效果运行程序。饮

10、料装配线主程序如图2.2:。图2.2 饮料装配线主程序流程图软件延时程序用寄存器CX来存储用来循环的值(十六进制)0FFFFH,因为在此之前,在寄存器CX中已经送入了用来存储当前饮料瓶的空瓶数量,所以需要对此加以存储保护,即将寄存器CX压入栈中。 执行DEC CX语句,然后判断CX是否为0,如果不为0,则继续减,直到为0。因为在运行的过程中发现延时的时间比较短,不方便检查,达不到好的效果,所以在执行上述的语句后,接着执行几条NOP空指令语句,起到了延时的作用。完成延时以后,要把栈中存储的当前空瓶数量值释放出来,执行POP CX语句。软件延时程序流程图如图2.3所示。图2.3 软件延时程序流程图

11、满瓶数量改变程序当装完一瓶饮料后,要将当前满瓶的数量加1。满瓶数量改变程序流程图如图2.4所示。图2.4 满瓶数量改变程序流程图 空瓶数量改变程序当装完一瓶饮料后,要将当前空瓶的数量减1。空瓶数量改变程序流程图如图2.5所示。图2.5 空瓶数量改变程序流程图装配过程显示程序 在装瓶的过程中,数码管从1依次显示到8,相依的发光二极管在数码管每变化一次后置亮,当变化完后,发光二极管全部置亮,数码管右侧的圆点置亮,证明已经装完一瓶显示程序如下:LED8255: ;装瓶过程 MOV DX,D8279 MOV AL,1 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV

12、 AL,0FEH OUT DX,AL以上只是演示数码管显示1,发光二极管第一个灯亮。 CALL DELAY 当到8时,发光二极管全为亮,程序如下: MOV DX,C8255 MOV AL,00H OUT DX,AL CALL DELAY RET第3章 结果测试及分析3.1 结果测试程序编译连接完成之后,对课程设计要求的各项内容进行测试,按饮料瓶装配线连线图连接好电路以后,把程序下载到机器中运行。测试过程如下: 操作显示装瓶过程备注数码管初始化 标示容量和满瓶数量按键输入数码管显示输入的值此值标示要求装瓶数量数码管显示“1”,发光二极管第二个灯亮数码管显示“2”,发光二极管第三个灯亮数码管显示“

13、3”,发光二极管第四个灯亮数码管显示“4”,发光二极管第五个灯亮数码管显示“5”,发光二极管第六个灯亮数码管显示“6”,发光二极管第七个灯亮数码管显示“7”,发光二极管第八个灯亮数码管显示“8”,发光二极管第八个灯亮发光二极管8个灯全亮数码管右侧圆点置亮此时装完一瓶数码管满瓶位显示加1满瓶数量加1数码管空瓶位显示减1空瓶数量减1发光二极管全都置灭数码管当前亮的圆点置灭进行下一瓶的装配 3.2 结果分析按照课程设计的要求,装配线的各项功能基本得以实现。本设计中软件设计起到了主导作用,逻辑的清晰与否决定了设计的成败。硬件设计部分,8279A可编程键盘/显示器接口芯片尤为重要。参考文献1 龚尚福.微

14、机原理与接口技术M. 西安:西安电子科技大学出版社,20032 王忠民.微型计算机原理M. 西安:西安电子科技大学出版社,20033 沈美明,温冬婵. IBM-PC汇编语言程序设计M. 北京:清华大学出版社,20014 郑初华.汇编语言、微机原理及接口技术M.北京:电子工业出版社,20065 陆鑫.微机原理及接口技术M.北京:机械工业出版社,20056 王晓军等. 微机原理与接口技术M.北京:北京邮电大学出版社,2001附 录(程序清单)Z8279 EQU 212H ;8279控制端口D8279 EQU 210H ;8279数据端口Z8255 EQU 203H ;8255控制端口C8255 E

15、QU 202H ;8255 C数据端口 CODE SEGMENT ASSUME CS:CODE,DS:CODESTART: MOV AX,CS MOV DS,AX MOV DX,Z8279 MOV AL,00h ;左边输入,八位显示外部译码八位显示 OUT DX,AL MOV AL,38H ;扫描频率 OUT DX,AL MOV DX,Z8255 MOV AL,80H OUT DX,AL ;初始化8255 CALL BEGIN_ ;调用初始化子程序 ;以上为初始化550,150 NOP MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0C2H OUT DX,AL WAIIT: N

16、OP MOV AX,0 IN AL,DX MOV BL,AL AND AL,80H CMP AL,80H JE WAIIT ;FIFO正在清除期间则跳转等待 MOV AL,BL AND AL,0FH CMP AL,00H JE WAIIT ;无键按下则等待 MOV DX,Z8279 MOV AL,82H ;置 读FIFO RAM命令字 OUT DX,AL MOV DX,D8279 ;读入FIFO RAM内容 IN AL,DX MOV CL,AL CMP CL,0 JZ T1 LEA BX,LED XLAT OUT DX,AL MOV AH,0 MOV DX,Z8279 MOV AL,0C2H

17、OUT DX,ALT2: NOP MOV DX,Z8279 MOV AL,80H OUT DX,AL CALL LED8255 ;调入发光二极管显示过程 MOV DX,D8279 MOV AL,80H OUT DX,AL ;将圆点变亮 CALL DELAY MOV DX,C8255 MOV AL,0FFH OUT DX,AL ;发光二极管重新置灭 MOV DX,D8279 MOV AL,00H OUT DX,AL ;圆点灭 MOV DX,Z8279 MOV AL,81H OUT DX,AL CALL ADD_ ;调用子程序,改变满瓶位 MOV DX,Z8279 MOV AL,82H OUT D

18、X,AL CALL DEC_ ;调用子程序,改变空瓶位 CALL DELAY MOV AL,CL CMP AL,0 ;判断是否装完 JNZ T2 T1: NOP MOV DX,Z8279 ;置空FIFO寄存器 MOV AL,0C2H OUT DX,AL WAIITT: NOP MOV AX,0 IN AL,DX MOV BL,AL AND AL,80H CMP AL,80H JE WAIITT ;FIFO正在清除期间则跳转等待 MOV AL,BL AND AL,0FH CMP AL,00H JE WAIITT ;无键按下则等待 MOV DX,Z8279 MOV AL,86H ;置 读FIFO

19、RAM命令字 OUT DX,AL MOV DX,D8279 ;读入FIFO RAM内容 IN AL,DX MOV CL,AL CMP CL,0 JZ T4 LEA BX,LED XLAT OUT DX,AL MOV AH,0 MOV DX,Z8279 MOV AL,0C2H OUT DX,AL T3: NOP MOV DX,Z8279 MOV AL,84H OUT DX,AL CALL LED8255 MOV DX,D8279 MOV AL,80H OUT DX,AL ;圆点亮 CALL DELAY MOV DX,C8255 MOV AL,0FFH OUT DX,AL ;重新将发光二极管置灭

20、MOV DX,D8279 MOV AL,00H OUT DX,AL ;圆点灭,等待下一瓶的装入 MOV DX,Z8279 MOV AL,85H OUT DX,AL ;写入控制位,满瓶加1 CALL ADD_ MOV DX,Z8279 ;写入控制位,空瓶减1 MOV AL,86H OUT DX,AL CALL DEC_ CALL DELAY MOV AL,CL CMP AL,0 ;判断是否装完 JNZ T3T4: CALL DELAY MOV DX,Z8279 MOV AL,81H OUT DX,AL MOV DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,Z8279

21、MOV AL,82H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,Z8279 MOV AL,85H OUT DX,AL MOV DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,Z8279 MOV AL,86H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,Z8279 MOV AL,0C2H OUT DX,AL JMP WAIIT HLT BEGIN_: MOV DX,D8279 MOV AL,00H OUT DX,AL ;显示1L装瓶位,初始化为灭 MOV

22、 DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,D8279 MOV AL,06H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL ;显示500ml装瓶位,初始化为灭 MOV DX,D8279 MOV AL,3FH OUT DX,AL ;500ml满瓶位,初始化为0个 MOV DX,D8279 MOV AL,00H OUT DX,AL ;500ml空瓶数量位,初始化为5个 MOV DX,D8279 MOV AL,6DH OUT DX,AL ;容量标示500ml

23、RET ADD_: ;满瓶加1子程序 INC AH MOV AL,AH LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL RET DEC_: ;空瓶减1子程序 DEC CL MOV AL,CL LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL RET LED8255: ;装瓶过程 MOV DX,D8279 MOV AL,1 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FEH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,2 LEA BX,LED XLAT

24、 OUT DX,AL MOV DX,C8255 MOV AL,0FDH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,3 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FBH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,4 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0F7H OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,5 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0EFH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,6 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0DFH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,7 LEA BX,LED XLAT O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论