zoukankan      html  css  js  c++  java
  • 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--);
    }

  • 相关阅读:
    关于推荐的一个算法工程师访谈,有一些内容值得看看
    Element.Event
    复数输出
    Passenger/Nginx/Debian快速部署Rails
    POJ3678【错误总会让自己有收获的】
    android在其他线程中访问UI线程的方法
    C++运算符重载的方法
    Struts2图片文件上传,判断图片格式和图片大小
    list view Item 里面有ImageButton
    用python实现远程复制 (scp + expect )
  • 原文地址:https://www.cnblogs.com/ljd4you/p/6441963.html
Copyright © 2011-2022 走看看