基于物联网的安保系统软件设计-测控模块_毕业论文 下载本文

西安欧亚学院本科毕业论文(设计)

ldr sp,=SFE(FIQ_STACK) ;

bic r0,r0,#MODE_MSK ; //清除模式位 orr r0,r0,#IRQ_MODE ; //设置中断请求位 msr cpsr_c,r0 ; //改变模式位 ldr sp,=SFE(IRQ_STACK) ; //结束中断请求堆栈 bic r0,r0,#MODE_MSK ; //清除模式位 orr r0,r0,#SYS_MODE ; //设置系统模式位 msr cpsr_c,r0 ; //改变模式位 ldr sp,=SFE(CSTACK) ; //结束堆栈类

5.2 主程序

图5-1

主环路程序代码: #include \#include \#include \#include \#include \#include \#include \

21

西安欧亚学院本科毕业论文(设计)

int main (void) { uint8

lines[]={0xfd,0x23,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x10,0x00,0x90,0xdd,0xcc,0xbb,0xaa}; //画线数组

uint8

addrxy1[]={0xfd,0x23,0x00,0x08,0,160,0,45,0,160,0,20,0xdd,0xcc,0xbb,0xaa};

//uint8 addrxy1[]=

uint8 state=0; // 界面状态变量定义、赋值

uint16 touch_x=0x0; // 触摸点X坐标变量定义/赋(任意)初值 uint16 touch_y=0x0; // 触摸点Y坐标变量定义/赋(任意)初值 uint8 pic_id=0x1f; // 图片编号变量定义、赋值 uint8 option3=0x3; //二级目录启动停止判断

TargetResetInit(); // 目标板初始化 UART1_Init(); // UART1初始化

DelayMS(100); // 用于做其他处理或延时,使得彩屏终端上电完 SetColor(0x6781F,0x06ff); // 白底蓝 WaitNoBusy(); // LCM 空闲判跳 DisPicture(2); //显示第1幅图片 SetColor(0x9152,0x6eff);

ClearScreen(); // 清屏(调色板设置后必须清屏) DelayMS(10);

PutString(10,10,0x12,\二零一二界毕业设计\ DelayMS(100);

PutString(65,60,0x13,\基于物联网的\ DelayMS(100);

PutString(100,100,0x13,\安保系统\ DelayMS(100);

PutString(170,190,0x12,\西安欧亚学院\ DelayMS(100);

PutString(150,210,0x12,\通信工程 四人小组\

DelayMS(3000);

PageMenu(); // 菜单函数

22

西安欧亚学院本科毕业论文(设计)

for(;;) // 循环体 {

WaitNoBusy(); // 无触摸判跳 switch(state) // 散转(条件跳转) {

//主菜单界面 case 0:

if(GetTouchValue(&touch_x,&touch_y)) // 触摸判断,返回触摸值 {

pic_id=GetTouchID(touch_x,touch_y); // 获得图片ID,同时改变颜色

if(pic_id<12) // ID 边界判跳 {

Page2(); panbie(pic_id);

state=1; // 跳转界面状态 } else break; } break;

case 1:

if(GetTouchValue(&touch_x,&touch_y)) {

option3=TouchValid(touch_x,touch_y); {

if(option3==0) { Page2();

state=panbie_bt(pic_id); }

else if(option3==1) { Page2(); panbie(pic_id);

23

西安欧亚学院本科毕业论文(设计)

state=1; }

else if(option3==2) {

WaitNoTouch();

DelayMS(15); // 延时 state=2; }

else if(option3==3) {

WaitNoTouch();

DelayMS(15); state=2; } else {

WaitNoTouch(); state=1; } break; } } break;

//在下级界面中被按了返回键 case 2: PageMenu(); state=0; break; default:break; } } }

24

// 延时