毕业设计基于MSP430单片机的无线LED广告屏设计

上传人:仙*** 文档编号:31612867 上传时间:2021-10-12 格式:DOC 页数:85 大小:2.89MB
收藏 版权申诉 举报 下载
毕业设计基于MSP430单片机的无线LED广告屏设计_第1页
第1页 / 共85页
毕业设计基于MSP430单片机的无线LED广告屏设计_第2页
第2页 / 共85页
毕业设计基于MSP430单片机的无线LED广告屏设计_第3页
第3页 / 共85页
资源描述:

《毕业设计基于MSP430单片机的无线LED广告屏设计》由会员分享,可在线阅读,更多相关《毕业设计基于MSP430单片机的无线LED广告屏设计(85页珍藏版)》请在装配图网上搜索。

1、苏州科技学院本科生毕业设计(论文)基于MSP430单片机的无线LED广告屏设计摘 要LED点阵显示屏的发展前景极为广阔,为使该模块LED显示屏控制系统具有更加方便和灵活性,本文对系统的硬件做了精心设计。本文设计的主体思想是通过主机将实时时间,采集的环境温度以及光照信息,由无线模块传送到从机,动态显示在广告屏上。综合多方面的因素,最终确立了设计方案:主控制器选用MSP430单片机,点阵屏选择LED点阵单色图文显示屏,无线模块采用NRF2401射频收发芯片。基于单片机介绍了16*16LED显示屏的设计与制作过程,内容包括LED显示屏的硬件电路、PCB设计、C语言程序设计与调试等方面,涉及到单片机电

2、子产品设计和制作方面的各个环节,认识单片机的基本结构,工作原理及应用方法,并提高单片机知识技术的运用能力。关键词 单片机;点阵;无线;LED广告屏;NRF2401The Design of Wireless LED Advertising Screens Based on MSP430 AbstractThe development of LED display has a far-range prospect. To make this modular of LED display control system more convenience and flexible .This proj

3、ect made elaborate design of system hardware. The main idea of the design is through the host will real-time time, acquisition environment temperature and light information transferred by wireless module, dynamic display from machine, in advertising screen, comprehensive in many factors. The final d

4、esign is that the main controller chooses MSP430 microcontroller, bitmap screen choice of LED dot matrix monochromatic graphic display, wireless NRF2401 transceiver module USES chips.This project introduces the design of 16*16 LED screen based on SCM and manufacture process, which content includes t

5、he LED display hardware circuit, PCB design, C language program design and commissioning etc, and involves microcontroller electronic products design and manufacture aspect the each link. Besides , understanding the basic structure, microcontroller working principle and application methods, and impr

6、ove the utilization ability microcontroller knowledge technology.Keywords MCU; Dot matrix; Wireless; LED advertising screen; NRF2401 81目 录第1章 绪论11.1引言11.2研究课题的目的与意义11.3 课题研究的主要内容2第二章 论文方案设计42.1系统方案总体分析42.2单片机的选择42.2.1 C51单片机42.2.2 Mega16单片机52.2.3 MSP430单片机52.3 无线模块的选择52.3.1 NRF905模块52.3.2 CC1020模块62

7、.3.3 NRF2401模块62.4LED广告屏的选择72.4.1按颜色分类72.4.2按显示器件分类72.5 LED驱动模块72.5.1静态锁存72.5.2动态扫描72.6最终方案的确定8第三章 系统硬件设置93.1硬件电路的总体设计93.2单片机最小系统103.2.1单片机MSP430的特点103.2.2电源电路113.2.3晶振电路113.2.4复位电路原理图123.3实时时钟123.4 串行通信143.5LED点阵143.6 无线模块163.7 温度传感器163.8 系统的电路设计183.8.1 LED电路原理图183.8.2 单片机msp430最小系统的PCB版图设计19第4章 软件

8、设计204.1软件设计方案204.2 实时时钟模块204.2.1 实时时钟模块简介204.2.2实时时钟模块的时序图214.2.3 时钟模块操作流程图224.2.4模块程序设计234.3 温度,光照信息采集模块254.3.1温度传感器模块的简介254.3.2 温度传感器模块的时序图264.3.3 模块操作流程274.3.4 模块程序设计274.3.5 光敏传感器模块简介304.4 无线模块314.4.1 无线模块简介314.4.2 无线模块的时序图314.4.3 数据传输的流程图344.4.4 无线模块程序设计354.5 LED点阵模块374.5.1点阵模块简介374.5.2 点阵模块时序图3

9、74.5.3 点阵模块程序流程图384.5.4 点阵模块程序设计39第5章 论文实验与结论435.1 设计结果总结435.2 课题展望45致 谢47参 考 文 献48附录A 译文49附录B 外文原文63第1章 绪论1.1 引言LED点阵显示屏是一种简单的汉字显示器,由于其价廉、易于控制、使用寿命长等特点,被逐步广泛应用于各种公共场合。在体育场馆,大屏幕显示系统可以显示比赛实况及比赛比分、时间、精彩回放等;在交通运输行业,可以显示道路运行情况;在金融行业,可以实时显示金融信息,如股票、汇率、利率等:在商业邮电系统,可以向广大顾客显示通知、消息、广告等等。据调查显示,人们接收的信息有2/3的信息是

10、通过眼睛取得的。显示技术还应用于工业生产、军事、医疗单位、公安系统乃至宇航事业等国民经济、社会生活和军事领域中,并起着重要作用,显示技术已经成为现代人类社会生活的一项不可或缺的技术。这类的点阵屏常用的通信方式是经过一条RS-232串口线与电脑连接更换信息,操作简单,使用方便,但是硬件连接上也会有一些局限性,因为需要连接的线比较多,如果要采集远距离信息需要的传输线太长,影响精确度。所以本文提出了一个新的设计理念,运用单片机和无线模块,通过SPI协议对LED进行控制,实现LED显示屏的设计过程。1.2 研究课题的目的与意义单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,

11、所以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为单片机有如此多的优点,因此其应用领域之广,几乎到了无孔不入的地步。在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。我们可以开发利用单片机系统以获得很高的经济效益。更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。例如,本文所

12、要论述的通过单片机来控制LED点阵显示。LED是发光二极管英文Light Emitting Diode 的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和P-N结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。由于它具有发光效率高、使用寿命长、

13、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所

14、如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以用单片机控制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型。1.3 课题研究的主要内容本课题研究的内容组要包括以下几个内容: (1)MSP430单片机、无线模块NRF2401、电源转换芯片AMS1117、实时时钟模块DS1302、温度传感器模块DS1820、光敏传感器模块、串口通信RS232、LED显示屏以及LED驱动模块的理论

15、知识以及应用,熟练掌握各个模块的不同引脚的连接方式;(2)熟练掌握各个硬件电路,并将以上各个模块融合在一起,设计出一幅合理的硬件电路图,其中需要用到两块单片机msp430和两块无线模块NRF24L01,分别将两块NRF24L01装在两块单片机上,一个充当发送模块,一个充当接受模块,然后在接收模块上将16*16LED点阵模块按照自己程序里定义的引脚将其连接起来。(3)深入研究该课题涉及到的软件知识,并用C语言编写程序,最后仿真,将仿真结果记录下来并进行分析。其中的程序部分主要分为两大部分,其中一个要编写msp430的发送部分,一个用来编写msp430的接收部分,并且用IAR Embedded W

16、orkbench For MSP430 这一款软件对其程序经行编译、创建连接和调试,并根据编译和调试结果对其程序进行修改,直到其程序没有出现错误和警告为止。在保证程序没有错误的情况下,将msp430发送程序和msp430接收程序分别烧到相应的两个单片机内,这样即完成了软件部分。第二章 论文方案设计2.1 系统方案总体分析该电路大致上可以分成单片机系统及外围电路、无线模块、列驱动电路和行驱动电路以及LED广告屏四大部分。主机通过采集温度、日期、光照等信息并将其显示到LED广告屏上。其中温度信息是通过温度传感器进行采集的,日期时间是通过时钟模块采集的,光照信息是通过光敏传感器来采集的。时钟,温度传

17、感器和无线模块,以及广告屏的编程,上位机与下位机的软件流程设计思路如下:下位机上电后,先初始化内部变量、时钟、信息采集及通信模块,然后进行信息采集,下位机将采集到的信息通过无线模块依次发送出去,上位机采集到时钟,温度以及光照信息之后,将日期时间,环境温度及光信息显示在液晶显示模块上,然后保存在EEROM里面,掉电不丢失。图2.1 电路整体方框2.2 单片机的选择2.2.1 C51单片机主要性能参数:128*8字节内部RAM32个可编程I/O口线2个16位定时/计数器6个中断源可编程串行UART通道2.2.2 Mega16单片机主要产品特征如下:两个具有独立预分频器和比较器功能的8 位定时器/

18、计数器一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器四通道PWM,两个可编程的串行USART可工作于主机/ 从机模式的SPI 串行接口具有独立片内振荡器的可编程看门狗定时器2.2.3 MSP430单片机主要产品特征如下:同其它微控制器相比MSP430 系列可以大大延长电池的使用寿命外部中断引脚I/O 口具有中断能力定时器中断可用于事件计数时序发生PWM等看门狗功能片内USART s综上所述,采用51单片机,如果要驱动数列点阵显示,通用51单片机会比较吃力,出现比较严重的闪烁停滞现象,此外,要实现文字的左右移动和调整移动速度等功能,都会给软件设计带来较多困难,所以该单片机不是本设

19、计的最佳选择;Ateml公司Mega16单片机,它的功能相对51而言是比较多的,操作起来也比较容易,没有特别突出的优点;而TI公司低功耗MSP430单片机,具有强大的处理能力和运行速度快,功耗超低,应用方便等优点,在多年来已在全球得到了广泛应用,如工业控制,智能化仪器仪表,无线采集,手持设备,在这些方面应用体现较高性价比,MSP430主要用户需要对模拟信号进行数字控制的领域,当然,纯数字的系统绝对可以用的。另外他带有硬件乘法器在处理一些运算时速度也较快,基于以上各种优点,最终方案确定为单片机msp430。2.3 无线模块的选择2.3.1 NRF905模块挪威nordic公司推出的单片射频发射器

20、芯片NRF905基本特征如下:1、433/868/915工作频段,433MHZ开放ISM频段可免许使用。2、最高发射速率50KBPS,10dbm发射功率条件下,配置外置鞭状天线有效通信距离在300米左右。3、室内通信良好通信效果,4层之间可实现有效通信,抗干扰性能强,很强的扰障碍穿透性能。4、单次最多可发送接收32字节,并可软件设置发送/接收缓冲区大小2/4/8/16/32字节,其配置非常方便,功耗比较低,由于频段的限制,本方案放弃。2.3.2 CC1020模块基本特性:1、工作电压:3.3V3.6V, 推荐3.3V,直线通信距离600米左右2、频率范围为402 MHz -470MHz工作3、

21、低电流消耗(RX:19.9mA)4、SPI接口配置内部寄存器5、标准 DIP 间距接口,便于嵌入式应用该芯片特点外围电路元器件复杂,好多器件难以在短时间内采购齐全,故本方案也放弃。2.3.3 NRF2401模块挪威nordic公司推出的单片射频发射器芯片NRF2401基本特征如下:1、2.4Ghz 全球开放ISM 频段免许可证使用;2、最高工作速率1Mbps,高效GFSK调制,抗干扰能力强,适合工业控制场合;3、可直接接各种单片机使用,软件编程非常方便;4、收发完成中断标志,每次最多可发28字节;5、CLK,DATA,DR三线接口,软件编简单。6、双通道数据接收,内置环行天线,开阔无干扰条件通

22、信距离在100米左右。将以上三种芯片进行对比,从距离,硬件复杂度和编程方面考虑,选择方案三中nordic公司出品的NRF2401芯片构成无线通信模块。2.4 LED广告屏的选择2.4.1按颜色分类单基色显示屏:单一颜色(红色或绿色)。双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。2.4.2按显示器件分类LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。 LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像

23、信息。其中的LED点阵单色图文动态条幅屏(下文中简称条屏),因为成本低廉、可靠性高、显示效果优良,所以成为点阵式LED汉字广告屏中的主流产品。2.5 LED驱动模块2.5.1静态锁存采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。2.5.2动态扫描采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制

24、方式较灵活,而且节省单片机的资源。比较以上两种方案,系统设计中采用方案二。2.6 最终方案的确定综上所述,在本次设计中单片机选定为MSP430,无线模块选定为NRF2401,点阵屏选定位LED点阵单色图文显示屏且驱动模块为动态扫描。其中单片机和无线模块各需要两块,其中一块作为发送模块,一个作为接收模块,并且在接收模块上将16*16LED点阵模块连接上去,这样在两个NRF24L01之间可以通过无线传播数据,即所谓的无线传输。第三章 系统硬件设置由第二章的系统整体设计方案的确定,我们开始着手选择各个模块所使用的硬件。包括单片机,行列驱动以及LED点阵。为该模块化LED显示屏控制系统具有更加方便和灵

25、活性,特对系统的硬件做了精心设计。硬件电路包括LED驱动模块、PC机通信模块等两大模块。3.1 硬件电路的总体设计本设计硬件部分包括上位机和下位机两个部分,即充当采集数据的主机,和接收数据,并显示出来的从机,由此可见,主机的结构比较复杂一下,包括时钟模块,温度、光照采集电路,串口以及无线模块,从机相对简单一下,除了单片机典型最小系统电路,只要接上无线模块,用以接收主机发出的数据,还有点阵模块,将外界的信息显示出来就可以了。光源采集 电源模块无线发送模块下位机温度采集串口接收模块时钟模块 电源模块上位机广告屏显示无线接收模块图3.1 上位机和下位机的主要硬件结构3.2 单片机最小系统单片机片机芯

26、片配以必要的外部器件,一般包括电源供入及电源开关、复位电路、晶振、输入输出电路等就能构成最小系统。图3.2 单片机MSP430的各个引脚3.2.1单片机MSP430的特点MSP430F149芯片是美国TI公司推出的超低功耗微处理器,有60KB+256字节FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带3个捕获比较寄存器和PWM输出的16位定时器、带7个捕获比较寄存器和PWM输出的16位定时器、2个具有中断功能的8位并行端口、4个8位并行端口、模拟比较器、12位AD转换器、2个串行通信接口等模块。MSP430F149芯片具有如下特点: 1)功耗低:电压22V、时钟频率1MHz时,活动

27、模式为200A;关闭模式时仅为01A,且具有5种节能工作方式。 2)高效16位RISC-CPU,27条指令,8MHz时钟频率时,指令周期时间为125ns,绝大多数指令在一个时钟周期完成;32kHz时钟频率时,16位MSP430单片机的执行速度高于典型的8位单片机20MHz时钟频率时的执行速度。 3)低电压供电、宽工作电压范围:1836V; 4)灵活的时钟系统:两个外部时钟和一个内部时钟; 5)低时钟频率可实现高速通信; 6)具有串行在线编程能力; 7)强大的中断功能; 8)唤醒时间短,从低功耗模式下唤醒仅需6s; 9)ESD保护,抗干扰力强; 10)运行环境温度范围为-40+85,适合于工业环

28、境。MSP430系列单片机的所有外围模块的控制都是通过特殊寄存器来实现的,故其程序的编写相对简单。编程开发时通过专用的编程器,可以选择汇编或C语言编程,IAR公司为MSP430系列的单片机开发了专用的C语言,可以通过WORKBENCH和C-SPY直接编译调试,使用灵活简单。3.2.2电源电路本系统需要使用+5V和+33V的直流稳压电源,其中MSP430Fl49及部分外围器件需要+33V电源,另外部分需要+5V电源。在本系统中,以+5V直流电压为输入电压,+33V由+5V直接线性降压。图3.3 电源转换电路原理3.2.3晶振电路由于MSP430有三个晶振源,两个外部晶振,一个内部RC晶振,所以在

29、晶振电路中我连了两个外部晶振一个32768Hz,另一个是8MHz。在程序中我们可以通过程序的要求,选着合适的晶振图3.4 晶振电路3.2.4复位电路原理图手动复位是最小系统常用的功能,本系统采用专用复位芯片IMP811实现手动复位。图3.5 复位电路3.3 实时时钟DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302 与单片机之间能简单地采用同步

30、串行的方式进行通信,仅需用到三个口线(1)RES(复位),(2) I/O(数据线),(3)SCLK(串行时钟)。在本设计中,时钟芯片上这三个引脚直接跟MSP430F149的P3.0,P3.1,P3.2相连。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。管脚描述X1 X2 32.768KHz 晶振管脚GND 地RST 复位脚I/O 数据输入/输出引脚SCLK 串行时钟Vcc1,Vcc2 电源供电管脚3.4串行通信 图3.7 串行通信电路这是232串口通信的一个典型电路,Max232产品是由德州仪器公司(TI)

31、推出的一款兼容RS232标准的芯片。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。所以它可以做成一个双串口的电路,分别接单片机的串行通信口或者实验板的其它串行通信接口,本设计不需要那么复杂,故只用了其中一组驱动、接收器。3.5 LED点阵对于点阵型LED显示可以采用共阴极或共阳极,本系统采用共阳极,其硬件电路如图2.1所示。当行上有一正选通信号时,列选端四位数据为0

32、的发光二极管便导通点亮。这样只需要将图形或文字的显示编码作为列信号跟对应的行信号进行逐次扫描,就可以逐行点亮点阵。只要扫描速度大于24Hz,由于扫描时间很快,人眼的视觉有暂留效应,就可以看到显示的是完整的图形或文字。图3.8 8*8共阳极LED点阵例如,若要图中所示16个LED显示一个“口”字的方框,则首先在列1上写入列编码信号,接着应将对应的行上加选通信号,即在行、列的信号端分别加上如表3.1所示数据:表3.1 在点阵上所加的行信号以及列选择信号列1列2列3列4行10000行20110行30110行40000这样,当第一行选通时列信号为0000;第二行选通时列信号为0110;第三行选通时列信

33、号为0110;第四行选通时列信号为0000;再选通第一行送列信号0000如此循环下去,当刷新频率足够高时(大于24Hz),由于人眼的视觉暂留特性,便可观察到稳定的方框。3.6无线模块 图3.9 无线模块NRF24L01集成版图主要参数:(1) 2.4Ghz 全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA(6) 内置2.4Ghz 天线,体积小巧15mm X22mm

34、3.7温度传感器下图是常用的温度传感器芯片18b20的实物图,它只有三个引脚,操作很简单 图3.10 温度传感器芯片以下是传感器在板子上的电路 图3.11 DS18B02下面简要介绍一下温度传感器18b201DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 2、 温度/数据关系表3.2 温度数据关系温度数字输出/(二进制)安息字输出(十六进制)+125C00000000 1111101000FAh+25C00000000 0

35、0110010 0032h+1/2C00000000 000000010001h+0C00000000 000000000000h1/2C11111111 11111111 FFFFh25C11111111 11001110 FFCEh55C11111111 10010010 FF92h3、DS18B20的引脚介绍 GND 地信号 DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3.8.系统的电路设计3.8.1 LED电路原理图图3.12 LED电路原理3.8.2 单片机msp430最小系统

36、的PCB版图设计图3.13 msp430最小系统的PCB版图设计第4章 软件设计4.1软件设计方案在本次设计中,软件部分有以下几大块:时钟DS1302,温度传感器18B20和光敏传感器,无线模块,以及广告屏的编程,上位机与下位机的软件流程设计思路如下:下位机上电后,先初始化内部变量、时钟,信息采集及通信模块,然后进行信息采集,下位机将采集到的信息通过无线模块依次发送出去,上位机采集到时钟,温度以及光照信息之后,将日期时间,环境温度及光信息显示在液晶显示模块上,然后保存在EEROM里面,掉电不丢失。下位机上位机广告屏显示程序温度采集程序光照采集程序时钟信息程序无线模块(发送)程序无线模块(接收)

37、程序图4.1 软件设计方案的流程图4.2实时时钟模块因为本设计需要在显示屏上显示时间以及日期的信息,故需要用到实时时钟模块,以下就软件方面对时钟模块做详细的介绍:4.2.1 实时时钟模块简介DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线(1)RES(复位),(2)I/O(数据线)

38、,(3)SCLK(串行时钟)。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信,DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。4.2.2实时时钟模块的时序图1)寄存器操作当写保护寄存器的最高位为0时,允许数据写入寄存器,写保护寄存器可以通过命令字节8E、8F来规定禁止写入/读出。写保护位不能在多字节传送模式下写入。它的寄存器分配如下:1RAM/CKA4A3A2A1A0RD/W2) 写操作时序读写操作需要严格按照时序图来进行,下面分别是1302的写操作时序图以上是DS1302一个字节写入的时序图。第一个字节是地址字节,第二个字节是数据字节,RST信号必须拉

39、高,否则数据的输入是无数的。换一句话说,RST信号控制数据时间信号输入的开始和结束。地址字节和数据字节的读取时上升沿有效,而且是由LSB开始读入,3) 读操作时序读一个字节和写一个字节有明显的不一样,先是写地址字节,然后再读数据字节,写地址字节时上升沿有效,而读数据字节时下降沿有效,当然前提是RST信号必须拉高,写地址字节和数据字节同是LSB开始。读一个字节和写一个字节最大的区别是,写一个字节的时候,MSP430的IO口一直保持输出状态,相反的在读一个字节时MSP430的IO口先是输出状态,然后是输入状态,且必须改变是在信号的顺序。4.2.3 时钟模块操作流程图开始变量初始化使DS1302不具

40、备写保护复位端产生一个高电平复位端产生一个高电平写1302地址写1302地址延时一段时间延时一段时间将该地址的数据读出向该地址写数据地址增加地址增加数据读完了吗?数据写完了吗? Y Y显示数据 N N 图4.2 时钟模块流程图4.2.4模块程序设计 初始化定义初始化定义就是将DS1302需要操作的三个口对应跟单片机的I/O口相连,得以在接下去的子程序中显得直观一点#define SET_SCK P3OUT|=0X01;#define CLR_SCK P3OUT&=0X01;#define SET_SDA P3OUT|=0X02;#define CLR_SDA P3OUT&=0X02;#defi

41、ne SET_RST P3OUT|=0X04;#define CLR_RST P3OUT&=0X04;以上宏定义是将时钟芯片DS1302的三个引脚定义到PD4、PD5、PD6三个口上,便于在下面的程序中显得直观一点unsigned char l_tmpdate7=0,0,12,15,4,3,9;/秒分时日月周年,可随时更改unsigned char write_rtc_address7=0x80,0x82,0x84,0x86,0x88,0x8a,0x8c; /秒分时日月周年写寄存器地址,最低位是读写位Unsigned char read_rtc_address7=0x81,0x83,0x85,

42、0x87,0x89,0x8b,0x8d; /秒分时日月周年读寄存器地址,最低位是读写位const unsigned char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff; /共阳数码管 0-9 - 熄灭表 写操作读写操作需要严格按照时序图来进行,对应时序图,我们可以通过软件进行操作:void Write_Ds1302( unsigned char address,unsigned char dat )向寄存器写数据 CLR_RST; _NOP(); CLR_SCK; _NOP(); SET_RST;_NOP

43、(); /启动 Write_Ds1302_Byte(address);/发送地址 Write_Ds1302_Byte(dat);/发送数据 CLR_RST; /恢复void Write_Ds1302_Byte(unsigned char temp) /写一个字节 unsigned char i; for (i=0;i=1; /右移一位 SET_SCK; 读操作同样地,根据上一节提到的读操作的时序图,可以进行如下的软件操作:unsigned char Read_Ds1302 ( unsigned char address )/从寄存器读取数据 unsigned char i,temp=0x00;

44、 CLR_RST; _NOP(); CLR_SCK; _NOP(); SET_RST; _NOP(); Write_Ds1302_Byte(address);DDRD&=(14); for (i=0;i8;i+) /循环8次 读取数据 if(PIND&(1=1;/右移一位 SET_SCK; DDRD|=(14); CLR_RST;_NOP();/以下为DS1302复位的稳定时间 CLR_RST; CLR_SCK; _NOP(); SET_SCK; _NOP(); CLR_SDA;_NOP(); SET_SDA; _NOP(); return (temp);/返回void Read_RTC(vo

45、id)/读取 日历 unsigned char i,*p; p=read_rtc_address; /读的地址传递 for(i=0;i7;i+)/分7次读取 秒分时日月周年 l_tmpdatei=Read_Ds1302(*p); p+; void Set_RTC(void)/设定 日历unsigned char i,*p,tmp;for(i=0;i7;i+) /BCD处理,将十六进制转换为十进制tmp=l_tmpdatei/10;l_tmpdatei=l_tmpdatei%10;l_tmpdatei=l_tmpdatei+tmp*16; Write_Ds1302(0x8E,0X00); /关闭

46、写保护 p=write_rtc_address;/传要写的寄存器地址 for(i=0;i7;i+)/7次写入 秒分时日月周年 Write_Ds1302(*p,l_tmpdatei); p+; Write_Ds1302(0x8E,0x80); /打开写保护4.3温度,光照信息采集模块4.3.1温度传感器模块的简介DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 1、DS18B20产品的特点 (1)、只要求一个端口即可实现通信。 (2)、在DS18B2

47、0中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55C到125C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。 (6)、内部有温度上、下限告警设置。4.3.2 温度传感器模块的时序图2. 初始化.主机总线在T0时刻从电源降到0并保持400-960uS时间,然后再上升到电源大约在15-60uS后,18B20输出低电平并保持60uS-240uS,然后上升到电源,完成初始化。3. 写0 和1 时序 写0时序 写1时序当主机总线T0时刻从高拉到低电平时,就产生写时间时序,从T0 时刻开始15uS 之内应该将所需要的位送

48、到总线上。写0时序,总线输出0后,15uS 对总线采样,若为低电平则写入的位是0,若为高电平则写入的位是1,连续写2位的间隙应该大于1uS。写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 4. 读时序对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 4.3.3模块操作流程初始化设置18b20个数B匹配ROM跳过ROM读存储器变换温度存在缓冲区指针增1等待1s初始化初始化B-1=0? 否 是图4.3 模块操作流程图4.3.4模块程序设计由于DS18B

49、20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,因此,对读写的数据位有着严格的时序要求,即编程时要严格按照上面的时序图来进行。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序,就是上面提到的初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 下面就本设计的程序做一下详细的分析:(1)18b20初始化函数void Init_DS18B20(voi

50、d) unsigned char x=0; SET_DQ; /DQ复位 delay(8); /稍做延时 CLR_DQ; /单片机将DQ拉低 delay(80); /精确延时 大于 480us SET_DQ; /拉高总线 delay(10); DDRB&=(17); x=(P2IN&0X80); /稍做延时后,如果x=0则初始化成功;x=1则初始化失败 delay(5); DDRB|=(10;i-) CLR_DQ; / 给脉冲信号 dat=1; SET_DQ; /给脉冲信号 DDRB&=(17); if(P2IN&(17) dat|=0x80; delay(5);DDRB|=(10; i-) C

51、LR_DQ; if(dat&0x01) SET_DQ; else CLR_DQ; delay(5); SET_DQ; dat=1; delay(5);(4)读取温度unsigned char ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned char t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号

52、的操作 WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();b4;t=b;/tt=t*0.0625;/t= tt*10+0.5; /放大10倍输出并四舍五入return(t);4.3.5 光敏传感器模块简介1、光敏传感器的选择光敏传感器有很多类型,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器等,由于光敏电阻灵敏度高,体积小,重量轻,性能稳定,价格便宜,因为在本次设计中不需要很精确地采集外围环境的光照信息,故选用光敏电

53、阻来比较合适。光敏电阻可以作为程序的运行指令与终止指令。光敏电阻就是一个传感器,有“有信号”与“无信号”两种状态,所以软件编程相对很容易。因为设计中用到的光敏电阻实际上就相当于是一个电阻,所以,只需要读取它上面的电压值就知道有没有光照了,在本设计中,由于时间显示,又要是实验结果尽量直观,我们就将有光的时候在显示屏上显示“亮”,然后在用手遮住光敏电阻之后显示“暗”,表示此时已经没有光照了。以下是设计中用到的程序(1)、端口初始化PORTD&=_BV(PD7);/此口总保持低DDRD&=_BV(PD7); /初始化为输入,用外部上拉电阻保持总线的高电平因为光敏电阻是跟单片机上的PD7口相连的,而在

54、执行过程中要随时读取上面的电压值,故将PD7口初始化为输入。(2)、显示光照状态的宏定义const unsigned char bright32=/*- 文字: 亮 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x01,0x00,0x7F,0xFC,0x00,0x00,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x04,0x7F,0xFE,0x40,0x04,0x87,0xC8,0x04,0x40,0x04,0x40,0x08,0x42,0x10,0x42,0x60,0x3E,0x00,0x00;/用来显示有亮光时的汉字宏定义,即“亮”c

55、onst unsigned char dark32=/*- 文字: 暗 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x40,0x00,0x20,0x7B,0xFC,0x49,0x10,0x48,0x90,0x48,0xA0,0x7F,0xFE,0x48,0x00,0x49,0xF8,0x49,0x08,0x79,0xF8,0x49,0x08,0x01,0x08,0x01,0xF8,0x01,0x08,0x00,0x00;/用来显示无亮光时的信息汉字宏定义,即“暗”(3)、读取光敏电阻上的值点阵上显示if(P2IN&0X80)=0X80) for(i=0;

56、i32;i+) lhji=brighti;/将汉字“亮”的编码复制到显示缓存用来显示 display();/显示 else for(i=0;i32;i+) lhji=brighti;/将汉字“暗”的编码复制到显示缓存用来显示 display();/显示 4.4 无线模块4.4.1 无线模块简介对nRF2401的配置接口由CE、PWR、CS组成。有4种工作模式(如表1所列),数据通过DATA、CLK1输入。工作模式 PWRCECS收发模式 110配置模式 101空闲模式 100掉电模式 0XX表4.1 4种工作模式 其发射功率、工作频率等所有工作参数全部通过软件设置完成。系统工作之前必须对nRF2401进行初始化配置,可通过DATA、CLK1串行输入120位的配置位。nRF2401有2种通信方式:ShockBurst和Direct方式。ShockBurst方式时,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!