#物聯網感知實驗#proteus仿真入門

其他物聯網感知方面內容見:目錄

用到的軟件:
keil(不用全部下載,按自己需要即可)
鏈接:https://pan.baidu.com/s/1YoZbjIKCtmVG4tNfIR326w
提取碼:h5vj
proteus可以參考這個教程:
https://jingyan.baidu.com/article/d5c4b52bebf964da570dc57f.html

LED點燈

  • 首先打開proteus
    在這裏插入圖片描述

  • 接下來我們點擊P,就會出現如下所示:
    在這裏插入圖片描述

  • 在關鍵字中輸入at89c51,右側顯示區內自動出現檢索到的AT89C51,雙擊,左側就會出現AT89C51

  • 左鍵單擊一下左側剛剛出現的AT89C51,顯示區就會顯示出它的原理圖,將鼠標移到右側框中,鼠標將會變成鉛筆的形狀,單擊左鍵,框中出現一個AT98C51原理圖的輪廓圖,可以移動。

  • 鼠標移動到合適的位置上的時候,按下左鍵將原理圖放置好就ok
    在這裏插入圖片描述

  • 按照此方法依次將led-red、res放在單片機旁。

  • 在任何條件下,右鍵單擊元器件的時候,元器件都會高亮顯示並彈出菜單:
    在這裏插入圖片描述

  • 接下來我們進行簡單的連線
    在這裏插入圖片描述

  • 下面我們給電阻R1設置屬性

  • 左鍵雙擊電阻,彈出電阻的屬性:(電阻最好寫300,避免電阻過大)
    在這裏插入圖片描述

  • 在電阻前加一個5V的電壓
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 接下來我們先將Proteus保存下,然後去寫程序

  • 打開Keil軟件選擇project中的新建一個project
    在這裏插入圖片描述

  • 將會彈出CPU選項,選擇Atmel中的AT89C51
    在這裏插入圖片描述

  • 接下來我們就新建文件圖標就可以開始寫程序了
    在這裏插入圖片描述

#include <reg51.h>
#include <stdio.h>
sbit LED=P2^7;

void main(void)
{
	LED = 0;
	while(1);
}
  • 接下來進行配置keil
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 點擊圖標進行重新編譯
    在這裏插入圖片描述

  • 接下來我們進入到Proteus,雙擊我們的AT98C51元件
    在這裏插入圖片描述

  • 然後就可以開始仿真了
    在這裏插入圖片描述

  • 左鍵單擊就會發現,燈亮了
    在這裏插入圖片描述

點燈進階——實現LED閃爍

  • 其餘步驟一致,只需更改代碼
#include "reg51.h"
sbit led = P2^0;
void delay(unsigned int m)
{
	int a=0;
	int b=0;
	for(a=m;a>0;a--)
	{
		for(b=123;b>0;b--);
	}
}

void  main()
{
	  while(1)
	  {
	  	 led =0;
		 delay(500);
		 led=1;
		  delay(500);
	  }
}

流水燈

  • 設計如圖:
    在這裏插入圖片描述
  • 代碼如下:
#include "reg51.h"
sbit led = P2^0;
void delay(unsigned int m)
{
	int a=0;
	int b=0;
	for(a=m;a>0;a--)
	{
		for(b=123;b>0;b--);
	}
}
void  main()
{
	unsigned char key=0x01;//~0000 0001	= 1111 1110
	while(1)
	{
		if(key == 0)
			key = 0x01;
		P2 = ~key;
		key = key<<1;//	000 00010 
		delay(500);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章