arm电子相册项目——主函数篇main.c

原创 2016年08月30日 19:29:39

《arm电子相册项目——主函数篇main.c》

 

工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线

功能:显示照片(自动切换 / 手动切换 / 暂停切换 / 可设置)

            显示时钟(精确显示 / 可设置)

进度:第2篇——main.c

描述:一个合格的项目,其中main函数应该是只用很少行的,大部分的工作都由调用的函数执行,有主有次,执行起来条清缕析

电子相册项目中,main函数主要做了一下工作:初始化各个模块,给全局变量赋初值,在未操作时,先显示一个菜单界面,保持led灯闪烁

#include "app.h"

extern void delay(unsigned int t);    ////声明汇编中的delay,可以调用

//全局变量
unsigned int flag;    //不同flat表示不同功能界面(界面flat)
unsigned int key;    //不同key表示不同按键(按键key)
unsigned int n;    //不同n表示不同箭头位置(小箭头的位置由n决定)
unsigned int picture;    //不同picture表示不同照片
unsigned int time;    //定时器中断每进一次,time++
unsigned int set_time;    //当time++至 time == set_time时,切换照片
unsigned int stop;    //相册自动切换暂停 / 继续
unsigned int time_stop;    //时钟显示开启 / 关闭
unsigned int clock;    //设置时钟的年月日时分秒标志位

void Main()
{
	MMU_Init();    //内存管理单元初始化(可以不写)
	rtc_init();    //时钟模块初始化
	uart_init();		//串口模块初始化
	key_init();    //中断模块初始化
	lcd_init();    //lcd屏幕模块初始化
	timer0_init();    //定时器模块初始化
	
	flag = 1;    //全局变量赋初值
	n = 1;
	picture = 1;
	time = 0;
	set_time = 3;
	stop = 2;
	time_stop = 2;
	clock = 0;
	
	lcd_dis_pck(37);    //刚进程序先设置初始化界面
	lcd_draw_chinese(80,90,"->",0x00ff0000);
	lcd_draw_chinese_string(100,90,"1.电子相册",0x00ff0000);
	lcd_draw_chinese_string(100,110,"2.实时时钟",0x00ff0000);	
	lcd_draw_chinese_string(100,130,"3.设置切换时间",0x00ff0000);	
	lcd_draw_chinese_string(100,150,"4.设置时钟时间",0x00ff0000);	
	
	GPACON = 0x0;    //led初始化(led闪烁表示系统正常运行)
	GPBCON = (0x5 << 10);
	GPBSEL = 0x0;
	
	while(1)
	{
		if(time_stop == 1)    //时钟的显示开启 / 关闭(标志位控制)
		{
			lcd_rtc();
		}
		GPADAT = 0x0;
		GPBDAT = 0x0;
		delay(0x100000);
		GPADAT = 0xffffffff;
		GPBDAT = 0xffffffff;
		delay(0x100000);
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

arm电子相册项目——led模块篇led.c

《arm电子相册项目——led模块篇led.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 / 可...

arm电子相册项目——串口模块篇uart.c

《arm电子相册项目——串口模块篇uart.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 ...

arm电子相册项目——按键模块篇led.c

《arm电子相册项目——按键模块篇led.c》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换 /...

arm电子相册项目——启动加载篇startup.s

《arm电子相册项目——启动加载篇startup.s》   工具:keil4 , arm开发板(Mini2451)(s3c2451) , 串口线 功能:显示照片(自动切换 / 手动切换 / 暂停切换)...

ARM裸机开发之基于S3C2451的电子相册开发

该项目的制作是用的友善之臂的Mini2451开发板。 简单先介绍一下该电子相册的主要功能即操作: 开发板上一共有4个按键,K1是进入选择界面,选择界面中K2为手动切换,K3为自动切换,在自动切换模...

电子相册项目

《电子相册项目报告整理》 自己写的arm电子相册,但是源文件比较乱。   1.开发工具:keil,eaglecom,Minitools,   2.具有功能: 电子相册(自动切换(默认3s)/ 暂停...

基于S3C2451裸机开发的电子相册

学习S3C2451也有一段时间了,对于ARM9裸机开发也有了一点了解,这次做了一个基于ARM9裸机开发的电子相册,其中也遇到了一些问题,最终都通过各种方法解决了,现也将之记录,给后人一个借鉴。   这...

【EVB-335X-II试用体验】 基于Yocto的嵌入式的敏捷项目开发:以电子相册为例

EVB 335X-II有一个800*480的屏幕,如果放在家里,那么我们可以做一个电子相册,在家里放着的时候,可以自动播放图片幻灯片。这篇博客,我们将使用开源方案以及Yocto来构建和完成这个小项目。...

基于S3C2451的一个裸机电子相册

学习S3C2451也有一段时间了,对于ARM9裸机开发也有了一点了解,这次做了一个基于ARM9裸机开发的电子相册,其中也遇到了一些问题,最终都通过各种方法解决了,在此做一个记录。   这次电子相册开发...

HTML5_旋转轮播-电子相册-新startMove函数写无缝轮播

1、 旋转轮播(用到了z-index)——-index.html 下面是新的startMove函数 旋转轮播要建立数组,move函数,和start函数如下2、 无缝轮播(用新...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:arm电子相册项目——主函数篇main.c
举报原因:
原因补充:

(最多只允许输入30个字)