1. 程式人生 > >51學習歷程-第二章keil軟體的使用以及流水燈

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執行一條指令所需要的時間
  • 在兩端設定埠斷點可以快速知道時間在這裡插入圖片描述