单片机设计报告.docx
- 文档编号:12609594
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:12
- 大小:587.38KB
单片机设计报告.docx
《单片机设计报告.docx》由会员分享,可在线阅读,更多相关《单片机设计报告.docx(12页珍藏版)》请在冰豆网上搜索。
单片机设计报告
单片机及嵌入式系统课程设计
学院
专业班级
学号
姓名
指导老师
2016年6月20日
一、设计目的
1.巩固和掌握对“单片机及嵌入式系统”课程内容的认识和理解,提高应用水平。
2.掌握汇编语言程序的编制方法。
3.熟悉键盘控制和七段码管及74系列芯片的使用。
二、系统结构
设计中通过键盘输入到单片机中,由程序控制找到输入点,计算键码,调用显示模块,把输入的数值通过LED显示器显示出来。
1.判断键盘中有无键按下:
将全部行线P1.0到P1.3置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
2.判断闭合键所在的位置:
在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:
将行线置为低电平,即在置行线为低电平时,其它线为高电平。
在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。
若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
检测的方法是P1.4-P1.7输出全“1”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“0”,则无键闭合,否则有键闭合。
3.去除键抖动:
当检测到有键按下后,延时一段时间再做下一步的检测判断。
4.识别:
当确定键按下时,通过软件计算键码找到相对位置的数据调用显示模块把数字或字母显示出来或者实现其他功能。
各主要部件的功能:
1.矩阵键盘:
4×4矩阵键盘,按键传送输入信息;
2.单片机AT89C51:
采用软件编程来实现按键信息的提取和转换;
3.七段数码管:
用于显示最终被单片机转换过的按键信息。
三、系统原理
1.单片机简介及主系统电路
AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,提高了系统的性价比。
其最小系统电路图如下:
2.数码管工作原理
LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。
通常所说的LED显示器由7个发光二极管组成。
此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。
通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
LED显示中的发光二极管共有两种连接方法:
共阳极接法:
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。
共阴极接法:
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地。
这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。
控制数码管驱动级的控制电路有静态式和动态式两类:
静态驱动:
它是指每个数码管都要用一个译码器译码驱动。
动态驱动:
它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。
本次的设计采用共阳极接法和动态驱动。
数码管硬件电路图
3.4×4矩阵键盘的工作原理
键盘是由若干按键组成的开关矩阵,是嵌入式控制系统的一种输入部件。
键盘分两种:
一种是独立式按键,另一种是矩阵式按键。
如图所示。
独立式按键用的比较少,可以直接与单片机的P1口某一位进行连接,通过判断这一位的状态知道是否有键输入。
在应用中通常需要数量较多的按键,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式键盘
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,行线通过电阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下 了。
四、系统软件框图
五、软件代码
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOV50H,#00H
MOV51H,#00H
MOV52H,#00H
MOV53H,#00H
MOV54H,#00H
MOV55H,#00H
BEGIN:
MOVR5,OOH
MOVA,P2
ANLA,#0FH
CJNEA,#0FH,INK1
ACALLDIS
AJMPBEGIN
INK1:
ACALLDL1MS
MOVA,P2
ANLA,#0FH
CJNEA,#0FH,INK2
AJMPBEGIN
INK2:
MOVP0,#FEH
MOVA,P2
JNBACC.0,KEY0
JNBACC.1,KEY4
JNBACC.2,KEY8
JNBACC.3,KEYC
MOVP0,#FDH
MOVA,P2
JNBACC.0,KEY1
JNBACC.1,KEY5
JNBACC.2,KEY9
JNBACC.3,KEYD
MOVP0,#FBH
MOVA,P2
JNBACC.0,KEY2
JNBACC.1,KEY6
JNBACC.2,KEYA
JNBACC.3,KEYE
MOVP0,#FDH
MOVA,P2
JNBACC.0,KEY3
JNBACC.1,KEY7
JNBACC.2,KEYB
JNBACC.3,KEYF
LJMPSTTK
KEY0:
MOVA,#00H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY1:
MOVA,#01H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY2:
MOVA,#02H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY3:
MOVA,#03H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY4:
MOVA,#04H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY5:
MOVA,#05H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY6:
MOVA,#06H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY7:
MOVA,#07H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY8:
MOVA,#08H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEY9:
MOVA,#09H
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYA:
MOVA,#0AH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYB:
MOVA,#0BH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYC:
MOVA,#0CH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYD:
MOVA,#0DH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYE:
MOVA,#0EH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
KEYF:
MOVA,#0FH
ACALLPUFBUF
ACALLDIS
AJMPSTTK
PUTBUF:
PUSH00H
PUSHACC
MOVA,R5
MOVR0,A
POPACC
MOV@R0,A
DECR5
CJNER5,#4FH,GOBACK
MOVR5,#55H
GOBACK:
POP00H
RET
DIS:
PUSHACC
PUSH00H
PUSH03H
MOVR0,#50H
MOVR3,0DFH
AA2:
MOVA,@R0
MOVDPTR,#AA1
MOVCA,@A+DPTR
MOVP1,A
MOV,P0,R3
ACALLDL1MS
MOVA,R3
JNBACC.0,AA3
RRA
MOVR3,A
INCR0
AJMPAA2
AA3:
POP03H
POP00H
POPACC
RET
AA1:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DL1MS:
MOVR7,#01H
DL0:
MOVR6,#0FFH
DJNZR6,DL1
DJNZR7,DL0
RET
STTK:
ACALLDIS
MOVP0,#00H
MOVA,P2
ANLA,#0FH
CJNEA,#0FH,STTK
AJMPBEGIN
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 设计 报告