传感网应用开发的题c语言编写有没有大哥

请基于ZigBee模块(黑板)进行基础开发,采用中断方式检测按键,请编程实现按键中断控制、串口发送和LED的控制,每当检测到按键按下时向串口输出“key is pressed”的信息,LED1P_0)、LED2P1_1)闪亮约200ms

1)按键采用中断的方式进行检测,上拉输入模式,下降沿触发;

2)串口通信要求采用32MHz系统时钟,波特率1152008位数据位,1位停止位,无校验位,无流控;

3LED闪烁可采用延时函数实现。

有没有大哥会帮个忙

请补充完善代码。

 

#include <iocc2530.h>

#define LED1 P1_0

#define LED2 P1_1

#define uint unsigned int

unsigned char flag=0;   //按键按下标志

 

void delay(uint time)

{

  uint i,j;

  for(i=0;i<30;i++)

  {

    for(j=0;j<time;j++);

  }

}

void initLed()

{

//设置LED灯(P1_0  P1_1)初始化相关参数

//=====》答题区1开始 

 

 

 

 

//=====答题区1结束

}

void initSW1()

{

  //按钮SW1(P1_2)配置成可以被外部中断

  //=====》答题区2开始

    // 1、初始化SW1(P1_2)口工作在普通IO、上拉输入状态。

 

 

 

 

 

 //设置按键中断相关初始化相关参数:按键采用中断的方式进行控制,下降沿触发中断。

   //2、开CPU总中断;

 

   

   //3、开IO口组中断;(IEN24位控制P1口中断使能)

 

 

  

   //4、开组内对应的具体某IO口中断(P1IEN)

 

  

   //5、下降沿触发;

 

 

  

   //=====答题区2结束

 

}

 

void init_Uart()

{

  //配置系统时钟为32Mhz

  CLKCONCMD &=~ 0X7f;

  while(CLKCONSTA & 0x40);

  //2.串口0的备用位置1

  PERCFG &=~0x01;  //选中串口0的的备用位置1: P0_2 (RX), p0_3(TX)

  P0SEL |=0x0C;    //P0_2 p0_3配置为外设IO功能

  P2DIR &=~ 0xc0;  //P0优先用做串口0

 

  U0CSR |= 0x80;

  //由考生设置波特率115200

  //=====》答题区3开始 

 

 

 

  

  //=====答题区3结束

  //清发送中断标志 p41 IRCON2:1位为0清中断

   UTX0IF=0;

   EA=1; //CPU中断

}

//通过串口发送长度为len的字符串data_tx

void sendStringByUart(char *data_tx, int len)

{

  unsigned int j;

  for(j=0;j<len;j++)

  {

    U0DBUF = *data_tx++;

    while(!UTX0IF);

    UTX0IF=0; 

  }

}

 

void main()

{

  init_Uart();

  initLed(); 

  initSW1();

  while(1)

  {

    //此处可按实际需求进行代码添加:当有按键按下时...

      /*由考生设置按下按键后:

    1)每按一次按键,LED闪亮效果。

    2)每按一次按键,向串口发"key is pressed"的信息

    */

  //=====》答题区5开始

 

 

  

 //=====答题区5结束

 

  }

}

 

#pragma vector=P1INT_VECTOR //P1组中断

__interrupt  void  P1_ISR()

{

  if(P1IFG &0X04) //判断P1_2是否产生了中断

  {

  //=====》答题区4开始

 

 

  

 //=====答题区4结束

  }

 

  //注意产生中断时会把以下值变为1,执行完中断后务必记得下面的操作:要清0

  //中断标志位清0

  P1IFG &=~ 0x04; //P1_2引脚中断标志;

  P1IF = 0x00;    //清除P1口中断标志位

有没有大哥能把答题区补上

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。

首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、作业代写、安装包资源发送或安装、软件使用指导等服务。

我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。