版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LED点阵书写显示屏【摘要】:LED点阵显示屏是由多个独立的LED发光二极管封装而成。LED点阵显示屏可以显示文字、数字或符号, 通常用来显示时间、速度、系统状态等,显示屏内容随时可以更新,能够实时显示,并具有自动亮度调节功能。LED点阵显示屏采用单片机的普通I/O模拟SPI通信,静态显示控制。触摸屏选择了一款4线制电阻式触摸屏,控制器采用XPT2046,它能通过执行两次A/D转换查出被按的屏幕位置,并发还给单片机。报告给出了一种基于PIC16F877A单片机的3232 点阵LED显示屏的设计方案,包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。【关键词】: PIC16F877A
2、单片机; LED;电阻式触摸屏第一章 设计任务与技术指标1.1设计任务设计并制作一个基于3232点阵LED模块的书写显示屏,在屏上实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。1.2技术指标(1)基本要求1)在“点亮”功能下,当光笔接触屏上某点LED时,能即时点亮该点LED,并在控制器上同步显示该点LED的行列坐标值(左上角定为行列坐标原点)。2)在“划亮”功能下,当光笔在屏上快速划过时,能同步点亮划过的各点LED,其速度要求2s内能划过并点亮40点LED。3)在“反显”功能下,能对屏上显示的信息实现反相显示(即:字体笔画处不亮,无笔画处高亮)。4)在“整屏擦
3、除”功能下,能实现对屏上所显示信息的整屏擦除。(2)发挥部分1)在“笔画擦除”功能下,能用光笔擦除屏上所显汉字的笔画。2)在“连写多字”功能下,能结合自选的擦除方式,在30s内在屏上以“划亮”方式逐个写出四个汉字(总笔画数不大于30)且存入机内,写完后再将所存四字在屏上逐个轮流显示。3)在“对象拖移”功能下,能用光笔将选定显示内容在屏上进行拖移。先用光笔以“划亮”方式在屏上圈定欲拖移显示对象,再用光笔将该对象拖移到屏上另一位置。4)当环境光强改变时,能自动连续调节屏上显示亮度。5)当光笔连续未接触屏面的时间超过15min时(此时间可由控制器设定),能自动关闭屏上显示,并使整个系统进入休眠状态,
4、此时系统工作电流应不大于5mA。6)其他。第二章 方案论证与比较2.1方案论证(1)点阵显示屏部分 串行方式显示。这种方式可同时显示16个88点阵汉字的汉字、字符或数字。点阵显示屏每个单元由16个88点阵LED显示模块、行信号选择译码器8个74LS164、和组成,如图1所示。单元显示屏可以接收控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示屏可扩展至更多的显示单元,用于显示更多的内容。此方案为点阵显示屏系统中比较常用的。图1 串行方式显示逻辑结构框图(2)显示屏控制部分方案一:主从工作模式。
5、采用主从单片机工作方式来控制整个系统。其中一个单片机用于控制LED点阵显示,另外一个单片机用于扩展键盘、串口与上位机通信、温度测量、时间读取等工作,此方案对硬件电路以及软件设计方面要求非常高,更涉及到主从单片机通信问题。方案二:单机工作模式。采用一个单片机控制实现所有功能,其中包括LED点阵显示屏的刷新显示、模式设定、时间读取、温度检测,以及与上位机的通信等。只用一个单片机控制点阵显示屏可以使电路大大减化,软件设计方面也容易实现。本设计采用了这种方案。(3)触摸屏部分XPT2046是一种典型的逐次逼近型模数转换器(SAR ADC),包含了采样/保持、模数转换、串口数据 输出等功能。同时芯片集成
6、有一个2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。XPT2046可以单电源供电,电源电压范围为2.7V5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1VVCC范围内的参考电压(要求外部参考电压源输出阻抗低)。X、Y、Z、VBAT、Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC,ADC可以配置为单端或差分模式。选择VBAT、Temp和AUX时应该配置为单端模式;作为触摸屏应用时,应该配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换精度。 图 2 XPT2046应用电路第三章 系统
7、硬件设计3.1 系统总体设计从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。3232的点阵共有1024个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,3232的点阵需要1024/8=128个锁存器。这个数字很庞大,因为我们仅仅是3232的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。采用扫描方
8、式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。列驱动器 单片机电源 行驱动器LED显示点阵 图3 显示屏电路实现的结构框图3.2 单元模块设计3.2.1
9、 单片机控制部分图1 系统总原理图3.2.2 点阵控制部分串转并部分第四章 系统软件设计4.1 软件总体流程图。软件主要是单片机部分。全部用C语言编写,模块化设计,数据收发,数据显示,并提供相应的操作提示。单片机总流程图系统简单可靠,稳定性好。开始 系统初始化 读取触摸屏位置 数据处理 发送LED显示 2)、显示功能模块流程图:根据系统要求,显示相应的信息。程序流程图4.3 总程序清单(见附录一)第五章 系统组装5.1 整机结构图及工艺说明作为完整的电子仪器除了需要好的电路和软件设计外,还需要良好的装配工艺和美观的外壳,即有好的人机界面。这些问题我们也做了相应的考虑。 第七章 总结本文设计的一
10、个3232的点阵LED书写显示屏,在屏上实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。附录附录一 总程序: include#define PORTBIT(adr,bit) (unsigned)(&adr)*8+(bit) /*绝对寻址位操作指令*/static bit PORTB_0 PORTBIT(PORTB,0);static bit PORTB_1 PORTBIT(PORTB,1);static bit PORTB_2 PORTBIT(PORTB,
11、2);static bit PORTB_3 PORTBIT(PORTB,3);static bit PORTB_4 PORTBIT(PORTB,4);static bit PORTB_5 PORTBIT(PORTB,5);static bit PORTB_6 PORTBIT(PORTB,6);static bit PORTB_7 PORTBIT(PORTB,7);static bit PORTC_0 PORTBIT(PORTC,0);static bit PORTC_1 PORTBIT(PORTC,1);static bit PORTC_2 PORTBIT(PORTC,2);static bi
12、t PORTC_3 PORTBIT(PORTC,3);static bit PORTC_4 PORTBIT(PORTC,4);static bit PORTC_5 PORTBIT(PORTC,5);static bit PORTC_6 PORTBIT(PORTC,6);static bit PORTC_7 PORTBIT(PORTC,7);void delay_50ms(unsigned int t)unsigned int j; for(;t0;t-) for(j=6245;j0;j-) ;void SPIsend(void)TRISB=0b00000000;TRISC=0B00000000
13、;PORTB=0b00000000;PORTC=0b00000000;/number 1 74LS164PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP();
14、 NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); N
15、OP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0;PORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_0=0; /L
16、IGHT HEREPORTB_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /number 2 74LS164PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP();
17、 PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NO
18、P();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_3=0; /NOP();NOP(); NOP();NOP(); N
19、OP();NOP(); PORTB_2=0;PORTB_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /number 3 74ls164PORTB_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP()
20、; NOP();NOP(); PORTB_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0
21、;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_5=0; /NOP();NOP();
22、 NOP();NOP(); NOP();NOP(); PORTB_4=0;PORTB_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /no 4 PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NO
23、P(); NOP();NOP(); PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_
24、6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTB_7=0; /NOP();NOP
25、(); NOP();NOP(); NOP();NOP(); PORTB_6=0;PORTB_7=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /no 5PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();
26、NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC
27、_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_0=0;PORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_1=0; /NOP();NO
28、P(); NOP();NOP(); NOP();NOP(); PORTC_0=0; /LIGHT HEREPORTC_1=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /NO6PORTC_3=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; /NOP(
29、);NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; /NOP();NOP(); NOP();NOP();
30、NOP();NOP(); PORTC_2=0;PORTC_3=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP();
31、 PORTC_3=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_2=0;PORTC_3=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /NO 7PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=
32、1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; /NOP();NOP(); NOP();NO
33、P(); NOP();NOP(); PORTC_4=0;PORTC_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; / NOP();NOP(); NOP();NOP(); NOP();NO
34、P(); PORTC_5=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_4=0;PORTC_5=1; /NOP();NOP(); NOP();NOP(); NOP();NOP(); /NO 8PORTC_7=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;POR
35、TC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; / NOP();NOP(
36、); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_7=0; /NOP();NOP(); NOP();NOP(); NOP();NOP(); PORTC_6=0;PORTC_7=1; / NOP();NOP(); NOP();NOP(); NOP();NOP(); while(1)NOP();uchar X0x20;/void start() /S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年奥泽格瑞钠公司技术改造及扩产项目可行性研究报告
- 2024-2030年基因工程霍乱疫苗药品公司技术改造及扩产项目可行性研究报告
- 2024-2030年商用飞机视频监控系统行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年全球及中国高碳铬铁行业需求现状及前景趋势预测报告
- 2024-2030年全球及中国跳伞服务行业营销动态及投资盈利预测报告
- 2024年度图书馆读者活动图书采购合同范本3篇
- 2024-2030年全球及中国液体胶囊过滤器行业销售渠道及需求前景预测报告
- 2024-2030年全球及中国工业干洗机器行业需求趋势及投资盈利预测报告
- 2024-2030年全球及中国喷灌设备行业产销状况及未来需求趋势预测报告
- 2024-2030年全球及中国医学美容培训服务行业营销态势及发展前景预测报告
- 工程监理企业各部门岗位职责
- 桥梁施工技术简介
- 取暖器产品1油汀ny221218试验报告
- 国家开放大学电大《建筑制图基础》机考三套标准题库及答案3
- 雅马哈PSR-37中文说明书
- 一汽大众新员工三级安全教育(入厂级)
- 常见繁体字的简化表 香港人简体字教学
- 最新X公司事业部建设规划方案
- 十一学校行动纲要
- 社会主义新农村建设建筑废料利用探究
- 唯一住房补贴申请书(共2页)
评论
0/150
提交评论