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--);
}

 

转载于:https://www.cnblogs.com/ljd4you/p/6441963.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值