电子产品设计应用论文
电子系统设计应用论文
论文题目:基于无线控制的LED点阵显示 学院:计算机科学与工程学院
专业:电子信息工程专业
班级:
姓名:姚望
学号:
110405班 20111595
摘要 LED大屏幕显示系统,以AT89S52单片机为核心,由键盘显示、录放音模块、光电开关、温度采集、定时闹铃、LED大屏幕显示等功能模块组成。基于题目基本要求,本系统对时间显示和大屏幕显示进行了重点设计。此外,扩展单片机外围接口、温度采集、非接触式止闹、滚动屏幕显示、语音报时等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。 关键字:单片机 LED大屏幕 滚屏显示
Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional modules : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell,
According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on.
Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable , The design achieved and even exceeded all the required basic technical indexes Key words: chip microcomputer large screen display system scroll screen display
目录
第一部分
摘要 ……………………………………………………...3 第二部分
1.设计任务………………………………………………..4
1.1基本要求………………………………………………………….........4
1.2发挥部分……………………………………………………………….4
1.3创新部分……………………………………………………………….4
3. 总体方案……………………………………………….7
3.1 工作原理……………………………………………………………….7
3.2 总体设计……………………………………………………………….7
4.系统硬件设计…………………………………………7
4.1 AT89S52单片机最小系统…………………………………………...8
4.2 温度测量模块………………………………………………………...8
4.3 时钟模块……………………………………………………………..8
4.4 键盘模块……………………………………………………………..9
4.5 LED点阵显示模块………………………………………………….10
4.6 电源的选择………………………………………………………….11
4.7 PC机通讯……………………………………………………………12
4.8 整体电路…………………………………………………………….12
5.系统软件设计………………………………………….7
5.1 主程序流程………………………………………………………….13
5.2 扫描子程序………………………………………………………….14
5.3 时间程序…………………………………………………………….15
5.4 PC机串口通讯程序…………………………………………………15
5.5 亮度调节程序………………………………………………………16
5.6 温度程序…………………………………………………………….17
6.测试与结果分析……………………………………...17
6.1 基本部分测试与分析……………………………………………….17
6.2 发挥部分测试与分析……………………………………………….18
6.3 创新部分测试与分析……………………………………………….18
7.设计总结……………………………………………...18
1任务设计
1.1 基本要求:设计并制作LED电子显示屏和控制器。
1.1.1 自制一台简易16行*32列点阵显示的LED电子显示屏;
1.1.2 自制显示屏控制器,扩展键盘和相应的接口实现多功能显示控制,显示屏
显示数字和字母亮度适中,应无闪烁。
1.1.3 显示屏通过按键切换显示数字和字母;
1.1.4 显示屏能显示4组特定数字或者英文字母组成的句子,通过按键切换显示内容;
1.1.5 能显示4组特定汉字组成的句子,通过按键切换显示内容。
1.2发挥部分:
1.2.1自制一台简易16行*64列点阵显示的LED电子显示屏;
1.2.2 LED显示屏亮度连续可调。
1.2.3 实现信息的左右滚屏显示,预存信息的定时循环显示;
1.2.4 实现实时时间的显示,显示屏数字显示: 时∶分∶秒(例如 18∶38∶59);
1.2.5增大到10组(每组汉字8个或16个数字和字符)预存信息,信息具有掉电保护;
1.2.6实现和PC机通讯,通过PC机串口直接对显示信息进行更新(须做PC机客户程序);
1.3 创新部分
1.3.1 室温的测量
1.3.2 定时闹铃
1.3.3 整点报时
1.3.4 非接触止闹
2、总体方案
2.1 工作原理:
利用单片机AT89S52单片机作为本系统的中控模块。单片机可把由DS18B20、DS1302读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示。点阵LED电子显示屏显示器为主要的显示模块,把单片机传来的数据显示出来,并且可以实现滚动显示。利用光电传感器来实现
非接触止闹功能。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
3.2 总体设计
设计总体框图如图1
3、系统硬件设计(单元电路设计及分析)
3.1 AT89S52单片机最小系统:
最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89S52单片机的最小系统。
非接触止闹功能。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。 3.2 总体设计
设计总体框图如图1
3、系统硬件设计(单元电路设计及分析)
3.1 AT89S52单片机最小系统:
最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89S52单片机的最小系统。
3.2 温度测量模块:
温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式, CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3所示。
图3 DS18B20测量电路
3.3 时钟模块
时钟模块采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302
与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口
线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW,其接线电路如图
4
图4 时钟电路
3.4 键盘模块
键盘、状态显示模块:为了使软件编程简单,本设计利用可编程芯片8255。接法如表1所示。PA口接按键,PC口则用于控制状态显示所用LED点阵。每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮LED点阵。模块电路如图5
3.5 LED显示模块
点阵数据串行输入, 器件为 移位寄存器TPIC6B595595, 门控和扫描信号常以16 点阵为一行进行并行处理。在点阵显示中以4×8个L ED 点阵构成一个L ED 显示单元, 采用行共阳列共阴的编排方式。其驱动分为行列两部分, 分别来自于行、列移位寄存器, 行数据是扫描数据, 16 行中每次只有一行被驱动, 采用逐行扫描方式, 列数据则为汉字的点阵码。。对于字符和图形显示也可以用点阵处理, 其显示原理和方法相同.电路图6 LED显示电路
3.6电源选择:
200W/5V的直流稳压电源更加安全电路图如图
7
3.7 PC机通讯
MAX232
是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输
入口RXD(第3脚)、串行输出TXD(第2脚)和地线(第
电平幅
7脚)。MAX232逻辑电平的规定如表2. 逻辑值
值 (v) 0 3+~+15 1 3-~-15
表 2 逻辑电平表
图8 串口通讯
3.8整体电路
系统整体电路如下:
图9 整体电路
4、系统软件设计 4.1主程序如图10
4.2显示子程序流程如图 11
4.3 显示时间子程序流程如图12
图12 时间子程序流程图
4.4 与PC串口通讯程序
4.5 LED亮度调节
图 14 LED亮度调节
4.6温度测量流程图如图15
图15 温度测量程序流程图
5、测量及其结果分析
5.1 基本部分测试与分析
5.11 测试仪器:
秒表 、温度表、万用电表、WAVE仿真器
5.12基本要求部分的测试与分析:
(1)系统上电后,全屏点亮,没有暗点。接着显示时间。按“#”键后时扫描键盘,当有1~10键按下时,分别显示十段设定的数字、英文或汉字。
(2)显示时间时通过与秒表对比,测试的系统时间准确。
5. 2 发挥部分测试与分析:
(1) 当按下#后在按下进入亮度调节,按下“+”键时,亮度增加。按下“—”键时,亮度变弱。
(2) 可以实现文字左右移动
(3) 按下“设置时间”键,观察到“钟表” 二极管点亮,此时可对时间进行设置。按下“时间设置“进入时调试,按“+”键时间加。在按下“切换”键时,进入分调整模式,按下“+”键,分增加。按下“选择”键时,分调整模式改为秒调整模式,按下“+”键秒增加。经测试该步可以很好的实现。调整时间完毕后,再按一下“闹钟设置”进入闹铃设置状态,按下“+”键设定“时”增加,在按下“选择”键进入分的设置,按下“+”键设定“分”增加。在按下“选择”键进入秒设置模式,按“+”键秒增加。
(4)系统可以显示10组,每组8个汉字,完成要求
5.3 创新部分测试与分析
(1)温度测量: 键盘切换现场环境温度显示:按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表1所示。
(2) 当到设定时间时,开始访一段音乐,完成定时闹铃功能。
(3)当用手遮挡光电传感器后,停止放音。手拿开后,不再放音,直到到设定时间。完成非接触止闹功能
6、设计总结
全心准备了整整一个酷暑,9月8日我们终于拿到了试题,我们一致选择控制类题目A(LED点阵),从基本方案的制定,在到硬件电路的选择,到制作电路制作,最后进行程序调试。在此期间我们遇到很多困难,几乎没有说过一次好觉,尽管很艰苦,但是我们各自分工,相互协作,一次又一次品尝到了解决问题的喜悦,最终完成了要求的全部功能,并加入了一些创新的部分。在竞赛中我们发现了自己知识的不足,通过四天三夜的奋斗,也可以说四天三夜的学习,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。在以后的时间里面
我们会用这种精神去学习,更上一层楼。
7、参考文献
[1] 沈红卫《基于单片机结构的智能系统设计与实现》北京:电子工业出版社
2009
[2] 黄惠媛《单片机原理与接口技术》北京:海洋出版社2006
[3] 周平 伍云辉《单片机应用技术》北京:电子科技大学出版社2005
[4] 吴金戌 沈金阳 郭庭吉《8051单片机实践与应用》北京:清华大学出版社2005
[5] 黄正谨《电子设计竞赛赛题解析》成都:电子科技大学,2001
8、附录:
例:整屏四个字一起显示的程序
SER EQU P1.0 ; TPIC6B595 第3脚
OE EQU P1.1;TPIC6B595 第8脚
RCK EQU P1.2;TPIC6B595 第12脚
MR EQU P1.3;TPIC6B595 第9脚
SRCLK EQU P1.4;TPIC6B595 第13脚
ORG 0000H
LJMP MAIN
ORG 0100H
;**************************主程序********************************** MAIN: MOV SP,#70H
SETB OE
MOV 2BH,#00H
MOV 27H,#00H
START: ;初始化寄存器RAM单元
MOV R0, #30H
MOV R1,#64H ;30H~6FH单元清零
MOV A, #00H
ST: MOV @R0,A
INC R0
DJNZ R1,ST
;2Dh------寻址偏址 ;整屏四个字一起显示
LOOP:MOV DPTR,#TAB;赋查表初值
MOV R3,#56
PLAY: MOV 2DH,#00H
MOV 2FH,#10H
GG: LCALL LINE16;扫描显示一次
MOV 2DH,#00H
DJNZ 2FH,GG
MOV A,DPL
CLR C
ADD A, #16
MOV DPL ,A
MOV A, DPH
ADDC A ,#00H
MOV DPH, A
DJNZ R3,PLAY
SJMP START
LINE16: MOV 2BH,#16;扫16行,2BH放后还剩几行
FF: LCALL LINE1;扫描显示一行子程序
DJNZ 2BH,FF;扫描行直到16行扫完再转
RET
LINE1:LCALL MSTR;将显示的内容移入内存单元
LCALL SEND;发送串口子程序
LCALL XH;选通行子程序
RET
MSTR: ;显示内容移入内存单元
MOV R0,#30H
MOV R4,#9
MOV A,2DH;
BB: MOVC A,@A+DPTR
MOV @R0,A
INC R0
MOV A,2DH
ADD A,#16;加16移到下一行
MOV 2DH,A
DJNZ R4,BB
MOV A,2DH
SUBB A,#143
MOV 2DH,A
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$发送数据到串口子程$$$$$$$$$$$$$$$$$$$$$$$$$
SEND:MOV R0,#30H
MOV R5,#8 ;一行有8个字节,如每次显示字数不同要作相应改动 SETB OE
SETB MR
CLR SRCLK
CLR RCK
SETB P1.6
SETB P1.7
LQ: CLR C
MOV R2,#8
MOV A,@R0
; CPL A ;TPIC6B595应该不用这一步
LCALL DD1;调用显示一个字节的子程序 序
INC R0;指向下一个显示单元
DJNZ R5,LQ
RET
DD1: CLR SRCLK;清串行CP端
RLC A;
MOV SER,C
SETB SRCLK ;触发串行CP端
DJNZ R2,DD1;每个字节移8次够了向下执行 RET
;选通行子程序
XH: CLR RCK ;将输出CP变成低电平为上升沿做准备 NOP
SETB RCK
CLR P1.6
;CLR P1.7
MOV A,27H
MOV P0,A
CLR OE
LCALL DE25MS
INC A
SETB OE
SETB P1.6
MOV A,27H
ANL A,#0F0H
SWAP A
ADD A,#01H
SWAP A
MOV 27H,A
CLR MR
SETB MR
RET
DE25MS: MOV R5,#09H
DEL2: MOV R6,#0FH
DEL3: MOV R7,#01H
DJNZ R7,$
DJNZ R6,DEL3
DJNZ R5,DEL2
RET
TAB:
字库
END