西电无线传感器实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线传感器实验报告
班级:
姓名:
学号:
实验一、按键控制oled姓名输出显示
【实验目的】
1. 掌握CC2530的IO口寄存器设置;
2. 掌握LED自动闪烁编程方法。
【实验内容】
1. 在IAR集成开发环境中编写LED自动闪烁程序,实现LED的自动闪烁。
2.在oled显示输出姓名,并用按键控制
【预备知识】
1. 了解C语言的基本知识;
2. 了解IAR中编写和调试程序的方法。
【实验设备】
1. 硬件:教学实验箱、PC机;
2. 软件:PC机操作系统Windows7+IAR 开发环境。
3. 实验必须连接好仿真器,通用调试母板,将通用调试母板串口和PC串口连接好
【具体内容】
#include "iocc2530.h"
#include "ugOled9616.h"
#include "typedef.h"
#include "stdio.h"
#include "mcuClock.h"
#define uint unsigned int
#define uchar unsigned char
typedef signed short INT16;
#define ON 0
#define OFF 1
//定义控制灯的端口
#define RLED P1_0 //定义LED1为P10口控制
#define YLED P1_1 //定义LED2为P11口控制
#define K1 P0_6 //P0_6
//函数声明
void Delay(uint); //延时函数
void Initial(void); //初始化P0口
voidInitKey(void);
ucharKeyScan(void);
unsigned char WangChao[2][8]={
{0x00,0x42,0x52,0x7E,0x52,0x52,0x42,0x00},/*"王",0*/ {0xE8,0x5E,0x7C,0xAA,0xFE,0xD2,0xFE,0x00},/*"超",1*/ };
chari = 0;
ucharKeyvalue = 0 ;
/****************************
//延时
*****************************/
void Delay(uint n)
{
uinttt;
for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt } /***************************************** //按键初始化 *****************************************/ voidInitKey(void) { P0SEL &= ~0X40; P0INP |= 0x40; //上拉 P0DIR &= ~(0x01<<(6)); //按键在P06 ADC采集 } /**************************** //初始化程序 *****************************/ void Initial(void) { P1DIR |= 0x03; //P10、P11定义为输出 RLED = 1; YLED = 1; //LED } /***************************************** //读键值 *****************************************/ ucharKeyScan(void) { if(K1 == 0) //低电平有效 { Delay(100); //检测到按键 if(K1 == 0) { while(!K1); //直到松开按键 return(1); } } return(0); } void main(void) { intClock(); Initial(); //调用初始化函数 InitKey(); RLED = ON; //LED1 YLED = OFF; //LED2 P1DIR |= 0x04; //打开电源 P1 &=~0x04; ugOled9616int(); //初始化OLed配置 Show_Pattern(&WangChao[0][0],0x01,0x01,0x30,0x10);//写入字符代码,起始页为1,停止页为1,起始列为0x05,列宽为0x55 while(1) { Keyvalue = KeyScan(); if(Keyvalue == 1) { RLED = !RLED; //red Keyvalue = 0; //清除键值 if(RLED) Fade_Out(); //闪烁显示 else Fade_In(); } } } 【实验结果】