02单片机IO口操作

 其实真的不能再简单了哦,就是三个寄存器。
1.PxSEL:设置某一个的IO口是作为基本的IO口还是作为第二功能的接口来使用。(0:基本IO,1:外设功能)
2.PxDIR:设置作为基本功能的IO口到底是作为输入还是输出使用。(0:输入,1:输出)
3.PxINP:设置某一个IO口的输入模式,上下拉还是三态模式,如果要具体指明上拉还是下拉,需要配合P2INP【5:7】这三位分别对应P0---P2这三组。(0:上拉,1:下拉)

ADC采集的时候用三态输入

4.注意,P2.0---P2.2这三个IO口不区分基本IO还是外设功能。
5.2530一共四十个IO,但是我们用到的只有21个,实质上中间还有一个大IO,所以是41个IO。这21个IO是P0和P1分别是8个,还有P2的5个。
6.上电初始化以后默认所有寄存器都是0.





补充内容:

1、掌握Zigbee无线模块基本工作电路。
2、做Zigbee无线模块,和TI CC2530基本工作电路有什么不同。
   多出了一块复位电路;
   从CC2530芯片直接引出下载的相关5根线,为CC2530下载程序。


3、学会随心所欲的控制所有口子的输入输出。
  输出怎么配置:
  需要让P1_0处于普通IO口模式,非是偏上外设的模式 P1SEL 的第0位 为0
 //管理所有IO处于普通IO还是偏上外设,由P0SEL P1SEL P2SEL 决定


  让P1_0处于输出状态,非输入状态  找到P1DIR 第0位 让它等于1
//让所有IO口处于输入状态还是输出状态由P0DIR P1DIR P2DIR 决定


  P1_0=1;


  输入怎么配置:
   让P0_6处于普通IO口,非偏上外设模式 P0SEL 的第6位为0
   让P0_6处于输入状态,非输出状态    P0DIR 的第6位为0
   让P0_6处于上拉、下拉或者三态中的一种状态


   if(1==P0_6)
{//检测到的是高电平


}
else
{//检测到的P0_6外部是低电平


}


LED模块文件


头文件:
#ifndef __74LS164_8LED_H__
#define __74LS164_8LED_H__
#include<ioCC2530.h>
#define  LS164_DATA  P1_3
#define  LS164_CLK   P1_2
#define  UCHAR  unsigned char 
void LS164_Cfg();
void LS164_BYTE(UCHAR Data);//P1.3  DATA   P1.2  CLK
#endif





实现文件:

#include<ioCC2530.h>
#include"74LS164_8LED.h"
static UCHAR LED_Map[]={0x3f,0x06,0x5b,0x4f,
                        0x66,0x6d,0x7d,0x07,
                        0x7f,0x6f,0x00,0xFF};
void LS164_Cfg()
{
    P1SEL &=~0x0C;//xxxx 00xx  配置为普通IO模式
    P1DIR |=0x0C;//xxxx 11xx   配置为输出模式
}
void LS164_BYTE(UCHAR Index) //P1.3  DATA   P1.2  CLK
{  
    UCHAR i=0;
    UCHAR Data=LED_Map[Index];
    for(;i<8;i++)
    {
        if(0x80 & Data)
        {
            LS164_DATA=1;            
        }
        else
        {
            LS164_DATA=0; 
        }
        Data=Data << 1;
        LS164_CLK=0;
        LS164_CLK=1;
    }
}




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值