基于单片机的LED设计.docx

上传人:b****6 文档编号:13647665 上传时间:2023-06-16 格式:DOCX 页数:14 大小:240.07KB
下载 相关 举报
基于单片机的LED设计.docx_第1页
第1页 / 共14页
基于单片机的LED设计.docx_第2页
第2页 / 共14页
基于单片机的LED设计.docx_第3页
第3页 / 共14页
基于单片机的LED设计.docx_第4页
第4页 / 共14页
基于单片机的LED设计.docx_第5页
第5页 / 共14页
基于单片机的LED设计.docx_第6页
第6页 / 共14页
基于单片机的LED设计.docx_第7页
第7页 / 共14页
基于单片机的LED设计.docx_第8页
第8页 / 共14页
基于单片机的LED设计.docx_第9页
第9页 / 共14页
基于单片机的LED设计.docx_第10页
第10页 / 共14页
基于单片机的LED设计.docx_第11页
第11页 / 共14页
基于单片机的LED设计.docx_第12页
第12页 / 共14页
基于单片机的LED设计.docx_第13页
第13页 / 共14页
基于单片机的LED设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的LED设计.docx

《基于单片机的LED设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的LED设计.docx(14页珍藏版)》请在冰点文库上搜索。

基于单片机的LED设计.docx

基于单片机的LED设计

基于单片机LED显示课程设计

一、设计目的

通过设计一个单片机系统〔具有单片机最小系统、4个独立式按键及8个发光二级管、6个数码管和一个蜂鸣器〕,掌握Protel设计单片机应用系统硬件线路图的方法和Proteus仿真软件的使用,掌握使用KeilC51开发单片机应用系统控制程序的根本步骤和方法。

任务涉及C51程序语言、MCS-51单片机I/O口应用及人机接口应用等知识,加强学生的理论知识。

二、设计任务

设计一个单片机系统〔包括单片机最小系统、4个独立式按键及8个发光二极管、6个数码管和一个蜂鸣器〕,能用Protel绘出其原理图,并进展Proteus仿真,完成单片机综合开发板的键盘、显示等程序的编写、编译和调试。

三、设计步骤

〔1〕设计一个单片机系统〔包括单片机最小系统、4个独立式按键及8个发光二极管、8个数码管和一个蜂鸣器〕,能用Protel绘出其原理图,并进展Proteus仿真;

〔2〕借助单片机实验箱对键盘、显示等程序进展编辑、编译和下载调试

〔4〕教师检查;

〔5〕撰写设计报告,内容包括:

单片机系统的硬件线路图、单片机系统中键盘、显示等程序及运行结果、收获与心得体会等。

四、设计要求

〔1〕电路原理图绘制正确;

〔2〕掌握Proteus仿真软件的使用;

〔3〕完成键盘、显示等程序的编写与调试。

一、设计概述

描述设计作品的主要功能及参数。

利用61板和LED键盘模组,编写程序让按键控制键盘模组的6位LED数码管的显示。

给1×8键盘定义一个数字,当每按下一次按键时,将数码管上原有的显示内容左移一位,然后将按键代表的数字显示在最右边的数码管上。

1×8键盘各个键对应的数字如表

按键名称

K1

K2

K3

K4

K5

K6

K7

K8

显示数字

1

2

3

4

5

6

7

8

开机后〔程序运行后〕,6为数码管全部显示0,当按键按下时,数码管上显示的数字左移一位,该键对应的数字显示到最后的数码管上。

显示的数字与键码对应关系:

显示数字

1

2

3

4

5

6

7

8

键码〔IOA0-IOA7〕

0x80

0x40

0x20

0x10

0x08

0x04

0x02

0x01

二、系统总体设计

对课题系统的软硬件进展大概介绍,以文字加框图和流程图的形式。

2.1硬件连接

61板和LED键盘模组的硬件连接:

IOA7---IOA0连接8个按键的COL1~COL8,IOA8连接键盘的ROW;IOB15~IOB8连接8个LED的a~g、dp,用排线分别连接IOB与SEG接口,注意这里的连接顺序是IOB8引脚连接SEG接口的a,IOB15引脚连接SEG接口的dp;IOB0~IOB5连接DIG接口的DIG1~DIG5。

SPCE061A

键盘模块

SPCE061A

SPCE061A

LED模块

IOA0

COL1

IOB0

DIG1

IOB8

a

IOA1

COL2

IOB1

DIG2

IOB9

b

IOA2

COL3

IOB2

DIG3

IOB10

c

IOA3

COL4

IOB3

DIG4

IOB11

d

IOA4

COL5

IOB4

DIG5

IOB12

e

IOA5

COL6

IOB5

IOB13

f

IOA6

COL7

IOB6

IOB14

g

IOA7

COL8

IOB7

IOB15

dp

IOA8

ROW

图1

2.2程序设计

主要包含以下几个文件:

1.主程序文件

2.键盘处理程序文件

3.数码管显示程序文件

4.中断处理程序文件,实现IRQ4的1kHz中断调用数码管显示函数和IRQ6中断调用按键扫描函数。

 

三、系统电路设计

电路设计描述

例如:

系统总体电路如图?

和图?

所示,本课题电路包括:

系统电源电路、单片机最小系统电路、程序下载电路、音频输入输出电路、单片机IO端口引出电路、1×8或者4×4键盘电路,发光二极管驱动电路,数码管显示驱动电路,系统各电路具体介绍如下

3.1系统电源电路

 电源模块为系统板上其它模块提供+5V电源,电源输入有两种方式,一种为交直流电源从电源插座输入,输入的电压要求,直流输入应大于7.5V,交流输入应大于5V,通过7805三端稳压器得到5V的直流电源供应系统其它模块工作,另一种为从USB接口获取+5V电源,只要用相应配套的USB线从电脑主机获取+5V直流电源,在电源模块中加有保护电路,即电路中有短路,不会对7805三端稳压器及电脑主机电源有损害!

   其电路原理图如图3.4所示:

 

 

3.2LED显示原理:

静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。

动态显示需要CPU时刻对显示器件进展数据刷新,显示数据有闪烁感,占用的CPU时间多。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间

根本的半导体数码管是由七个条状发光二极管芯片按图1.1排列而成的。

可实现0~9的显示LED数码管是由发光二级管显示字段组成的显示器,有8段和“米〞字段之分,这种显示器有共阳级和共阴极两种。

所谓共阳方式〔如图1.2〕是指笔画显示器各段发光管的阳极〔即P区〕是公共的,而阴极互相隔离。

所谓共阴方式〔如图1.3〕是笔画显示器各段发光管的阴极〔即N区〕是公共的,而阳极是互相隔离的。

3.3复位电路

在单片机系统里,单片机需要复位电路,复位电路可以采用R-C复位电路,也可以采用复位芯片实现的复位电路,R-C复位电路具有经济性,但可靠性不高,用复位芯片实现的复位电路具有很高的可靠性,因此为了保证复位电路的可靠性,该系统采用复位芯片实现的复位电路,复位电路如下图。

 

3.4静态数码显示模块

在该模块中,每一路端口对应着一个具体的数码管,

   具体的电路原理图如图:

 

3.5程序下载模块

该模块完成源程序代码下载到AT89S51或者是AT89S52芯片中,它需要和微机上的ISP下载器软件配合使用来完成这样的功能。

   具体的电路原理图如图:

 

 

四、系统程序设计

系统程序设计描述

主程序流程图:

初始化系统,进入扫键循环,调用键盘程序区键值,根据键值进入相关的程序:

原来显示的数字左移一位,在把数字键代表的数字显示在最右边的数码管上。

4.1键操作

键值程序流程图:

和以前实验使用1×8键盘程序一样,键盘程序时利用延时的方法进展消抖处理的:

先读取IOA口键值保存的存放器,判断读回值是否为零,为零那么表示没有键按下,返回零;非零那么延时大约30ms后再次读取IOA口键值,比拟两次读取的键值是否一样,如果一样那么放回键值;否那么返回零。

键盘程序流程图如下图:

4.2源程序

MOVTMOD,#00H

MOVTH0,#0F0H

MOVTLO,#0CH

SETBTR0

SETBETO

SETBEA

AJMP$

SETMM:

cLRET0

CLRTR0

LCALLDL1S

P3.7,CLOSEDISMOVR2,#06HSETBET1

SETBTR1

SET2:

JNBP3.7,SET1

SETB00H

SET4:

P3.7,SET3

LCALLDL05S

JNBP3.7,SETHH

MOVR0,#77H

LCALLADD1

MOVA,R3

CLRC

CJNEA,#60H,HHH

HHH:

JCSET4

LCALLCLR0

CLRC

AJMPSET4

CLOSEDIS:

SETBET0

SETBTR0

CLOSE:

P3.7,CLOSE

LCALLDISPLAY

P3.7,CLOSE

WAITH:

JNBP3.7,WAITH

LJMPSTART1

SETHH:

CLR00H

SETHH1:

JNBP3.7,SET5

SETB01H

SET6:

P3.7,SET7

LCALLDL05S

JNBP3.7,SETOUT

MOVR0,#79H

LCALLADD1

MOVA,R3

CLRC

CJNEA,#24H,HOUU

HOUU:

JCSET6

LCALLCLR0

AJMPSET6

SETOUT:

JNBP3.7,SETOUT1

LCALLDISPLAY

JNBP3.7,SETOUT

CLR01H

CLR00H

CLR02H

CLRTR1

CLRET1

SETBTR0

SETBET0

LJMPSTART1

SET1:

LCALLDISPLAY

AJMPSET2

SET3:

LCALLDISPLAY

AJMPSET4

SET5:

LCALLDISPLAY

AJMPSETHH1

SET7:

LCALLDISPLAY

AJMPSET6

SETOUT1:

LCALLDISPLAY

AJMPSETOUT

延时程序:

1MS延时程序,LED显示程序用

DL1MS:

MOVR6,#14H

DL1:

MOVR7,#19H

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET

;;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象

DS20MS:

ACALLDISPLAY

ACALLDISPLAY

ACALLDISPLAY

RET

五、系统调试

调试中遇到的问题及解决的方法:

1.问题:

对凌阳SPCE061A单片机汇编语言不熟悉.程序编写困难.

解决:

通过光盘和中相关资料的学习.终于设计出

2.问题:

数码管各脚和接口不知道如何连接

解决:

认真学习实验指导书和61板的说明书,弄清电路。

 

六、总结

 

在这个课体设计中,我们运用到了以前所学的专业课知识,如:

C语言、模拟和数字电路知识等。

虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,在实习之前,我们要对所用单片机的内部构造有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改良是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。

但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作和生活中

在这我要感谢教师的不厌其烦的教我们,由于我们以前没有一点单片机的根底,所以突然要我们用现学的东西做一个题目感到很难,但是汪教师却很用心和耐心的教我们。

 

参考文献

[1]罗亚非等编著.凌阳16位单片机应用根底[M].:

航空航天大学,2003.

[2]汪敏等编著.凌阳16位单片机实验与实践[M].:

航空航天大学,2007.

[3]?

单片机原理、接口技术及应用〔含C51〕?

主编:

杨学昭西子科技大学

[4]?

单片机的C语言应用程序设计(第4版)?

主编:

马忠梅航空航天大学

[5]?

Protel99SE设计宝典〔第二版〕?

主编:

赵建领电子工业

 

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2