二.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 intvoid 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 intvoid 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
相关资源:郭天祥程序 51单片机郭天祥TX-1C51单片机开发板\书后例程rar