- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM报告2重点
摘 要
日历在生活中经常用到,电子制作的带时钟的日历更是在生活中广泛用到。
关键字:日历;LPC2138;按键;LCD1602;
摘 要 1
1.设计方案与系统构成 3
2.主要器件介绍 3
2.1 LPC2138主要性能 3
2.2 RTC寄存器 4
2.3报警寄存器 4
3. 硬件电路图 4
4. 软件设计及调试 5
4.1流程图 5
4.2程序 6
4.3硬件电路检测 12
4.4 功能调试 12
5. 改进方案 12
6.反思与体会 13
7.参考文献 13
1.设计方案与系统构成
本次实训课题——基于嵌入式ARM的日历的制作。软件程序从下载口接入LPC2138嵌入式芯片,通过调用LPC2138中的RTC实时时钟模块来实现日历功能,外部接个D/A转换电路,实现生日提示音的功能。外加5个按键,分别控制日期时间的调整,和生日的设定。电路系统构成框图如图
2.主要器件介绍
2.1 LPC2138主要性能
(1)小型LQFP64封装的16/32位ARM7TDMI-S微控制器。
(2)8/16/32kB片内静态RAM。
(3)片内Boot装载软件实现在系统/在应用中编程(ISP/IAP) 。扇区擦除或整片擦除的时间为400ms,1ms可编程256字节。
(4)EmbeddedICE?RT 和嵌入式跟踪接口可实时调试(利用片内 RealMonitor 软件)和高速跟踪执行代码。
(5)1个(LPC2132/2132)或 2 个(LPC2138)8 路 10 位 A/D 转换器共包含 16 个模拟输入,每个通道的转换时间低至2.44us。
(6)1个10位D/A转换器,可提供不同的模拟输出(LPC2132/2138) 。
(7)2个32位定时器/计数器(带4路捕获和4路比较通道) 、PWM单元(6路输出)和看门狗。
(8)实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。
(9)多个串行接口,包括2个16C550工业标准 UART、2个高速I2C接口(400 kbit/s) 、SPITM 和SSP(具有缓冲功能,数据长度可变) 。
2.2 RTC寄存器
时钟节拍计数器CTC是用于尝试秒的时钟节拍计数,这是一个只读寄存器,但它可以通过时钟控制寄存器(CCR)复位为0,如图所示。
时钟控制寄存器CCR是一个4位寄存器,它用于控制时钟分频电路的操作,包括启动RTC和复位时钟节计数器琴CTC等
2.3报警寄存器
报警寄存器如表2.3.2(3)所示,这些寄存器的值与时间计数器相比较,如果所有未屏蔽的报警寄存器都与它们相对应的时间计数器相匹配,那么将产生一次中断。像中断位置寄存器的bit1写入1清除中断。
表2.3.2(3)报警寄存器
硬件电路图
LPC2138的外围电路及为简单,如下图所示,LCD1602为显示电路,按键S1-S5为控制电路,蜂鸣器为生日提醒电路。
硬件电路图如图所示:
软件设计及调试
4.1流程图
4.2程序
#include LPC21xx.H
#define uint8 unsigned char
#define uint32 unsigned long
#define SW_1 (17)
#define SW_2 (19)
#define SW_3 (21)
#define SW_4 (23)
#define SW_5 (25)
#define LCD_RS (18)
#define LCD_RW (19)
#define LCD_E (110)
#define LCD_BUSY (17)
#define Fpclk#define BELL (27)
uint8 txt0[]={birthday};
uint32
uint32 i;
for(i=0; in; i++);
}
void LCD_ChkBusy(void)
{
IO0DIR=0x000007ff;
IO0CLR=LCD_RS;
IO0SET=LCD_RW;
IO0SET=LCD_E;
while((IO0PINLCD_BUSY)!=0);
delay(400);
IO0CLR=LCD_E;
IO0DIR=0x000007ff;
}
void LCD_write_command(uint8 dat, uint8 busy)
{
if(busy) LCD_ChkBusy();
IO0CLR=LCD_E;
IO0CLR=LCD_RS;
IO0CLR=LCD_RW;
IO0CLR=0x000000ff;
IO0SET=dat;
IO0SET=LCD_E;
delay(400);
IO0CL
您可能关注的文档
最近下载
- 城市轨道交通AFC系统65课件.pptx VIP
- 2025年云南省交通投资建设集团有限公司校园招聘笔试备考题库及答案解析.docx VIP
- 建筑工地基孔肯雅热防控和应急方案.docx VIP
- 第3章 知觉和模式识别.ppt VIP
- 公开课饮酒其五省公开课一等奖全国示范课微课金奖课件.pptx VIP
- 第二单元 6~10的认识和加、减法 单元教学设计 2025人教版数学一年级上册.pdf
- 钢筋混凝土管管道吊装方案.doc VIP
- 中医操作评分标准.pdf VIP
- 5.1 探究过氧化钠与二氧化硫的反应 课件 高一下学期化学人教版(2019)必修第二册.pptx VIP
- 农广校说课大赛.pptx VIP
文档评论(0)