CC2530单片机入门学习
来源:互联网 发布:怪物猎人捏脸数据公主 编辑:程序博客网 时间:2024/05/02 17:19
实训周学习的CC2530单片机单片机P1.0、P1.1口接共阴发光二极管(即P1.0 P1.1赋1灯亮,赋0灯灭),P1.2口接开关(根据电路判断开关按下P1.2为0)。
#include"ioCC2530.h" #define SW(P1.2) //声明按钮P1.2的常量#define LED0(P1.0) LED1(P1.1) //声明LED灯的常量int i,j;P1SEL &=~0XFF; //设置P1.1-P1.7为通用I/O口P1DIR |=0x03; //设置P1.1 P1.0 为输出端口P1DIR &=~0x04; //设置P1.2为输入端口LED1=1; //LED1初始为亮LED0=1; //LED1初始为亮while(1){ //初始化完毕后无限循环 if(SW==0){ //判断按钮是否按下 while(SW==0); //判断按钮是否抬起 LED1=~LED1; //LED灯状态每次按下之后取反 LED2=~LED2; }}
这是我弄查了手册之后编的第一个带按钮的程序,不带按钮的太简单就不贴了。
P1SEL &=~0xFF; 这里是设置P1端口的功能为通用IO或外设功能,赋值0为通用IO,1为外设功能。目前只知道通用IO,所以全部赋值0。
P1DIR |=0x03; P1DIR &=~0x04; 这里是设置P1端口如果为IO口,是输入还是输出。赋值0为输入,1为输出。因为P1.0 P1.1接到LED登上所以设置为输出,P1.2接到按钮上,设置为输入。
&= |= 这样写是为了在不变更其他位的参数的情况下改变指定参数,这个我刚开始一直是直接 P1DIR=0x03;这样赋值,后来听老师说了之后才改的。
然后是外部中断
#include"ioCC2530.h"#define SW P1_2#define LED0 P1_0#define LED1 P1_1int flag=0;int i=0,j=0;#pragma vector=0x7B__interrupt void myInter(void){ flag=~flag; P1IFG &=~0x04; P1IF =0;}void init(){ P1SEL &=~0XFF; P1DIR |=0x03; P1INP &=~0x04; P2INP |=0x40; IEN2 |=0x10; P1IEN |=0x04; PICTL |= 0x02; EA=1; P1_0=0; P1_1=0;}void main(){ init(); while(1){ while(flag){ P1_0=0; P1_1=0; if(flag==0) break; } while(flag==0){ P1_0=1; P1_1=1; if(flag) break; } }}
然后是定时器中断
#include"ioCC2530.h"#define SW P1_2#define LED0 P1_0#define LED1 P1_1int flag=0;int i=0,j=0;#pragma vector=0x4B //与外部中断不同__interrupt void myInter(void){ T1STAT &=~0x20; flag=~flag;}void init(){ P1SEL &=~0XFF; P1DIR |=0x03; P1INP &=~0x04; P2INP |=0x40; T1CTL |=0x0f;//128分频,正记数倒记数模式 T1CC0H=0xf4;//0.5秒初值高位 T1CC0L=0x24;//0.5秒初值低位 IEN1 |=0x02;// 或T1IE=1; T1OVFIM=1;// TIMIF第六位 EA=1;//总中断使能}void main(){ init(); while(1){ while(flag){ P1_0=0; P1_1=1; if(flag==0) break; } while(flag==0){ P1_0=1; P1_1=0; if(flag) break; } }}等我去机房拷了CC2530的数据手册回来查一下再补充。第一篇博客。
1 0
- CC2530单片机入门学习
- 单片机 cc2530 寄存器
- 单片机入门学习
- 单片机入门学习二 51单片机学习一
- 单片机入门学习二 51单片机学习二
- 单片机学习入门一 学习概述
- CC2530单片机延时函数实际测试
- CC2530 ADC学习
- cc2530学习之初
- CC2530 ADC学习笔记
- 单片机C语言学习(菜鸟入门)
- 单片机入门
- 单片机入门
- #单片机入门#
- 单片机入门
- 单片机入门
- cc2530
- CC2530
- Delphi数据库技术中Disablecontrols和Enablecontrols的功能
- Yii2 自定义返回格式
- StringBuilder > StringBuffer > String
- 引导页
- 微服务链接
- CC2530单片机入门学习
- 小程序用户反馈-HotApp小程序统计仿微信聊天用户反馈组件...
- Java反射机制详解
- 北京天宇联科技有限责任公司—T语言编程II
- 怎样提取Excel工作表中排名前几名的名称和数据
- 在cLoin下配置opencv的方法(最简方式)
- idea引入jar包
- 本地搭建WordPress环境
- dedecms 常用标签调用