標(biāo)題:
使用Proteus學(xué)習(xí)單片機(jī)系列教程-點(diǎn)亮LED
[打印本頁]
作者:
11166
時間:
2021-1-22 22:27
標(biāo)題:
使用Proteus學(xué)習(xí)單片機(jī)系列教程-點(diǎn)亮LED
獲取本項目代碼以及仿真文件
https://github.com/Lighter-z/51-Single-chip
基于Proteus學(xué)習(xí)單片機(jī)系列(一)——點(diǎn)亮LED
基于Proteus學(xué)習(xí)單片機(jī)系列(二)——驅(qū)動數(shù)碼管
基于Proteus學(xué)習(xí)單片機(jī)系列(三)——按鍵
基于Proteus學(xué)習(xí)單片機(jī)系列(四)——中斷
基于Proteus學(xué)習(xí)單片機(jī)系列(五)——定時器實現(xiàn)電子表
基于Proteus學(xué)習(xí)單片機(jī)系列(六)——I2C總線AT24C04
基于Proteus學(xué)習(xí)單片機(jī)系列(七)——實時時鐘DS1302
基于Proteus學(xué)習(xí)單片機(jī)系列(八)——AD轉(zhuǎn)換及其應(yīng)用--TLC549
基于Proteus學(xué)習(xí)單片機(jī)系列(九)——DA轉(zhuǎn)換及其應(yīng)用--TLC5615
基于Proteus學(xué)習(xí)單片機(jī)系列(十)——LCD1602
基于Proteus學(xué)習(xí)單片機(jī)系列(十一)——LCD12864
1、LED電路設(shè)計
0000.png
(16.84 KB, 下載次數(shù): 51)
下載附件
2021-1-22 22:28 上傳
2、程序設(shè)計
#include<reg51.h>
sbit LED = P0^0; //LED接P0.0
void delay(unsigned int x) //延時函數(shù)
{
while(x--);
}
void main() //主函數(shù)
{
while(1)
{
LED=0; //P0.0輸出低電平,LED滅
delay(5000); //調(diào)用延時函數(shù),延時一段時間
LED=1; //P0.0輸出高電平,LED亮
delay(5000); //調(diào)用延時函數(shù),延時一段時間
}
}
復(fù)制代碼
(1)單片機(jī)程序順序執(zhí)行程序,先執(zhí)行主函數(shù),在主函數(shù)內(nèi)可以調(diào)用子函數(shù),子函數(shù)不可以調(diào)用主函數(shù)。單片機(jī)程序從主函數(shù)入口依次執(zhí)行每一條指令,執(zhí)行完后回到主函數(shù)進(jìn)行下次循環(huán)。
(2)延時函數(shù),延時就是單片機(jī)執(zhí)行了一個延時函數(shù)。單片機(jī)執(zhí)行延時函數(shù)的每一條指令時都會浪費(fèi)一些時間,浪費(fèi)的時間就是調(diào)用延時函數(shù)所獲得的時間,但是延時函數(shù)不能精確延時。
(3)利用位定義讓LED等價于P0^0。LED等于0,先讓P0^0為低電平關(guān)掉LED,延時一段時間再讓P0^0為高電平開啟LED,在延時一段時間,一直循環(huán)達(dá)到LED閃爍的目的
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1