• 51单片机入门笔记(二)


    二.Keil软件使用及流水灯设计

    1.建立Keil工程。

    2.点亮第一个发光二极管(代码):

    #include<reg52.h>
    sbit led1=P2^5;
    void main()
    {
    led1=0;
    }

    在keil中,编译,然后在【project】->【options for Target 'Target1' 】->【output】->选中【Create HEX File】,确定;再编译后生成HEX文件。将该HEX文件烧写入单片机中。

    3.while语句(同C)

    4.for语句(同C)

    简单的延时语句(延时1秒):

    for(i=1000;i>0;i--)

    for(j=110;j>0;j--);

    5.keil仿真(可精确计算延时语句的时间)

    6.单片机的几个周期介绍:

    1)时钟周期:也称震荡周期,定义为时钟频率的倒数,是单片机最基本、最小的时间单位。

    2)状态周期:时钟周期的两倍。

    3)机器周期:单片机的基本操作周期,由12个时钟周期组成。

    4)指令周期:CPU执行一条指令所需要的时间。

    7.不带参数的函数的写法与调用(同C)

    8.带参数的函数的写法与调用(同C)

    9.利用C51库函数实现流水灯(_crol_  循环左移函数;_cror_  循环右移函数)

    代码:

    #include<reg52.h>
    #include<intrins.h>
    #define uchar unsigned char
    #define uint unsigned int
    void delayms(uint);
    uchar initial=0xfe;
    void main()
    {
    while(1)
    {
    P2=initial;
    delayms(500);
    initial=_crol_(initial,1);
    }
    }
    //***************************delayms(uint)
    void delayms(uint m)
    {
    uint i,j;
    for(i=m;i>0;i--)
    for(j=110;j>0;j--);
    }

    10.用左移实现8个LED灯从右到左一次点亮

    代码:

    #include<reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    void delayms(uint);
    uchar initial=0xff;
    void main()
    {
    while(1)
    {
    P2=initial;
    delayms(500);
    initial=initial<<1;
    }
    }
    //*****************延时 函数
    void delayms(uint m)
    {
    uint i,j;
    for(i=m;i>0;i--)
    for(j=110;j>0;j--);
    }

  • 相关阅读:
    activiti并行和串行区别
    SpringMVC 封装返回结果对象
    maven基础
    activiti表
    SpringBoot进阶
    SpringBoot基础
    javascript ES6模块化
    Vuejs搜索下拉框
    Vuejs2.0 + bootstrap demo
    maven settings.xml
  • 原文地址:https://www.cnblogs.com/ljd4you/p/6441963.html
Copyright © 2020-2023  润新知