询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx

上传人:b****5 文档编号:18979441 上传时间:2023-01-02 格式:DOCX 页数:21 大小:7.16MB
下载 相关 举报
询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx_第1页
第1页 / 共21页
询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx_第2页
第2页 / 共21页
询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx_第3页
第3页 / 共21页
询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx_第4页
第4页 / 共21页
询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx

《询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx》由会员分享,可在线阅读,更多相关《询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

询查式键盘电路设计单片机设计说明书大学毕设论文Word格式.docx

3.2.1绘制程序流程图4

3.2.2汇编程序5

3.2.3keil软件的使用方法8

4调试与仿真10

4.1硬件仿真10

4.1.1元件清单10

4.1.2PROTEUS仿真10

4.2电路板连接14

4.2.1电路板连接图14

4.2.2硬件板电路调试14

5心得体会17

参考文献:

19

查询式键盘电路设计

赵陈指导老师:

艾海提·

赛买提、李春兰

1设计目的

熟悉并掌握单片机原理及基本的应用,掌握单片机基本外设的使用方法,掌握汇编语言编程方法,熟悉PROTEUS、keil软件的使用,综合运用所学的知识及电子焊接技术的基础知识连接硬件实现设计功能。

2设计内容

用AT89S51的并行口P1接查询式键盘如图2-1所示。

图2-1查询式键盘

将8个按键从0-7编号,如果有其中一个按键按下时,则在数码管上显示相应的键号,并在P2口接8个LED灯,按下0键数码管显示0时,亮1个LED灯;

按下1键数码管显示1时,亮2个LED灯;

按下2键数码管显示2时,亮3个LED灯;

按下3键数码管显示3时,亮4个LED灯;

按下4键数码管显示4时,亮5个LED灯;

按下5键数码管显示5时,亮6个LED灯;

按下6键数码管显示6时,亮7个LED灯;

按下7键数码管显示7时,亮8个LED灯。

3设计步骤

3.1硬件电路设计

3.1.1硬件电路组成

独立式查询键盘设计中,我们采用AT89C51单片机芯片作为实验的主体,通过在振荡电路和复位电路的作用下,让单片机获得自启动,从而输入相应的程序,通过按键然后在数码管显示电路中显示键值和对应的LED灯亮灯个数。

所得的硬件电路组成框图如图3-1所示。

图3-1硬件电路组成框图

3.1.2各单元电路及工作原理

(1)控制电路

对于AT89C51单片机单元,由于其共有40个管脚,其中有32个管脚可作为I/O口用,它们分别为P0口的八个管脚、P1口的八个管脚、P2口的八个管脚和P3口的八个管脚,其中P3口的八个管脚可作串行口、外部中断、定时器、读写控制等特殊用途,当不需要作特殊用途的时候,P3口可作I/O口使用。

AT89C51单片机芯片如图3-2所示。

图3-2AT89C51单片机

(2)晶振电路

晶振电路用于产生单片机工作所需的时钟信号,晶振电路如图3-3所示,通常,

ƒ=12MHz,电容C1和C2的值在5~30ƤF之间,在此取30ƤF。

图3-3晶振电路

(3)复位电路

复位是使单片机处于初始化状态。

为了确保单片机复位,复位时间t必须大于两个机器周期(24个时钟周期)t=RC≧24μs,当R=10KΩ时,C取10μs可满足要求。

复位电路如图3-4所示。

图3-4复位电路

(4)查询式键盘电路如图3-5所示。

图3-5查询式键盘电路

(5)数码管显示电路如图3-6所示。

图3-6数码管显示电路

(6)LED灯电路如图3-7所示

图3-7LED灯电路

3.2程序设计

3.2.1绘制程序流程图

流程图及解释如图3-8所示。

显示

图3-8流程图

3.2.2汇编程序

ORG0000H

LJMPSMG_JIANCE

ORG0030H

MOVSP,#60H

SMG_JIANCE:

数码管检测程序,查看是否有损坏

MOVDPTR,#JIANCE_TAB

MOVR2,#00;

设定查表初值,从a段开始检测

LOOP:

MOVA,R2

MOVCA,@A+DPTR;

取表值

MOVP0,A;

把表值送给P0口

LCALLDELAY_500MS;

延时500ms

INCR2

CJNER2,#10,LOOP

K_IN:

MOVP2,#00H;

熄灭所有LED灯

AJMPMIAN

MIAN:

主程序

MOVP1,#0FFH;

初始化P1口

MOVA,P1;

读P1口值

CJNEA,#0FFH,K_IN1;

判断是否有键按下,有键按下转K_IN1

SJMPMIAN

K_IN1:

消除抖动判断

ACALLDELAY;

调用延时

MOVA,P1;

读取P1口

CJNEA,#0FFH,K_IN2;

再次判断是否有键按下,有键按下转K_IN2

SJMPMIAN

K_IN2:

;

已确认有键按下,作数据处理

MOVA,P1

CJNEA,#0FEH,K1

MOVR3,#00H;

数码管显示0

MOVP2,#01H

LCALLDISP

K1:

MOVA,P1

CJNEA,#0FDH,K2

MOVR3,#01H;

数码管显示1

MOVP2,#03H

LCALLDISP

K2:

MOVA,P1

CJNEA,#0FBH,K3

MOVR3,#02H;

数码管显示2

MOVP2,#07H

K3:

CJNEA,#0F7H,K4

MOVR3,#03H;

数码管显示3

MOVP2,#0FH

K4:

CJNEA,#0EFH,K5

MOVR3,#04H;

数码管显示4

MOVP2,#01FH

K5:

CJNEA,#0DFH,K6

MOVR3,#05H;

数码管显示5

MOVP2,#03FH

K6:

CJNEA,#0BFH,K7

MOVR3,#06H;

数码管显示6

MOVP2,#07FH

K7:

CJNEA,#07FH,WAIT

MOVR3,#07H;

数码管显示7

MOVP2,#0FFH

LCALLDISP

WAIT:

等待按键释放

MOVP1,#0FFH

MOVA,P1

CJNEA,#0FFH,WAIT

LJMPMIAN

DELAY_500MS:

延时用于数码管检测段

MOVR3,#30

DE:

LCALLDELAY

DJNZR3,DE

RET

DELAY:

延时用于消抖处理

MOVR0,#20

DL1:

MOVR1,#250

DJNZR1,$

DJNZR0,DL1

DISP:

将查表的码表值送入P0端口点亮数码显示

MOVDPTR,#D_TAB

MOVA,R3

MOVCA,@A+DPTR

MOVP0,A

RET

JIANCE_TAB:

数码管检测段编码表

DB0FFH;

全灭

DB0FEH,0FDH,0FBH,0F7H;

abcd

DB0EFH,0DFH,0BFH,07FH;

efgh

DB0C0H;

显示0

D_TAB:

7段LED数码管显示0——F码表(共阳极)

DB0C0H,0F9H,0A4H,0B0H;

0123

DB99H,92H,82H,0F8H;

4567

END

3.2.3keil软件的使用方法

首先正确安装keil软件—>

打开keil—>

project—>

newproject—>

为工程取名字,并选择工程要保存的路径,建议每个工程新建一个文件夹,方便文件管理—>

出来一个对话框,是选择芯片的,根据自己所选的芯片公司和型号来选择就行了,我们组选择的是最常用的AT89C51,点ATMEL,找到AT89C51,点OK后会出来一个对话框,问是否添加启动文件,点“是”,这样就建好了一个工程,点File菜单下New新建文件—>

先保存文件,点保存按钮后出来路径框,取名字后缀是.ASM,点保存。

接下来在左边project下把Target1点开,在SourceGroup1上右键,点击AddFiletoGroup'

SourceGroup1'

—>

在弹出的框中点刚刚保存的文件,然后点Add,关闭对话框,左边project框中可以看到文件已经添加

下面是设置KEIL软件的配置参数的步骤

(1)构建项目

图3-9keil软件构建项目

(2)设置项目参数

图3-10设置项目参数

图3-11设置输出参数

(3)程序编译

图3-12程序编译

4调试与仿真

4.1硬件仿真

4.1.1元件清单

元件清单如表4-1所示

表4-1元件清单

元器件

数量

AT89C51单片机

1个

晶振12MHz

普通电容30Pf

2个

极性电容10uF

电阻10KΩ

共阳极8段数码管

导线

若干

按钮

8个

LED灯(红)

4.1.2PROTEUS仿真

Proteus仿真图形如图4-1至4-9所示。

图4-1硬件电路

图4-2按0键时的仿真

图4-3按1键时的仿真

图4-4按2键时的仿真

图4-5按3键时的仿真

图4-6按4键时的仿真

图4-7按5键时的仿真

图4-8按6键时的仿真

图4-9按7键时的仿真

4.2电路板连接

4.2.1电路板连接图

电路板连接图如图4-10所示。

图4-10电路板连接图

4.2.2硬件板电路调试

硬件板电路所得结果如图4-11至4-19所示。

图4-11启动

图4-12按0键时的显示结果

图4-13按1键时的显示结果

图4-14按2键时的显示结果

图4-15按3键时的显示结果

图4-16按4键时的显示结果

图4-17按5键时的显示结果

图4-18按6键时的显示结果

图4-19按7键时的显示结果

[1]谭成豪,许建明.试述51系列单片机矩阵键盘编程[J].科技传播,2011,06:

197.

[2]董雷刚,崔晓微,程书伟.基于单片机的数字计算器的设计[J].电脑知识与技术,2012,10:

2386-2388+2414.

[3]刘静波.基于单片机的四位BCD编码器电路设计[J].现代电子技术,2006,18:

130-133.

[4]张旭强.PIC单片机键盘电路应用四例[J].电子制作,2007,08:

20-24.

[5]贵国庆.单片机新手入门实例详解之三4×

4矩阵健盘的工作原理与编程[J].电子制作,2006,03:

60-62.

[6]徐纬.51单片机综合学习系统——矩阵键盘篇[J].电子制作,2007,11:

54-56.

[7]马立国.AD7888与AT89C51单片机接口应用技术[J].集成电路通讯,2007,02:

32-36+40.

[8]胡全.51单片机的数码管动态显示技术[J].中国新技术新产品,2009,13:

25.

[9]张喜凤,屈宝鹏.基于VHDL的矩阵键盘及显示电路设计[J].现代电子技术,2010,16:

14-16.

[10]李伍元.浅谈单片机非编码键盘工作原理及设计方法[J].科技情报开发与经济,2009,02:

109-111.

[11]杨宁,阳泳,江世明.基于单片机的LED流水灯控制与简述[J].电子世界,2016,01:

52.

[12]高培先.一种独立式键盘电路及其中断程序设计[J].计算机测量与控制,2008,03:

373-375.

[13]李强.键盘接口编程技术[J].电子世界,2003,10:

34-35.

[14]NottoliEM,LambertJB,LetsingerRL.StudyofconformationalchangesinducedonsubstitutingNHforOatC(51)ofthymidinenucleosidesandnucleotides.[J].AmericanChemicalSociety.Journal,1977,9910

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

当前位置:首页 > 求职职场 > 简历

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

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