1 / 20
文档名称:

代码输入器课程设计说明书.doc

格式:doc   大小:271KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

代码输入器课程设计说明书.doc

上传人:xiang1982071 2018/2/15 文件大小:271 KB

下载得到文件列表

代码输入器课程设计说明书.doc

文档介绍

文档介绍:微机原理与接口技术
课程设计说明书
代码输入器设计
起止日期: 2012年12月22日至 2012年12月28日
学生姓名
班级
学号
成绩
指导教师(签字)
计算机与通信学院
2012年 12月28 日
课题名称
微机原理与接口技术课程设计
人数
5
组长
同组人员










设计目的
通过该设计,掌握8255并行接口芯片的使用,普通键盘的设计和数码管的使用,并掌握相应的程序设计和电路设计的技能。是对8255并行接口芯片章节理论学****的总结和补充,为后续的硬件课程的学****打下基础。
设计内容
利用开发板KB-C中的18个按钮中的前16个作为代码键,即代表:0、1、2、…9、A、B、C、D、E、F,最后2个键,1个为删除键(S24),一个为回车键(S25),实现以下功能:每按1个键,则在屏幕上显示相应该键代表的字符,按S25键结束输入,每个代码为4个16进制代码组成。
再利用KB-C上的6个数码管中最后面的4个,在输入代码时不在屏幕上显示,而在数码管上显示,即输第1个时,在最后1位显示,输第2个时,前的那个在倒数第2个显示,而刚才输入的那个在最后1位显示,如此等等,4个代码输完后,按S25结束输入,并在屏幕上显示出来。
具体任务
分析课题,汇总,调试,修正程序错误等
时间安排与完成情况
时间安排:
12月22日:分组、任务分配、课题理解。
6月23日-6月24日:功能分析、程序设计。
6月25日-6月27日:实验验证和测试。
6月28日:总结、书写实验报告。
二、完成情况:
在大家的共同努力下我们在安排的时间里顺利完成了相应的任务,同时我们也在课程设计过程中学到了很多。
一、基本原理
1、按钮的原理:
在KB-C板上,端口A负责发按键扫描信息,端口C的低3位,即PC0、PC1、PC2,负责接收扫描结果,如下图所示,先定时通过端口A(PA0,PA1,PA2,PA3,PA4,PA5)扫描各按钮,即先PA0=0,其它为1发信号,然后PA1=0,其它为1…,端口发出1个信号后,即读端口C,如果PC0,PC1,PC2全为高电平,说明无按钮按下,如果PC0为低电平(PC1,PC2肯定为高电平),且此时,端口扫描的情况是:PA0=1,PA1=0,PA2=1,…则说明SW1被按下。
2、数码管显示原理
数码管由8255端口B和端口C联合控制,端口负责控制某个数码管中的那些段码的显示和小数点的显示(PB7)。端口C的PC4,PC5,PC6发送的信号通过译码后,负责选择6个数码管中的1个显示,即某时刻只有1个数码显示,如果要让几个同时显示,则采用来回扫描显示的方法,且当某个数码管显示时,必须要有一定的延时,约在100ms左右,太短显示不明显(发光不够),太长会产生闪烁。数码管的控制如下图所示:
键盘对应的ASCII码表
键盘
0
1
2
3
4
5
6
7
8
9
10
ASCII
30H
31H
32H
33H
34H
35H
36H
37H
38H
39H
41H
键盘
11
12
13
14
15
ASCII
42H
43H
44H
45H
46H
键盘对应发光二极管表
键盘
0
1
2
3
4
5
6
7
8
发光二极管
3FH
06H
5BH
4FH
66H
6DH
7DH
07H
7FH
键盘
9
10
11
12
13
14
15
发光二极管
67H
77H
7CH
39H
5EH
79H
71H
设计步骤
1、程序流程图
1)、程序一流程图:
8255A的初始化
开始始
判断是否有键按下
回车
结束
在屏幕上显示
Y
Y
N
N
流程图说明:8255初始化后,程序一直扫描键盘,如果没有按键按下则直接继续扫描键盘,如果有按键按下,则判断按键是否是回车键,如果是回车则结束程序,否则显示出按键所对应的十六进制字符到电脑屏幕上。
2)、程序二流程图
回车
在四个发光二极管上显示相应的按键值(按第一个在最右端显示,按第二个第一个左移,第二个在最右端显示)
在屏幕上显示发光二极管上的信息
开始
8255的初始化
扫描键盘
结束
Y
N
程序二流程图说明:8255初始化后程序开始扫描键盘,如果没有按键按下则继续扫描键盘,如果有按键按下则判断是不是回车键,如果是回车键则把输入的最后四个字符输出到电脑屏幕上显示,如果不是则把数码管和屏幕显示对应的第三位左移到第四位,第二位左移到第三位,第一位左移到第二位,再