打印
[经验分享]

IO基础与LED控制

[复制链接]
81|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、IO基础
1.1 IAP15F2K61S2芯片原理图



封装:LQFP44
IO数量:42 6组(P00-P07,P10-P17......),其余两个IO口 VCC供电,GND接地;
P10/RXD2/CCP1/ADC0 意味着单片机每个引脚有多个功能;串口2的引脚/ADC模拟信号采集/CCP的输出/普通的IO接口
由于封装的限制(只有44个IO口),所以一个IO口具有多个功能;
P17 XTAL == 外接的晶振引脚
外接晶振的需求:用外接晶振作为时钟源,比较稳定
工作模式:准双向口/弱上拉(标准51模式/默认),推挽输出/强上拉,高阻输入,开漏输出
1.2不同工作模式
准双向口读取外部数据,需要先锁存一个1













二、新建工程的一些补充
新建工程

2.1 keil中没有IAP15F2K61S2的头文件
解决:在isp软件中找到如下





2.2keil中的芯片选择



2.3推荐字体



三、sbit关键字
sbit L1 = P0^0; //P0可位寻址 L1=1;
                //P0不可位寻址 P0 = 0x01;
//sbit -> 特殊功能寄存器某一位(可位寻址)
四、LED控制
4.1原理图



4.2不能直接通过IO口对LED进行控制
控制LED,不能直接对IO口进行操作,因为P0口可以同时驱动多个外设



4.3找到“钥匙”->打开通往LED的“门”
4.3.1 74HC138译码器



如果想要控制LED,那么需要给Y4置低电平,如果想要给Y4置低电平,那么就需要了解译码器的“密码”:



再经过或非门,Y4C就可以置高电平“1”
或非门:具有多端输入和单端输出的门电路。当任一输入端(或多端)为高电平(逻辑“1”)时,输出就是低电平(逻辑“0”);只有当所有输入端都是低电平(逻辑“0”)时,输出才是高电平(逻辑“1”)



4.4部分代码解读
打开锁存器: P2 = ((P2 & 0x1f) | 0x80); //P2 ->100XXXX X //开
0x1f:0001 1111
0x80 1000 0000
&:用来清零
|:用来置1
关闭锁存器: P2 &= 0x1f; //P2 ->000XXXX X //关
4.5例子
(LED间隔交替闪烁)

//头文件声明区域
#include <STC15F2K60S2.H>
#include<intrins.h>
//函数定义区域
//蜂鸣器关闭
void cls_buzz(void)
{
    P2 = (P2 & 0x1F | 0xA0);
    P0 = 0x00;
    P2 &= 0x1F;
}

//延时函数
void Delay100ms()                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 5;
        j = 144;
        k = 71;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

//LED
void LED(unsigned int x)
{
                P2 = ((P2 & 0x1f) | 0x80);
                P0 = x;
                P2 &= 0x1f;
       
}



//程序主体
void main()
{
            cls_buzz();
        while(1)
        {
                        LED(0x55);
                        Delay100ms();
                        LED(~0x55);
                        Delay100ms();                       
               
               
        }
}



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/La_gloire/article/details/136080560

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

105

帖子

1

粉丝