物理与电子信息学院嵌入式系统课程设计 成绩评定表
课题名称基于 ARM 时钟显示
1、可以用按键调整时间
计
2、可用数码管显示时、分、秒
务
3、以用蜂鸣器实现闹钟的功能
要
4、用 Protues 实现仿真
5、完成课程设计报告
评分标准:
设
计
报
告
成
绩
电
评分标准:
子
作
品
成
绩
课
程
设
计
成
绩
设计报告成绩:
电子作品成绩:
总成绩:
指导教师:许翀、卢震辉
20xx年 6 月 27 日
嵌入式系统课程设计报告
设计课题:基于 ARM 时钟显示
专业班级:
电信 1102
学生姓名:
朱家全
学
号: xxxx
指导教师:
许翀、卢震辉
设计时间: 20xx 年 6 月 27 日
word 文档可自由复制编辑
基于 ARM时钟显示
一、设计任务与要求
1、用数码管显示时、分、秒
2、可以用按键来调整时间
3、可以用蜂鸣器实现闹钟的功能
4、用 Protues 实现仿真
5、完成课程设计报告
二、方案设计与论证
基于 ARM的时钟显示:本课程设计是通过LPC2132ARM处理器而设计的显示
时钟,由硬件和软件相配合使用。硬件由数码管显示模块、按键模块、蜂鸣器三
个模块。实现电子时钟的功能, 并在 LED上显示类似的时钟界面, 动态显示时间,
时间包括时、分、秒。
1.方案一、利用 LPC2132内部定时器定时, 把数据送到数码管, 通过数码管显示时、 分、
秒。设定八个按键,时、分、秒分别通过两个按键来控制加减,从而实现时间的
调整。通过蜂鸣器模块,当数码管显示达到设置的报警时间后,蜂鸣器蜂鸣,从
而实现闹钟的功能。至此,一个相对简单的基于ARM的时分秒时钟显示 。
按键模块LPC2132数管显码示模块
蜂鸣器模块
图 2-1 基于 LPC2132ARM 时钟显示方案框图
2. 方案二
本方案是基于 LPC2106处理器而设计的时钟,综合性较强,涉及到 RTC外部中断,引脚的 GPIO功能,C 语言编程等知识。显示模块采用液晶模块模块 LCD1602
同时显示实时时间和报警时间。从而实现电子时钟显示和报警。
系统启动
系统初始化
判断正常走时 ?Y
ES
时钟调整
闹钟调整
进入调整时钟程序
N 进入调整闹钟程序
LCD 显示时间
图 2-2 基于 LPC2106ARM时钟显示方框流程图
通过课题的设计的要求,基于 ARM的时钟显示,显示时、分、秒。通过框图可以看出第二种方案过于复杂,第一种方案就可以实现简单的显示时、分、秒。
所以通过分析,结合设计电路性能指标、 器件的性价比,本设计电路选择方案一。
三、软件设计与调试
通过 Protues 和 keil实现程序的设计和仿真
程序设计
#include "config.h"
uint32
second=0;
// 秒初始化
uint32
minute=0;
//
分初始化
uint32
hour=9;
//
时初始化
uint32
keyr=1<<23;
//
定义 P1.23
为复位按键
uint32
key=1<<16;
//
定义 P1.16
为停止按键
uint32
keyadd1=1<<17;
// 定义 P1.17
为秒加按键
uint32
keysec1=1<<18;
// 定义 P1.18
为秒减按键
uint32
keyadd2=1<<19;
// 定义 P1.19
为分加按键
uint32
keysec2=1<<20;
// 定义 P1.20
为分减按键
uint32
keyadd3=1<<21;
// 定义 P1.21
为时加按键
uint32
keysec3=1<<22;
// 定义 P1.22
为时减按键
uint32
num_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
// 共阴极数码管段选
uint32weis[]={0xfe00,0xfd00};//
共阴极数码管秒位选
uint32weim[]={0xf700,0xef00};//
共阴极数码管分位选
uint32weih[]={0xbf00,0x7f00};//
共阴极数码管时位选
/*****************************
函数名称 : delay()
函数功能 :延时
******************************/
void delay(uint32 dly)// 延时函数
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<3400; i++);// 初定为3400 个自减
变量,用于数码管延时显示
}
/**************************