北京联合大学信息学院。
嵌入式系统应用课程设计》
实验报告。题目:基于arm9的电子时钟设计。
时间2013.11.26
一、 课程设计评分表1
二、 设计任务书2
三、 概要设计2
四、 详细设计3
五、 调试过程及结果分析10
六、 设计、调试中的体会及建议13
七、 参考文献13
课程设计评分表。
基于arm9的电子时钟设计。
一、目的。1)培养学生以实际工程性的整体思路来完成整个项目;
2)培养学生嵌入式系统的综合设计和管理及协作能力;
3)通过完成项目设计制作,使学生完整地进行设计、编程、测试、总结等全过程。
(4)熟悉嵌入式系统cic-900操作流程,加深对嵌入式系统的了解。
二、设计任务书。
设计和制作基于arm的电子时钟设计,基本要求是使用cic-900 arm9 start kit实验板设计和制作一个功能完善的电子时钟。
具体功能:1、设计开机界面,要求显示项目组的成员姓名。
2、显示屏显示年、月、日和时、分、秒。
3、实现整点闪烁报时(左边4个灯闪烁5秒)。
4、实现闹钟功能(右边4个灯闪烁5秒),设置3个按键实现闹钟时间小时、分、秒的人工加减。
5、实现串口时钟显示和校正功能。即arm通过串口向上位机发送时间信息;上位机可以向arm发送时间校正数据重新校正时间。arm和上位机的通讯协议自定,上位机可以使用现成的串口收发软件,如串口精灵。
6、显示屏显示当前教学周(开学日期可以直接写在程序中,也可以通过串口发送。)
三、概要设计。
1、总体设计分析。
从总体上分析,电子时钟主要分为三个模块:(1)、时钟显示模块:显示年、月、日、时、分、秒、星期,教学周;(2)、led显示模块:
通过led各灯亮灭来显示当前时钟状态,包括整点报时、闹钟报时、按键可调状态显示等;(3)、按键功能模块:通过四个按键来设定闹钟。
从功能上分析,主要有:主函数、时钟显示函数、整点报时函数、星期显示函数、闹钟显示函数、闹钟设定函数、时间延时函数等。
2、总程序流程图。
四、详细设计。
1、时钟显示模块。
时钟显示主要有日期、星期、时、分、秒和闹钟时间显示(时、分、秒)。
日期主要按润年与平年来计算,在主函数中直接使用,时间单独成立一个函数,在主函数中调用;星期单独成立一个函数,在主函数中调用,其算法公式用蔡勒(zeller)公式(只适合于2024年10月15日之后的情形):w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1。
其中,d:日;代表取整,即只要整数部分。w:星期;w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六。
闹钟时间显示主要是为了方便查看当前的闹钟设定时间,其单独用一个函数表示,在闹钟设定函数中调用。
时间显示模块流程图。
相关程序:void c_entry(void)
char rxdata;
lcdclear()
lcdgoto(1,1
lcdprint("wangshuo 2011080330201")
lcdgoto(2,1);
lcdprint("chenlei 2011080330016")
lcdgoto(3,1);
lcdprint("zly 2011080330202")
delay(1000);
lcdclear()
void showtime(void)
timeshow1[0]=year/1000%10+'0';
timeshow1[1]=year/100%10+'0';
timeshow1[2]=year/10%10+'0';
timeshow1[3]=year%10+'0';
timeshow1[5]=month/10%10+'0';
timeshow1[6]=month%10+'0';
timeshow1[8]=date/10%10+'0';
timeshow1[9]=date%10+'0';
timeshow2[0]=hour/10%10+'0';
timeshow2[1]=hour%10+'0';
timeshow2[3]=min/10%10+'0';
timeshow2[4]=min%10+'0';
timeshow2[6]=sec/10%10+'0';
timeshow2[7]=sec%10+'0';
timeshow3[0]=hour1/10%10+'0';
timeshow3[1]=hour1%10+'0';
timeshow3[3]=min1/10%10+'0';
timeshow3[4]=min1%10+'0';
timeshow3[6]=sec1/10%10+'0';
timeshow3[7]=sec1%10+'0';
2、led显示模块。
led各灯的亮灭主要用来显示当前时钟的运行状态,其中,当时间整点时,左四个led灯闪烁5秒;当时间达到闹钟设定的时间时,右四个led灯闪烁5秒;当进入闹钟设定状态时,所有led灯亮,当结束闹钟设定时,所有led灯灭
led显示模块流程图。
相关程序:整点报时。
if(sec==60)
debugled(0xff);
delay(1000);
debugled(0x00);
进入闹钟模式:
print(timeshow2);
showtime();
status = buttonread();
if ((status & 0x00000008)!=0)
debugled(0xff);
dowhile((status & 0x00000008)!=0);
delay(100);
闹钟到时:if((hour>=hour1)&&min>=min1)&&sec>=sec1))
while((status & 0x00000008)!=0);
delay(100);
dostatus = buttonread();
if ((status & 0x00000004) !0)
do {status = buttonread();
while ((status & 0x00000004)==0
nums++;
if(nums==4)
nums=1;
if(nums==1)
lcdgoto(4,8);
lcdprint("1");
if ((status & 0x00000002) !0)
do{status = buttonread();
while ((status & 0x00000002)==0
hour1++;
if ((status & 0x00000001) !0)
do{status = buttonread();
while ((status & 0x00000001)==0);
hour1--;
if(nums==2)
lcdgoto(4,8);
lcdprint("2");
if ((status & 0x00000002) !0)
do{status = buttonread();
while ((status & 0x00000002)==0
min1++;
if ((status & 0x00000001) !0)
do{status = buttonread();
while ((status & 0x00000001)==0);
min1--;
if(nums==3)
lcdgoto(4,8);
lcdprint("3");
嵌入式系统报告
浙江理工大学。rm嵌入式系统技术及应用 课程报告。题目 基于stm32的呼吸灯设计。专业 电气工程及其自动化。班级 10电气工程及其自动化1班。姓名 杨家卫。学号 b103828 指导老师 顾敏明。本次设计基于对这一学期相关内容知识的整合,将相关知识应用在野火开发板上,实现设计目标的过程。stm32...
嵌入式系统报告
目录。一背景介绍 1 二系统总体设计 1 2.1 博创netarm2410 s开发平台 1 2.2 硬件体系结构 2 2.2 软件体系结构 2 三系统具体设计 3 四系统调试结果 3 五个人具体工作 4 5.1 本机qtopia虚拟平台的建立 5 5.2 qt交叉编译环境的建立与开发板库文件的加载 ...
嵌入式系统课程报告
嵌入式系统 课程报告。学生姓名 车良康 学号 20091002977 班序号 116092 14 指导教师 徐战亚 中国地质大学 武汉 信息工程学院。2011 年 10 月。题目 仿picasa 浏览系统。1 引言。1.1 项目背景。picasa是一款可帮助您在计算机上立即找到 修改和共享所有 的软...