51学习历程-第二章keil软件的使用以及流水灯

第二章 keil软件的使用以及流水灯的实现

2.3 while语句

  • 在程序的最后加上“while(1);”这样的语句就可以让程序停止。
  • 单片机是无法停止工作的,只要它有电,有晶振在起振,就不会停止工作,每过一个时间周期,它内部的程序指针就要加1,程序指针就指向下一个程序
  • 完整的点亮第一个发光二极管的程序
#include<reg52.h>
void main()
{
    P1=01fe;
    while(1);
}

2.5 keil仿真以及延时语句的精确计算

#include <reg52.h>
#define uint unsigned int
sbit led1=P1^0;
uint i,j;
void main()
{
    while(1)
    {
          led1=0;
          for(i=1000;i>0;i--)
              for(i=110;j>0;j--);
          led1=1;
          for(i=1000;i>0;j--)
              for(j=110;j>0;j--);
     }
}
  • 如何模拟出延时语句是延长了多长时间呢?
    回到keil编辑界面,打开工程设置对话框,在【Target】标签下的【Xtal(MHz):】后面将后面的默认值修改成实验板上面的晶振频率值

  • 进行调试
    ①在这里有个I/O PORT的选项,可以查看端口的信息
    在这里有个I/O PORT的选项,可以查看端口的信息

②左下角可以查看变量的大小
在这里插入图片描述

③这里可以查看各个寄存器的状况和时间
在这里插入图片描述

  • 知识点 单片机的几个周期介绍
  1. 时钟周期:也称震荡周期,定义为时钟频率的倒数,可以理解为单片机外接晶振的倒数,比如12MH真的晶振,它的时钟周期为1/12μs,它是单片机最基本的、最小的时间单位。对于同一种单片机,时钟频率越高,单片机的速度也就越快。
  2. 状态周期:它是时钟周期的两倍
  3. 机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读/写等,它由12个时钟周期组成
  4. 指令周期:它是指CPU执行一条指令所需要的时间
  • 在两端设置端口断点可以快速知道时间在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42082138/article/details/84981543