基于ARM的万年历(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《嵌入式系统》课程设计报告基于LM3S6911的万年历系统院系:计算机与信息学院学生姓名:张进专业:计算机科学与技术班级:计算机121指导教师:谢永宁完成时间:2014年9月1日目录1引言..............................................错误!未定义书签。2LM3S6911芯片RTC时钟介绍.........................错误!未定义书签。3程序运行结果......................................................23.1LM3S6911管脚介绍............................错误!未定义书签。3.2LM3S6911复位电路和时钟设计...................................24总体设计框图......................................................35程序运行结果图示..................................错误!未定义书签。6程序流程图........................................错误!未定义书签。7总结体会..........................................................58参考文献..........................................................6附录一:总体电路图..................................................7附录二:源程序......................................................8基于LM3S6911的万年历系统摘要:本设计选择LM3S6911为核心控制元件,设计了用RTC定时器实现万年历的控制与设计。程序使用C语言进行编程,能动态显示当前时间,包括年、月、日、时、分、秒,并且用串口助手显示。关键词:LM3S6911ARM时钟1引言随着科技的发展,嵌入式系统广泛应用于工业控制和商业管理领域,在多媒体手机、袖珍电脑,掌上电脑,车载导航器等方面的应用,更是极大地促进了嵌入式技术深入到生活和工作各个方面。嵌入式系统主要由嵌入式处理器、相关支撑硬件及嵌入式软件系统组成。本文介绍基于LM3S6911F103R6T6的嵌入式微处理器的万年历设计,并且在液晶上显示。2LM3S6911芯片RTC时钟介绍LM3S6911特性32位RISC性能-采用为小封装应用方案而优化的32位ARMCortexTM-M3v7M架构-提供系统定时器(SysTick),包括一个简单的24位写清零、递减、自装载(wrap-on-zero)计数器,同时具有灵活的控制机制-仅采用与Thumb?兼容的Thumb-2指令集以获取更高的代码密度-工作频率为50-MHz-硬件除法和单周期乘法-集成的嵌套向量中断控制器(NVIC),使中断的处理更为简捷-30个中断,具有8个优先级-带存储器保护单元(MPU),提供特权模式来保护操作系统的功能-非对齐式数据访问,使数据能够更为有效的安置到存储器中-精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控制通用定时器-4个通用定时器模块(GPTM),每个提供2个16-位定时器。每个GPTM可被独立配置进行操作:.作为一个32位定时器.作为一个32位的实时时钟(RTC)来捕获事件.用于脉宽调解器(PWM).触发模数转换32位定时器模式.可编程单次触发定时器.可编程周期定时器.当接入32.768-KHz外部时钟输入时可作为实时时钟使用.在调试期间,当控制器发出CPU暂停标志时,在周期和单次触发模式中用户可以使能中止。.ADC事件触发器位定时器模式.通用定时器功能,并带一个8位的预分频器.可编程单次触发定时器.可编程周期定时器.在调试的时候,当控制器发出CPU暂停标志时,用户可设定暂停周期或者单次模式下的计数.ADC事件触发器位输入捕获模式.提供输入边沿计数捕获功能.提供输入边沿时间捕获功能位PWM模式.简单的PWM模式,对PWM信号输出的取反可由软件编程决定看门狗定时器-32位向下计数器,带可编程的装载寄存器-带使能功能的独立看门狗时钟-带中断屏蔽功能的可编程中断产生逻辑-软件跑飞时可锁定寄存器以提供保护-带使能/禁能的复位产生逻辑-在调试的时候,当控制器发出CPU暂停标志时,用户可以设定暂停定时器的周期10/100以太网控制器-符合IEEE802.3-2002规范-在100Mbps和10Mbps速率运作下支持全双工和半双工的运作方式-集成10/100Mbps收发器(PHY物理层)-自动MDI/MDI-X交叉校验-可编程MAC地址-节能和断电模式同步串行接口(SSI)-主机或者从机方式运作-可编程控制的时钟位速率和预分频-独立的发送和接收FIFO,8X16位宽的深度-可编程控制的接口,可与Freescale的SPI接口,MICROWIRE或者TI器件的同步串行接口相连-可编程决定数据帧大小,范围为4到16位-内部循环自检模式可用于诊断/调试UART-3个完全可编程的16C550-typeUART,支持IrDA-带有独立的16x8发送(TX)以及16x12接收(RX)FIFO,可减轻CPU中断服务的负担-可编程的波特率产生器,并带有分频器-可编程设置FIFO长度,包括1字节深度的操作,以提供传统的双缓冲接口。-FIFO触发水平可设为1/8,1/4,1/2,3/4和7/8-标准异步通信位:开始位、停止位、奇偶位-无效起始位检测-行中止的产生和检测ADC-独立和差分输入配置-用作单端输入时有6个10位的通道(输入)-采样速率为500,000次/秒-灵活、可配置的模数转换-4个可编程的采样转换序列,1到8个入口长,每个序列均带有相应的转换结果FIFO-每个序列都可以由软件或者内部事件(定时器,PWM或GPIO)触发I2C-在标准模式下主机和从机接收和发送操作的速度可达100Kbps,在快速模式下可达400Kbps-中断的产生-主机带有仲裁和时钟同步功能、支持多个主机、以及7位寻址模式PWM-1个PWM信号发生模块,每个模块都带有1个16位的计数器、2个比较器,1个PWM信号发生器、以及一个死区发生器-1个16位的计数器.运行在递减或递增/递减模式.输出频率由一个16位的装载值控制.可同步更新装载值.当计数器的值到达零或者装载值的时候生成输出信号-2个PWM比较器.比较器值的更新可以同步.在匹配的时候产生输出信号-PWM信号发生器.根据计数器和PWM比较器的输出信号来产生PWM输出信号.可产生两个独立的PWM信号-死区发生器.产生2个带有可编程死区延时的PWM信号,适合驱动半H桥(half-Hbridge).可以被旁路,不修改输入PWM信号-灵活的输出控制模块,每个PWM信号都具有PWM输出使能.每个PWM信号都具有PWM输出使能.每个PWM信号都可以选择将输出反相(极性控制).每个PWM信号都可以选择进行故障处理.PWM发生器模块的定时器同步.PWM发生器模块的定时器/比较器更新同步.PWM发生器模块中断状态被汇总-可启动一个ADC采样序列GPIO-高达7-35个GPIO,具体数目取决于配置-输入/输出可承受5V-中断产生可编程为边沿触发或电平检测-在读和写操作中通过地址线进行位屏蔽-可启动一个ADC采样序列-GPIO端口配置的可编程控制.弱上拉或下拉电阻.2mA、4mA和8mA端口驱动.8-mA驱动的斜率控制.开漏使能.数字输入使能功率-片内低压差(LDO)稳压器,具有可编程的输出电压,用户可调节的范围为2.25V到2.75V-休眠模块处理3.3V通电/断电序列,并控制内核的数字逻辑和模拟电路-控制器的低功耗模式:睡眠模式和深度睡眠模式-外设的低功耗模式:软件控制单个外设的关断-LDO带有检测不可调整电压和自动复位的功能,可由用户控制使能-3.3V电源掉电检测,可通过中断或复位来报告.灵活的复位源-上电复位-复位管脚有效-掉电(BOR)检测器向系统发出电源下降的警报-软件复位-看门狗定时器复位-内部低压差(LDO)稳压器输出变为不可调整其他特性-6个复位源-可编程的时钟源控制-可对单个外设的时钟进行选通以节省功耗-遵循IEEE1149.1-1990标准的测试访问端口(TAP)控制器-通过JTAG和串行线接口进行调试访问-完整的JTAG边界扫描[3LM3S6911最小系统电路3.1LM3S6911芯片管脚介绍LM3S6911F103R6T6管脚示意图,如图1所示。PA014PA115PA216PA317PA420PA521PA622PA723PA841PA942PA1043PA1144PA1245PA13/JTMS/SWDIO46PA14/JTCK/SWCLK49PA15/JTDI50OSC_IN/PD05OSC_OUT/PD16PD254BOOT060NRST7VBAT1VDD_132VDD_248VDD_364VDD_419VDDA13STM32F103R6T6PB026PB127PB2/BOOT128PB3/JTDO55PB4/JNTRST56PB557PB658PB759PB861PB962PB1029PB1130PB1233PB1334PB1435PB1536PC08PC19PC210PC311PC424PC525PC637PC738PC839PC940PC1051PC1152PC1253PC13_TAMPER_RTC2PC14_OSC32_IN3PC15_OSC32_OUT4VSS_131VSS_238VSS_363VSS_418VSSA12STM32图1LM3S6911F103R6T6管脚示意图3.2LM3S6911复位和时钟电路设计此电路主要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图2(右)所示:其中7脚为LM3S6911的复位端。时钟电路如图2(左)所示:晶振采用的是8MHz和32.786KHz,8MKz分别接LM3S6911的5脚和6脚,32.786KHz分别接LM3S6911的3脚和4脚。22pFC1422pFC1812Y38MGND10KR14104pFC12K5CHM1GNDVCCNRSTSOC_INOSC_OUT22pFC2322pFC2412Y432.768KGNDPC14PC15复位电路时钟电路图2LM3S6911复位和时钟电路4总体设计框图本电路主要由3大部分电路组成:ARM最小系统电路、时钟显示电路和闹钟警报电路(本设计用LED灯指示)。其中ATM最小系统主要由复位电路和时钟电路组成。在该设计中,闹钟提醒由LED灯代替,当闹钟时间到的话,LED灯亮,延时设定的时间后自动关闭。总体设计方框图,如图3所示。图3总体设计方框图5程序运行结果如图4所示LM3S6911串口显示时钟电路复位电路输入时间图4程序运行结果6程序流程图程序流程图,如图5所示。图5程序主流程和时间程序流程图7总结与体会通过这次万年历的设计,使我对ARM有了更深的理解。刚开始拿到题提目,我先是查找相关资料,从图书馆和网上找到相关的课题,参考借鉴别人的设计,从而理清我们设计的思路。此次作业设计大致可以分为两部分,电路图部分和程序编程部分,其中最有难度的是程序的编写与调试。在编写程序的过程中,我遇到了各种各样的问题,工程之间的结合,对于其中的错误怎样解决,需要配置什么,更改哪里等等。对于ARM我学的很浅,编程遇到问题不知道如何解决,我知道这个是我的弱点,但在这两周的课程设计中,用KeiluVision4在ARM开发板上进行程序调试,遇到问题解决问题,在这个过程中我收获了不少。参考文献[1]谢永你.嵌入式应用初级教程.中国铁道出版社2013[2]李宁.基于MDK的LM3S6911处理器开

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功