基于LM3S6911的万年历系统.doc
《基于LM3S6911的万年历系统.doc》由会员分享,可在线阅读,更多相关《基于LM3S6911的万年历系统.doc(18页珍藏版)》请在沃文网上搜索。
1、摘要:本设计选择LM3S6911为核心控制元件,设计了用RTC定时器实现万年历的控制与设计。程序使用C语言进行编程,能动态显示当前时间,包括年、月、日、时、分、秒,并且用串口助手显示。关键词:LM3S6911 ARM 时钟 目录1 引言12 LM3S6911芯片RTC时钟介绍13 程序运行结果23.1 LM3S6911管脚介绍23.2LM3S6911复位电路和时钟设计24 总体设计框图35 程序运行结果图示46 程序流程图57 总结体会58 参考文献6附录一:总体电路图7附录二:源程序8基于LM3S6911的万年历系统1 引言 随着科技的发展,嵌入式系统广泛应用于工业控制和商业管理领域,在多媒
2、体手机、袖珍电脑,掌上电脑,车载导航器等方面的应用,更是极大地促进了嵌入式技术深入到生活和工作各个方面。嵌入式系统主要由嵌入式处理器、相关支撑硬件及嵌入式软件系统组成。本文介绍基于LM3S6911F103R6T6的嵌入式微处理器的万年历设计,并且在液晶上显示。2 LM3S6911芯片RTC时钟介绍LM3S6911特性32位RISC性能-采用为小封装应用方案而优化的32位ARM CortexTM-M3 v7M架构 -提供系统定时器(SysTick),包括一个简单的24位写清零、递减、自装载(wrap-on-zero)计数器,同时具有灵活的控制机制 -仅采用与Thumb?兼容的Thumb-2指令集
3、以获取更高的代码密度 -工作频率为50-MHz -硬件除法和单周期乘法 -集成的嵌套向量中断控制器(NVIC),使中断的处理更为简捷 -30个中断,具有8个优先级 -带存储器保护单元(MPU),提供特权模式来保护操作系统的功能 -非对齐式数据访问,使数据能够更为有效的安置到存储器中 -精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控制通用定时器4个通用定时器模块(GPTM),每个提供2个16-位定时器。 每个 GPTM 可被独立配置进行操作: . 作为一个32位定时器 . 作为一个32位的实时时钟(RTC)来捕获事件 . 用于脉宽调解器(PWM) .
4、 触发模数转换32位定时器模式. 可编程单次触发定时器 . 可编程周期定时器 . 当接入32.768-KHz外部时钟输入时可作为实时时钟使用 . 在调试期间,当控制器发出CPU暂停标志时,在周期和单次触发模式中用户可以使能中止。 . ADC事件触发器位定时器模式. 通用定时器功能,并带一个8位的预分频器 . 可编程单次触发定时器 . 可编程周期定时器 . 在调试的时候,当控制器发出CPU暂停标志时,用户可设定暂停周期或者单次模式下的计数 . ADC事件触发器位输入捕获模式. 提供输入边沿计数捕获功能 . 提供输入边沿时间捕获功能位PWM模式. 简单的PWM模式,对PWM信号输出的取反可由软件编
5、程决定看门狗定时器32位向下计数器,带可编程的装载寄存器带使能功能的独立看门狗时钟 带中断屏蔽功能的可编程中断产生逻辑 软件跑飞时可锁定寄存器以提供保护 带使能/禁能的复位产生逻辑 在调试的时候,当控制器发出CPU暂停标志时,用户可以设定暂停定时器的周期10/100以太网控制器符合 IEEE 802.3-2002规范 在100 Mbps和10 Mbps速率运作下支持全双工和半双工的运作方式集成10/100 Mbps收发器(PHY物理层)自动MDI/MDI-X交叉校验可编程MAC地址节能和断电模式同步串行接口(SSI)主机或者从机方式运作可编程控制的时钟位速率和预分频独立的发送和接收FIFO,8
6、X16位宽的深度可编程控制的接口,可与Freescale的SPI接口,MICROWIRE或者TI器件的同步串行接口相连可编程决定数据帧大小,范围为4到16位内部循环自检模式可用于诊断/调试UART3个完全可编程的16C550-type UART,支持IrDA带有独立的16x8发送(TX)以及16x12接收(RX)FIFO,可减轻CPU中断服务的负担可编程的波特率产生器,并带有分频器可编程设置FIFO长度,包括1字节深度的操作,以提供传统的双缓冲接口。FIFO 触发水平可设为1/8, 1/4, 1/2, 3/4 和 7/8 标准异步通信位:开始位、停止位、奇偶位无效起始位检测行中止的产生和检测A
7、DC独立和差分输入配置用作单端输入时有6个10位的通道(输入)采样速率为500,000 次/秒灵活、可配置的模数转换4个可编程的采样转换序列,1到8个入口长,每个序列均带有相应的转换结果FIFO 每个序列都可以由软件或者内部事件(定时器,PWM 或GPIO)触发I2C在标准模式下主机和从机接收和发送操作的速度可达100Kbps,在快速模式下可达400Kbps 中断的产生主机带有仲裁和时钟同步功能、支持多个主机、以及7位寻址模式PWM1个 PWM信号发生模块,每个模块都带有1个16位的计数器、2个比较器, 1个PWM信号发生器、以及一个死区发生器 1个16位的计数器 . 运行在递减或递增/递减模
8、式 . 输出频率由一个16位的装载值控制 . 可同步更新装载值 . 当计数器的值到达零或者装载值的时候生成输出信号 2个 PWM比较器 . 比较器值的更新可以同步 . 在匹配的时候产生输出信号PWM信号发生器 . 根据计数器和PWM比较器的输出信号来产生PWM输出信号 . 可产生两个独立的PWM信号死区发生器 . 产生2个带有可编程死区延时的PWM信号,适合驱动半H桥(half-H bridge) . 可以被旁路,不修改输入PWM信号灵活的输出控制模块,每个PWM信号都具有PWM输出使能 . 每个PWM信号都具有PWM输出使能 . 每个PWM信号都可以选择将输出反相(极性控制) . 每个PWM
9、信号都可以选择进行故障处理 . PWM发生器模块的定时器同步 . PWM发生器模块的定时器/比较器更新同步 . PWM发生器模块中断状态被汇总可启动一个ADC采样序列GPIO高达7-35个GPIO,具体数目取决于配置输入/输出可承受5V 中断产生可编程为边沿触发或电平检测 在读和写操作中通过地址线进行位屏蔽可启动一个ADC采样序列GPIO端口配置的可编程控制 . 弱上拉或下拉电阻 . 2mA、4mA和8mA端口驱动 . 8-mA驱动的斜率控制 . 开漏使能 . 数字输入使能功率片内低压差(LDO)稳压器,具有可编程的输出电压,用户可调节的范围为2.25V到2.75V 休眠模块处理3.3V通电/
10、断电序列,并控制内核的数字逻辑和模拟电路 控制器的低功耗模式:睡眠模式和深度睡眠模式 外设的低功耗模式:软件控制单个外设的关断 LDO带有检测不可调整电压和自动复位的功能,可由用户控制使能 3.3V电源掉电检测,可通过中断或复位来报告 . 灵活的复位源 上电复位 复位管脚有效 掉电(BOR)检测器向系统发出电源下降的警报 软件复位 看门狗定时器复位 内部低压差(LDO)稳压器输出变为不可调整其他特性6个复位源 可编程的时钟源控制 可对单个外设的时钟进行选通以节省功耗 遵循IEEE 1149.1-1990标准的测试访问端口(TAP)控制器 通过JTAG和串行线接口进行调试访问 完整的JTAG边界
11、扫描3 LM3S6911最小系统电路3.1 LM3S6911芯片管脚介绍LM3S6911F103R6T6管脚示意图,如图1所示。图1 LM3S6911F103R6T6管脚示意图3.2 LM3S6911复位和时钟电路设计 此电路主要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图2(右)所示:其中7脚为LM3S6911的复位端。时钟电路如图2(左)所示:晶振采用的是8MHz和32.786KHz,8MKz分别接LM3S6911的5脚和6脚,32.786KHz分别接LM3S6911的3脚和4脚。图2 LM3S6911复位和时钟电路4 总体设计框图 本电路主要由3大
12、部分电路组成:ARM最小系统电路、时钟显示电路和闹钟警报电路(本设计用LED灯指示)。其中ATM最小系统主要由复位电路和时钟电路组成。在该设计中,闹钟提醒由LED灯代替,当闹钟时间到的话,LED灯亮,延时设定的时间后自动关闭。总体设计方框图,如图3所示。LM3S6911 复位电路串口显示 输入时间 时钟电路图3总体设计方框图 5程序运行结果如图4所示图4 程序运行结果6 程序流程图 程序流程图,如图5所示。 图5 程序主流程和时间程序流程图7 总结与体会通过这次万年历的设计,使我对ARM有了更深的理解。刚开始拿到题提目,我先是查找相关资料,从图书馆和网上找到相关的课题,参考借鉴别人的设计,从而
13、理清我们设计的思路。此次作业设计大致可以分为两部分,电路图部分和程序编程部分,其中最有难度的是程序的编写与调试。在编写程序的过程中,我遇到了各种各样的问题,工程之间的结合,对于其中的错误怎样解决,需要配置什么,更改哪里等等。对于ARM我学的很浅,编程遇到问题不知道如何解决,我知道这个是我的弱点,但在这两周的课程设计中,用Keil uVision4在ARM开发板上进行程序调试,遇到问题解决问题,在这个过程中我收获了不少。 参考文献1 谢永你.嵌入式应用初级教程.中国铁道出版社20132 李宁.基于MDK的LM3S6911处理器开发应用M.北京航空航天大学出版社,2008.3 王永红、徐炜、赫立平
14、.LM3S6911系列ARM Cortex-M3微控制器原理与实践M.北京航空航天大学出版社,2008.4 ARM Limited.Cortex-M3 Technical Reference Manual(r2p0). ARM DDI 0037G 2008.5 附录一:总体电路图附录二:程序#include LM3S6911f10x.h#include stdio.h #include calendar.h#include date.h_IO uint32_t TimeDisplay = 0;void RCC_Configuration(void);void NVIC_Configuratio
15、n(void);void GPIO_Configuration(void);void USART_Configuration(void);int fputc(int ch, FILE *f);void RTC_Configuration(void);void Time_Regulate(struct rtc_time *tm);void Time_Adjust(void);void Time_Display(uint32_t TimeVar);void Time_Show(void);u8 USART_Scanf(u32 value);#define RTCClockSource_LSEu8
16、const *WEEK_STR = 日, 一, 二, 三, 四, 五, 六;u8 const *zodiac_sign = 猪, 鼠, 牛, 虎, 兔, 龙, 蛇, 马, 羊, 猴, 鸡, 狗;struct rtc_time systmtime;int main() RCC_Configuration(); NVIC_Configuration(); GPIO_Configuration(); USART_Configuration(); if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) printf(rnn RTC not yet configur
17、ed.); RTC_Configuration();printf(rn RTC configured.); Time_Adjust();BKP_WriteBackupRegister(BKP_DR1, 0xA5A5);elseif (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET) printf(rnn Power On Reset occurred.);else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET) printf(rnn External Reset occurred.); printf(rn
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LM3S6911 万年历 系统