电子电工课程设计LED.docx

上传人:b****8 文档编号:28072385 上传时间:2023-07-08 格式:DOCX 页数:21 大小:247.21KB
下载 相关 举报
电子电工课程设计LED.docx_第1页
第1页 / 共21页
电子电工课程设计LED.docx_第2页
第2页 / 共21页
电子电工课程设计LED.docx_第3页
第3页 / 共21页
电子电工课程设计LED.docx_第4页
第4页 / 共21页
电子电工课程设计LED.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

电子电工课程设计LED.docx

《电子电工课程设计LED.docx》由会员分享,可在线阅读,更多相关《电子电工课程设计LED.docx(21页珍藏版)》请在冰豆网上搜索。

电子电工课程设计LED.docx

电子电工课程设计LED

电子电工课程设计

题目:

LED汉字点阵显示系统设计

 

成员:

 

信息科学与工程学院电子信息系

2010年7月5日

1.设计任务…………………………...3

2.方案论证与比较…………………3

2.1显示部分……………………………….3

2.2数字时钟……………………………….3

2.3温度采集部分………………………….4

2.4芯片选择……………………………….4

2.5闹铃方式的选择……………………….4

2.6止闹方式的选择……………………….4

2.7串口通讯芯片的选择………………….4

2.8电源模块……………………………..…4

3.总体方案……………………….5

3.1工作原理……………………………….5

3.2总体设计……………………………….5

4.系统硬件设计………………6

4.1AT89S52单片机最小系统…………..6

4.2温度测量模块………………………..6

4.3时钟模块……………………………..7

4.4键盘模块……………………………..8

4.5LED点阵显示模块………………….8

4.6电源的选择…………………….…….9

4.7PC机通讯…………………………...10

4.8整体电路…………………………….10

5.系统软件设计………………….11

5.1主程序流程………………………….11

5.2扫描子程序………………………….12

5.3时间程序…………………………….12

5.4PC机串口通讯程序………………...14

5.5亮度调节程序…………………….…15

5.6温度程序…………………………….16

6.设计总结…………………...17

7.参考资料……………….….18

附录……………………………….…18

1任务设计

1.自制一台简易16行*64列点阵显示的LED电子显示屏;

2.LED显示屏亮度连续可调。

3.实现信息的左右滚屏显示,预存信息的定时循环显示;

4.实现实时时间的显示,显示屏数字显示:

时∶分∶秒(例如18∶38∶59);

5.增大到10组(每组汉字8个或16个数字和字符)预存信息,信息具有掉电保护;

6.实现和PC机通讯,通过PC机串口直接对显示信息进行更新(须做PC机客户程序);

7.室温的测量

8.定时闹铃

9.整点报时

10.非接触止闹

2、方案论证

2.1显示部分:

动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。

动态显示方式方式,可以避免静态显示的问题。

但设计上如果处理不当,易造成亮度低,闪烁问题。

因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。

动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素.我们通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时,显示亮度较好,无闪烁感.。

2.2.数字时钟

本方案采用Dallas公司的专用时钟芯片DS1302。

该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。

为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。

当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。

而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。

2.3温度采集部分

采用温度传感器DS18B20。

DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。

2.4芯片的选择

选取串口输入,使用较少。

所以我们选用串口输入。

串口输入我们可以选用芯片有74HC595、74LS164、TPIC6B595。

但是74HC595和74LS164两种芯片必须加驱动才能驱动LED,而TI公司的DMOS器件TPIC6B595,除具有TTL和CMOS器件中移位寄存器595的逻辑功能外,其最大的特点是驱动功率大,可直接用作LED的驱动。

2.5闹铃方式的选择

采用录音放音芯片1420闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。

采用录放音电路铃声可以自己预先设定一段自己喜欢的音乐,符合电器设备人性化的要求。

且1420芯片可以分段录音,还具有语音报时功能。

2.6止闹方式的选择

采取光电传感器,当用一物体遮挡光电传感光电传感器向单片机接口送出一个低电平,单片机立即向发音设备发出停止信号止闹。

光电传感器价格便宜,线路简单,易于控制。

2.7串口通讯芯片的选择

AT89S52串行口采用的是TTL电平,因此必须的有电平转换电路,可以选择1488,1489,MAX232A.

采用单电源电平转换芯片MAX232A可以使电路变得简单,可靠。

2.8电源模块

采用200W/5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠

3、总体方案

3.1工作原理:

利用单片机AT89S52单片机作为本系统的中控模块。

单片机可把由DS18B20、DS1302读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示。

点阵LED电子显示屏显示器为主要的显示模块,把单片机传来的数据显示出来,并且可以实现滚动显示。

利用光电传感器来实现非接触止闹功能。

在显示电路中,主要靠按键来实现各种显示要求的选择与切换。

3.2总体设计

设计总体框图如图1

 

4、系统硬件设计(单元电路设计及分析)

4.1AT89S52单片机最小系统:

最小系统包括晶体振荡电路、复位开关和电源部分。

图2为AT89S52单片机的最小系统。

 

4.2温度测量模块:

温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。

接口电路如图3所示。

图3DS18B20测量电路

4.3时钟模块

时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW,其接线电路如图4

图4时钟电路

4.4键盘模块

键盘、状态显示模块:

为了使软件编程简单,本设计利用可编程芯片8255。

接法如表1所示。

PA口接按键,PC口则用于控制状态显示所用LED点阵。

每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。

当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮LED点阵。

模块电路如图5

图5键盘电路

4.5LED显示模块

点阵数据串行输入,器件为移位寄存器TPIC6B595595,门控和扫描信号常以16点阵为一行进行并行处理。

在点阵显示中以4×8个LED点阵构成一个LED显示单元,采用行共阳列共阴的编排方式。

其驱动分为行列两部分,分别来自于行、列移位寄存器,行数据是扫描数据,16行中每次只有一行被驱动,采用逐行扫描方式,列数据则为汉字的点阵码。

对于字符和图形显示也可以用点阵处理,其显示原理和方法相同.电路如图6

图6LED显示电路

4.6电源选择:

200W/5V的直流稳压电源更加安全电路图如图7

图7电源电路

4.7PC机通讯

MAX232是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输入口RXD(第3脚)、串行输出TXD(第2脚)和地线(第7脚)。

图8串口通讯

4.8整体电路

系统整体电路如下:

图9整体电路

5、系统软件设计

5.1主程序如图10

5.2显示子程序流程如图11

开始

查找显示汉字数据放入RAM中

将数据串行传入TPIC6B595

行扫描

32行是否扫完

返回

图11显示子程序流程

5.3显示时间子程序流程如图12

开始

DS1302初始化

从DS1302中读数据,并放入RAM

调用显示子程序

显示时间

图12时间子程序流程图

5.4与PC串口通讯程序

开始

串口通讯初始化

等待PC机发联络信号

是否接受到信号

将接受到的数据放到指定区域

数据发送是否完毕

返回

图13串口通讯程序

5.5LED亮度调节

开始

键盘扫描

“亮度”键是否按下

LED显示当前亮度等级

键盘扫描

“+”键按下

“—”键按下

内部RAM中2AH单元所存数据加1

内部RAM中2AH单元所存数据减1

返回

N

Y

图14LED亮度调节

5.6温度测量流程图如图15

开始

DS18B20初始化

从DS18B20中读出数据,放入RAM

在LED点阵中显示温度

返回

图15温度测量程序流程图

6、设计总结

我们一致选择控制类题目A(LED点阵),从基本方案的制定,在到硬件电路的选择,到制作电路制作。

在此期间我们遇到很多困难,几乎没有说过一次好觉,尽管很艰苦,但是我们各自分工,相互协作,一次又一次品尝到了解决问题的喜悦,最终完成了要求的全部功能,并加入了一些创新的部分。

在竞赛中我们发现了自己知识的不足,通过四天三夜的奋斗,也可以说四天三夜的学习,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。

在以后的时间里面我们会用这种精神去学习,更上一层楼。

7、参考资料

[1]《基于单片机结构的智能系统设计与实现》沈红卫编电子工业出版社

[2]《单片机原理与接口技术》黄惠媛编海洋出版社

[3]《单片微型计算机原理及应用》张毅坤陈善久编西安电子科技大学出版社

[4]《8051单片机实践与应用》吴金戌沈金阳郭庭吉编清华大学出版社

附录:

例:

整屏四个字一起显示的程序

SEREQUP1.0;TPIC6B595第3脚

OEEQUP1.1;TPIC6B595第8脚

RCKEQUP1.2;TPIC6B595第12脚

MREQUP1.3;TPIC6B595第9脚

SRCLKEQUP1.4;TPIC6B595第13脚

ORG0000H

LJMPMAIN

ORG0100H

;**************************主程序**********************************

MAIN:

MOVSP,#70H

SETBOE

MOV2BH,#00H

MOV27H,#00H

START:

;初始化寄存器RAM单元

MOVR0,#30H

MOVR1,#64H;30H~6FH单元清零

MOVA,#00H

ST:

MOV@R0,A

INCR0

DJNZR1,ST

;2Dh------寻址偏址;整屏四个字一起显示

LOOP:

MOVDPTR,#TAB;赋查表初值

MOVR3,#56

PLAY:

MOV2DH,#00H

MOV2FH,#10H

GG:

LCALLLINE16;扫描显示一次

MOV2DH,#00H

DJNZ2FH,GG

MOVA,DPL

CLRC

ADDA,#16

MOVDPL,A

MOVA,DPH

ADDCA,#00H

MOVDPH,A

DJNZR3,PLAY

SJMPSTART

LINE16:

MOV2BH,#16;扫16行,2BH放后还剩几行

FF:

LCALLLINE1;扫描显示一行子程序

DJNZ2BH,FF;扫描行直到16行扫完再转

RET

LINE1:

LCALLMSTR;将显示的内容移入内存单元

LCALLSEND;发送串口子程序

LCALLXH;选通行子程序

RET

MSTR:

;显示内容移入内存单元

MOVR0,#30H

MOVR4,#9

MOVA,2DH;

BB:

MOVCA,@A+DPTR

MOV@R0,A

INCR0

MOVA,2DH

ADDA,#16;加16移到下一行

MOV2DH,A

DJNZR4,BB

MOVA,2DH

SUBBA,#143

MOV2DH,A

RET

;$$$$$$$$$$$$$$$$$$$$$$$$$$$发送数据到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$

SEND:

MOVR0,#30H

MOVR5,#8;一行有8个字节,如每次显示字数不同要作相应改动

SETBOE

SETBMR

CLRSRCLK

CLRRCK

SETBP1.6

SETBP1.7

LQ:

CLRC

MOVR2,#8

MOVA,@R0

;CPLA;TPIC6B595应该不用这一步

LCALLDD1;调用显示一个字节的子程序

INCR0;指向下一个显示单元

DJNZR5,LQ

RET

DD1:

CLRSRCLK;清串行CP端

RLCA;

MOVSER,C

SETBSRCLK;触发串行CP端

DJNZR2,DD1;每个字节移8次够了向下执行

RET

;选通行子程序

XH:

CLRRCK;将输出CP变成低电平为上升沿做准备

NOP

SETBRCK

CLRP1.6

;CLRP1.7

MOVA,27H

MOVP0,A

CLROE

LCALLDE25MS

INCA

SETBOE

SETBP1.6

MOVA,27H

ANLA,#0F0H

SWAPA

ADDA,#01H

SWAPA

MOV27H,A

CLRMR

SETBMR

RET

DE25MS:

MOVR5,#09H

DEL2:

MOVR6,#0FH

DEL3:

MOVR7,#01H

DJNZR7,$

DJNZR6,DEL3

DJNZR5,DEL2

RET

TAB:

字库

END

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

当前位置:首页 > 高中教育 > 语文

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

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