单片机课程设计说明书最新Word文档下载推荐.docx
- 文档编号:19066185
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:13
- 大小:247.40KB
单片机课程设计说明书最新Word文档下载推荐.docx
《单片机课程设计说明书最新Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机课程设计说明书最新Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
单片机将检测到的按
键信号转换成数字量,显示于数码管显示器上。
该系统灵活性强,易于操作,
可靠性高,将会有更广阔的开发前景。
r14*4矩阵式键盘识别显示系统概述
矩阵式键盘模式以X个端口连接控制X*X个按键,实时在LED数码管上显示按键信息。
显示按键信息,既降低了成本,乂提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。
并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、讣算器按键等,至少都需要12到16个按键,在这种悄况下如果用独立式按键的话,显然太浪费I/O端口资源,为了解决这一问题,我们使用矩阵式键盘。
矩阵式键盘简介:
矩阵式键盘乂称行列键盘,它是用N条1/0线作为行线,X条I/O线作为列线组成的键盘。
在行线和列线的每个交义点上设置一个按键。
这样键盘上按键的个数就为个。
这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
最常见的键盘布局如图1-1所示0—般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设讣就采用这个键盘模式。
图卜1键盘布局
随着21世纪的到来,资源危机接踵而至。
快速席卷整个国家,这一状况还将随着时间的推移和社会的发展而更加严重。
国家提倡资源节约型社会,资源危机已成为全球性的突出问题,利用科技手段缓解这一危机,将是人类主要的出路。
电子信息行业是人类社会的高科技行业之一,是设施现代化的基础,也是人类通往科技巅峰的直通路。
电子行业的发展从长远来看很重要,但最主要的还是科技问题。
国家设施的现代化的根本出路在于全面提高科技水平,现代的社会经营模式山传统模式向现代化、高科技模式转变,山粗放型向集约型方向转变,必须要求科技有一个大的发展,进行一次新的技术革命。
矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。
是它能准确、实时、高效地显示按键信息,以提高工作效率和资源利用率。
随着计算机技术和电子科技的迅猛发展,计算机和电子产品的价格日益降低,可靠性日益提高。
本文旨在设计一套能对按键信息进行自动实时显示的系统。
1.2本设计任务和主要内容
1课程设计的目的
《单片机应用基础》课程设计是学好本门课程的乂一重要实践性教学环节,课程设计的U的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设讣能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
2课程设计任务
根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。
有关参数选择要求符合国家标准。
具体设计内容如下:
模拟步进电机、模拟交通灯模块、模拟键盘输入及显示模块。
设计系统工作原理图,利用PROTEUS软件绘制系统工作原理图:
系统控制程序设计、调试及实现:
(1)
(2)
(3)
根据要求,写出完整的程序流程图;
将设计程序输入、汇编,排除语法错误,生成*.OBJ文件;
按所设计的原理图,在实验平台上连线,检查无误;
图2-1单片机控制系统原理框图
2.2单片机主机系统电路
AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。
山于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
图2・2单片机主机系统图
2.2.1时钟电路
时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:
内部振荡和外部振荡。
MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大电器的输入端和输出端,山于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用
这种方式,如图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部掘荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图2-2中外接晶体以及电容C2和C3构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为30pF左右,晶振频率选11.0592MHz。
2.2.2复位电路
为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。
单片机的复位是黑外电路来实现的,在正常运行悄况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位9但如果RST引脚上持续为高电平,单片机就处于循环复位状态。
复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H,SBIT内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。
复位操作有两种情况,即上电复位和手动(开关)复位。
本系统采用上电复位方式。
图2-2中R1和C1组成上电复位电路,其值R取为1KQ,C取为lOpF。
2.2.3矩阵式键盘电路
AT89C51单片机的并行口P1接4X4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;
P1口输出按键信息,在数码管上显示每个按键的“0-F”序号。
实际电路图连接如图2-4所示。
Sdp
当无按键闭合时,P1.0—P1.3与P1.4—P1.7之间开路。
当有键闭合时,与闭合键相连的两条I/O口线之间短路。
判断有无按键按下的方法是:
第一步,置列线P1・4-P1・7为输入状态,从行线P1.0—P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。
第二步,行线轮流输出低电平,从列线P1・4-P1・7读入数据,若有某一列为低电平,则对应行线上有键按下。
综合一二两步的结果,可确定按键编号。
但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
山于本显示电路功能简单,为使编程简单,采用直接输出模式,即把P0.0
-P0.7端口用8芯排线连接到数码显示模块区域中的a-h端口上,要求:
P0.0
对应着GP0.1对应着b,,P0.7对应着h。
表2-1LED显示段码
字型
共阳极段
共阴极段
COH
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
oBH
B
83H
7CH
3
BOH
1FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
■
92H
6DH
E
86H
79H
6
82H
7DH
F
84H
71H
7
F8H
07H
空白
FFH
00H
8
80H
7FH
P
8CH
73H
第3节系统的软件设计
3.1软件流程图
键盘扫描流程图
八位4段数管动态显
根据总体设计要求,确定系统扩展与功能接口,设计出系统的电路原理图,并用PROTEUS软件绘制,然后进行模拟仿真。
系统仿真和调试
根据系统电路原理图,在Lab2000单片机仿真实验系统上正确连线,并使用
WAVE软件进行软件仿真和硬件仿真,验证电机控制是否符合要求。
6、结束语
通过此次的单片机课程设计,我不仅加深了对单片机理论的理解,深刻懂得了要不断地时间才能寧:
握知识,而且还学会了如何去加强锻炼创新精神,从而不断地战胜自己,超越自己。
创新,是要我们将理论很好地联系实际,并不断地去开动自己的脑子,从为先到并做到别人没想到没做到的事,不断地超越别人,超越自己;
同时,更重要的是,在这一设计•过程中,我懂得了坚持不懈,不轻易言弃是每个理工科学子应具备的良好素质。
设讣过程,也好比是我们的成长的历程,常有一些不如意的事悄发生,这就对我们提出了挑战。
只要自己坚持,坚持,再坚持,再苦再累也值得。
机遇青睐有准备的人。
这个设计过程中,我遇到过许多的考验,给整个设计带来的困扰,真想要就此放弃,然而,我还是挺了过来,
回头想想这个设计的过程,我明口了,原来结果并不是那么得重要,我们更应该注重的是过程。
系统以单片机AT89C51为核心部件,单片机系统完成对按键信号识别、检测、处理、显示等功能,用Protel软件绘制电路原理图,利用MCS-51汇编语言编制程序。
这个系统设计能让我们更好地去认识和使用单片机,矩阵式键盘,节约I/O
口资源,引脚分配,实时显示,芯片应用,编程实践,还有诸如此类的优点。
7、
然而山于时间有点紧张,本来想设计一个数码管动态扫描电路,或者用液晶屏显示的电路来显示按键信息,这样更加清晰,而且还可以显示其他的东西,比如时间,排序等等。
附录
7.1程序工作截图
Cl
诽
iT-t
早辭
Ul
-£
±
-pmr
jnu
JU
KT
・小"
C3
*
tt-t
if
MJfrII
»
Ui>
9^MiA
HiMk
5flbr
PPIS2MIM
宀严严y
2fijr*jliJ
tfj
”
HJ
KjM»
Hjmr«
j«
nKJ<
nn/mPJ«
lTiMMir”MO
i一^ss
L八
严
兰
亡
q
£
m
早%
C2
ti鎰濫漏1
^!
!
S!
i
BCTRKMOH
s竄_鶴_
辰
72程序
#include<
reg5Lh>
#includc<
intrins1i>
#defincuintunsignedint
#defineucharunsignedchar
intflagj;
uchar
a[]={Ox7c・Ox7d・Ox7b,Ox77・Oxbc・Oxbd・Oxbb0xb7・0xde,0xdd.0xdb,0xd7.0xee.0xed.0xeb,0xe7):
厂反转法键盘对应的码值表卄
Uchar
m[]={Ox3f0xO6・Ox5b・Ox4f・Ox66・Ox6d・Ox7d・OxO7・Ox7f・Ox6iOx77・Ox7c・Ox39・Ox5c,Ox79・Ox71/*7段码LED显示数字对应的码值表卄/*延时子程序引
voiddelay(uintk)
uchari:
while(k-)for(i=0;
i<
100:
i++);
voidmainO
intw,g:
ucharLs⑸={OxOO・OxOO・OxOO・OxOO・OxOO}J[]={Oxff・Oxfe・Oxfd・OxfbJ)xf7}・n;
/*存放PO,P2口数据的缓冲数组*/
/*等待键按下卄
for(i=0;
;
i++)
Pl=OxfO:
if((Pl&
OxfO)!
=OxfO)
break:
whiled)
广主循环引
ucharh.y;
if((PJ&
OxfO)!
广有键按下时
delay(lO):
严延时去手抖^7严反转法求码值卄
flag=l;
Pl=OxfO;
y=Pi;
Pl=OxOf;
h=Pl;
h=hly;
for(j=0;
j<
i6:
j++)
广査询键号^^
if(h==a(j))
n=j;
if(flag==l)
严判断是否有键输入^7
for(i=i;
4:
i++)s[i]=s[i+ll:
s[4]=m[n]:
}Pl=0xf0;
for(w=0;
w++)
戶始终将刚输入的7段码值存在最高位
严循环显示各LED*/
for(i=l:
iv5;
i卄)
PO=s[i];
P2=f[i]:
delayf10);
P2=Oxff:
Pl=0xf0;
if((Pl&
0xf0)==0xf0)break:
if(flag==0)break;
广判断按键是否松开*/
flag=O:
73参考文献
[1]电子工业出版社.单片机设计与应用[M]・
谢自美•电子线路设计•实验•测试・:
华中科技大学出版社,2008
陈小忠•单片机实用接口技术子程序[M].人民邮电出版社•2005
[4]
阎石•数字电子技术基础(第三版)•北京:
高等教育出版社,2003
[5]
廖常初•现场总线概述[J]•电工技术,2001
第15页
第16页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 说明书 最新