cc2530单片机的第一次实验,流水灯
第一个实验:控制流水灯

P1_0,P1_1,P0_4都连接在发光二极管的负极,所以,当这三个引脚为低电平,也就是0的时候,相应的发光二极管才会亮。

其实这里可以稍微的关注一下寄存器的地址,然后,编程的时候可以尝试操作一下!
控制发光二极管的步骤
id1[设置相应的引脚为通用口也就是设置PnSEL寄存器]
id2[设置相应的引脚为输出也就是设置PnDIR寄存器]
id4[设置相应引脚的值也就是设置P1_0 P1_1 P0_4的值]
id1-->id2
id2-->id4
初始化
//置零用&=,置一用|=
P1SEL&=~0x03; //设置P1_1和P1_0为通用接口 1111 1100
P0SEL&=~0x10; //设置P0_4为通用接口 1110 1111
P1DIR|=0x03; //设置P1_0与P1_1为输出 0000 0011
P0DIR|=0x10; //设置P0_4为输出 0001 0000
//设置123灯全为灭
P1_0=1;
P1_1=1;
P0_4=1;
延时函数
void Delay(uint n)
{
uint i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
全部代码
#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char //定义控制灯的端口
#define LED1 P1_0 //定义LED1 为P10 口控制
#define LED2 P1_1 //定义LED2 为P11 口控制
#define LED3 P0_4 //定义LED3 为P04 口控制
//延时 *****************************/
void Delay(uint n)
{
uint i;
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
for(i = 0;i<n;i++);
}
//初始化IO 口程序 *****************************/
void InitIO(void)
{
//置零用&=,置一用|=
P1SEL&=~0x03; //设置P1_1和P1_0为通用接口 1111 1100
P0SEL&=~0x10; //设置P0_4为通用接口 1110 1111
P1DIR|=0x03; //设置P1_0与P1_1为输出 0000 0011
P0DIR|=0x10; //设置P0_4为输出 0001 0000
//设置123灯全为灭
P1_0=1;
P1_1=1;
P0_4=1;
}
//主函数 ***************************/
void main(void)
{
InitIO();
while(1)
{
LED1=!LED1;
Delay(10000);
LED2=!LED2;
Delay(10000);
LED3=!LED3;
Delay(10000);
}
}
心得
通过这个实验,应该记住初始化的流程,以及那几个寄存器的用途
cc2530单片机的第一次实验,流水灯的更多相关文章
- 89C51单片机定时器控制的流水灯
/***************************************************Copyright: 2014-02-11.version1.0File name: timer ...
- 单片机C51 8位流水灯
#include<reg51.h> sbit P1_0=0X90; sbit P1_1=0x91; sbit P1_2=0x92; sbit P1_3=0x93; sbit P1_4=0x ...
- cc2530的第三次实验,按键中断控制流水灯
cc2530的第三次实验:按键中断控制流水灯 效果为按一次按键,流水灯亮一次 实验相关电路图: 实验相关寄存器: 初始化函数 //初始化LED灯 //设置P1SEL,通用为0,外设为1 1111110 ...
- cc2530的第二次实验,用按键控制流水灯
按键控制流水灯 具体想要实现按一下按键,然后单片机的三个灯会以流水灯的形式都亮一遍 实验相关寄存器 实验相关电路 宏定义 #define uint unsigned int #define uchar ...
- 单片机教程4.C语言基础以及流水灯的实现
单片机教程4.C语言基础以及流水灯的实现 C语言,没接触过计算机编程语言的人会把它看的很神秘,感觉非常的难,而在我看来,C语言的逻辑和运算,就是小学水平,所以大家不要怕它,我尽可能的从小学数学逻辑方式 ...
- (一)GPIO 编程实验 LED 流水灯控制
7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块
实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验 ...
- 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...
- 实验一:基于STM32F1的流水灯实验(库函数)
参考原子哥学习程序 条件:实验板STM32103ZET6:固件库STM32F10x_StdPeriph_Lib_V3.5.0:环境MDK5: 目的:了解STM32 的 IO 口如何作为输出使用 :以两 ...
随机推荐
- gevent介绍(转)
原文:https://www.liaoxuefeng.com/wiki/897692888725344/966405998508320 Python通过yield提供了对协程的基本支持,但是不完全.而 ...
- xshell连接本地linux虚拟机速度很慢的解决办法
今天发现用xshell连接centos太慢,网上查询后发现是因为ssh的服务端在连接时会自动检测dns环境是否一致导致的,修改为不检测即可. 修改文件位置:vi /etc/ssh/sshd_confi ...
- python基础04day
一 引子 数据类型 用途 定义方式 是否多项 有/无序 可/不可变 对应状态 数字 否 —— 不可 字符串 “”‘’“““””” 否 有 不可 列表 [] 是 有 可 同 ...
- Myeclipse中JSP镶嵌的html报错
Window > perferences > General > Editors > File Associations > 在File types 中选择 *.jsp ...
- SpringBoot,SSM和SSH
Springboot的概念: 是提供的全新框架,使用来简化Spring的初始搭建和开发过程,使用了特定的方式来进行配置,让开发人员不在需要定义样板化的配置.此框架不需要配置xml,依赖于想MAVEN这 ...
- Python的object和type理解及主要对象层次结构
一.Object与Type 1.摘自Python Documentation 3.5.2的解释 Objects are Python’s abstraction for data. All data ...
- linux系统crontab
一.cron 简介 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cro ...
- 通过windowmanager在camera界面上显示内容
Window与WindowManager机制https://www.jastrelax.com/android/2018-03-08-android-window/ [Android开发艺术探索阅读笔 ...
- Golang: 读取文件并统计内容
上次我们从命令行接收用户输入,并统计了每次输入内容出现的次数,今天对程序加以改造,使其能够读取文件内容,并统计每行文本出现的次数. 首先,我们把接收输入的逻辑封装成一个函数: // scan.go p ...
- “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程
今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...