单片机设计报告.docx

上传人:b****0 文档编号:12609594 上传时间:2023-04-20 格式:DOCX 页数:12 大小:587.38KB
下载 相关 举报
单片机设计报告.docx_第1页
第1页 / 共12页
单片机设计报告.docx_第2页
第2页 / 共12页
单片机设计报告.docx_第3页
第3页 / 共12页
单片机设计报告.docx_第4页
第4页 / 共12页
单片机设计报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机设计报告.docx

《单片机设计报告.docx》由会员分享,可在线阅读,更多相关《单片机设计报告.docx(12页珍藏版)》请在冰豆网上搜索。

单片机设计报告.docx

单片机设计报告

 

单片机及嵌入式系统课程设计

 

学院

专业班级

学号

姓名

指导老师

 

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1