其他物聯網感知方面內容見:目錄
用到的軟件:
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);
}
}