721.电子计算器设计报告(包含小组成员报告).doc
《721.电子计算器设计报告(包含小组成员报告).doc》由会员分享,可在线阅读,更多相关《721.电子计算器设计报告(包含小组成员报告).doc(35页珍藏版)》请在三一办公上搜索。
1、计算机科学与技术学院硬件课程设计报告姓 名: 学 号: 专 业: 信息安全 班 级: 信安06-3 设计题目: 电子计算器 成 员: 指导教师: 职 称: 高级工程师 2008年 6月 徐州摘 要 电子计算器是平时的学习生活的用处比较大的一个物品,属于常见的必需品之一,在本次硬件设计中,利用微机课上学习过的芯片Intel 8255A,和键盘、七段数码显示管结合起来,实现计算器的基本功能,即加、减、乘、除运算。本计算器可以实现简单的计算功能,但由于数码显示管只有4个,因此只能进行4位以内的运算,超过四位显示器将只显示最低四位内容造成结果的不准确。16位键盘依次表示0,1,2,3,4,5,6,7,
2、8,9,+,-,*,%(除法取整),=,CE(清零)。关键词:计算器; Intel 8255A; 16位键盘; 4个七段数码显示管课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日目 录1、选题报告22、简单计算器设计思路2 2-1 功能22-2 具体要求33、LED设计与实现33-1 LED显示器及其功能33-2 七段LED显示器数码表4 4、键盘设计4 4-1键盘原理5 4-2流程图55、8255A的设计与实现7 5-1基本原理7 5-2引脚功能7 5-3读写控制8 6、总体设计方案8 6-1计算器原理图9 6-2主程序源代码 10 7、设计体会14 8、参考资料14
3、 9、个人专题设计部分15 7-1 LED设计部分( )15 7-2 键盘设计部分( )207-3 8255A设计部分( )261 选题报告我们选的设计题目是电子计算器,拿到题目后我们询问了老师,得到初步的设计计划:设计所需的芯片:8255A所需设备:LED预期达到的效果:通过对8255A编程初始化,将键盘与LED连接,通过对键盘的操作实现计算功能:初步定为加和减的功能,键入一个数字,从LED显示,再键入功能键,LED保持第一次键入的数字显示,键入第二个数字,LED清除第一词的数字显示,并显示第二次的键入内容,键入“=”键,LED显示运算结果。这是初步设想,设计过程中还需要在老师的指导和自己的
4、摸索中进一步改进和完善。另外还有很多情况需要考虑,比如参与运算的数字位数太多LED显示不了,溢出时怎么处理,都还需要组员们的思考和集体讨论。经过查找资料和思考,我们目前需要解决的问题有以下几点:一, 如何应用8255A,1)8255的功能,作用;2)8255初始化;3)对8255编程操作;二, 如何应用LED,1)LED的性能;2)LED的连接;3)LED的显示三, 8255A与键盘的连接四, 键盘与LED的连接2 简单计算器的设计思路2.1功能本实验完成一简单计算器的功能,通过小键盘输入可以进行简单的“”,“”,“*”,“%”,并将结果在显示器上显示。2.2 具体要求第一部份:小键盘的输入先
5、设置数据段,显示提示信息,再调键盘扫描子程序KEY,并判断字是否为“”,是则进入第二部份运算,不是则继续循环此程序。将C、D、E、F、B键定为“”、“”、“*”、“%”、“”;设定“CE”键清除。第二部份:运算先将键盘输入的字符换成二进制数,然后分别进行各自的计算,结果和10相与,若10,将结果除以10,商(十位)放入min1,余数(个位)放入min2;若10则直接放入min2中。第三部分:LED显示根据min1,min2的值,通过查表得到对应的段码,位码后输出。扫描显示两位后退出循环。扫描键盘,判是否按下“A”键,是则返回DOS;不是则返回显示开始。3 LED显示的功能及实现3.1 LED显
6、示器及其功能七段LED显示器由七个发光段构成,每段均是一个LED二极管。这七个发光段分别称为a,b,c,d,e,f,g,通过控制不同段的点亮和熄灭,以显示所要得到的数字。七段LED的输出功能也是通过8255的并行输出实现。首先,通过8255对LED对七段LED显示器的控制实现8255的参数初始化,再通过输入指令从8255的输入锁存器中取显示数据,传送到数码管进行输出操作。其次,通过指令输出选通信号,延时一段时间后,再对位选通信号移位并指向下一个需要显示的数据。最后,通过取符号指令实现数字的简单运算LED内部结构及连接图3.2 LED显示数字编码表dpgfedcba显示的字符编码01000000
7、040H01111001179H00100100224H00110000330H00011001419H00010010512H00000010602H01111000778H00000000800H00010000910H4 键盘功能的设计与实现 4.1键盘原理当进行扫描时,扫描信号由列引脚输入键盘。以1000、0100、0010和0001的顺序每次扫描不同的列,然后读取列引脚的信号就可以判断是哪个键被按下。 键盘设计如下:1000 01000010 0001 1000 0100 0010 0001 识别键盘上哪个键被压下的过程的扫描步骤: 1.检测是否所有键都都松开了,若没有则反复检测。
8、2.但所有键都松开了,再检测是否有键压下,若无键一下则反复检测。 3.如有键压下,要消除键抖动,确认有键压下。 4.对压下的键进行编码,将该键的行列信号转换成16进制码,由此确定哪个键被压下了。如出现多键重按的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。 5.该键释放后,再回到2。4.2 流程图 开始 8255A初始化 PA口输出全0 读PB口信号是否有键按下在0001列 N Y 延时消除抖动 N在0010列 Y 逐行扫描PA口,输入0行,扫描码0001 N在0100列 Y行扫描码左移1位,保存读PB口的值 N在1000 行计数器加1 编码四行扫描结束本行有键按下N
9、 结束 输出该键位 5 8255A的设计与实现5.1 8255A的基本工作原理:8255 是Intel公司生产的可编程输入输出接口芯片,它是具有3个8位的并行I/O端口,具有三种工作方式,被广泛地使用于单片机的并行I/O端口。 工作方式0:基本输入输出方式 工作方式1:选通输入输出方式 工作方式2:双向传送方式5.2 8255引脚功能说明:RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位
10、的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0
11、D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送5.3 8255的读写控制:8255的读/写控制逻辑电路接受CPU 发来的控制口号RD、WR、RESET和地址信号A1A0。然后根据命令端口,控制信号的要求,将端口的数据读出选信CPU或者将CPU 送来的数据写入端口,各端口的工作状态。如表所示。通过用输出指令对8255A的控制字寄存器编程,写入设定工作方式的控制字,可以让3个数据口以不同的方式工作,端口A可工作于3种方式的任一种,端口B只能工作于方式0和方式1,端口C除了用于输入输出端口外,还
12、能配合A口和B口工作,为这两个端口的输入输出操作提供联系信号。6 计算器原理及其实现6.1 计算器原理图关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关关、?关D7D0RDWRRESET A7M/IO A6A5 A4 A3 A0A2A1G1G2AG2BY4CBAD7D0 RD PA0WR PA1 RESET PA2 PA38255A CS PC7 PC6 PC5PC4PC3PC2A1 PC1 A0 PC1图6.1计算器原理图6.2 主程序源代码:PORT_A EQU 300HPORT_B EQU 302HPORT_CTL
13、EQU 306H /;设置端口地址DATA SEGMENTTABLE1 DB 77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH DB 0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEHTABLE2 DB 40H,79H,24H,30H,19H,12H,02H,78H DB 00H,18H,08H,03H,46H,21H,06H,0EH DATA ENDSSTACK SEGMENT STACK DW 50 DUP (0)TOPSTACK LABEL WORDSTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA
14、,SS:STACKMAIN PROC FARSTART: MOV AX,STACK MOV SS,AX LEA SP,TOPSTACK MOV AX,DATA MOV DS,AX MOV DX,PORTCTL MOV AL,10000010B OUT DX,AL MOV DX,PORTC MOV AL,00h MOV SI,AL CALL DISPYLOOP1: CALL SCAN CMP AH,00h JNZ LOOP1 MOV SI,AL CMP AL,0Ah JL OUTPUT CMP AL,0Ah JE RESETOUTPUT: PUSH AX CALL DISPY JMP LOOP1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 721. 电子 计算器 设计 报告 包含 小组 成员

链接地址:https://www.31ppt.com/p-2606029.html