本文目錄一覽:
- 1、這是一個閃爍的LED燈的C語言,比較簡單的,但是我想聽大師解釋一下???急用!!!!
- 2、用C語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!
- 3、寫出點亮2盞LED燈的c語言程序?
這是一個閃爍的LED燈的C語言,比較簡單的,但是我想聽大師解釋一下???急用!!!!
#include reg52.h //使用52單片機頭文件庫
#define uchar unsigned char //重定義,將unsigned char類型重新命名為uchar
#define uint unsigned int //重定義,將unsigned int類型重新命名為uint
sbit LED = P1^0; //將單片機第P1.0位的定義為LED
void DelayMS(uint x) //定義延時函數,返回類型是void,函數名是DelayMS,x為參數,類型為uint
{
uchar i; //定義uchar類型的參數 i
while(x–) //while循環,循環次數為x,每執行一次之後x-1
{
for(i=120;i0;i–); //for循環,i的初始值為120,當i0時進入for循環,每次循環之後i-1,因為for循環裡面沒有具體執行語句,相當於使函數停留在這裡
}
}
void main() //主函數
{
while(1) //while循環,1為循環條件,即一直在循環
{
LED = ~LED; //將LED的值取反,相當於將單片機P1.0的值取反,使燈的狀態改變
DelayMS(150); //每改變一次燈的狀態則調用DelayMS延時函數
}
}
用C語言編寫一個單片機控制LED燈閃爍變化的編程 急用!!!!!!!!!
C語言實現LED燈閃爍控制配套51單片機開發板。
#include //包含單片機寄存器的頭文件
/****************************************
函數功能:延時一段時間
*****************************************/
void delay(void) //兩個void意思分別為無需返回值,沒有參數傳遞。
{
unsigned int i; //定義無符號整數,最大取值範圍65535。
for(i=0;i20000;i++) //做20000次空循環。
; //什麼也不做,等待一個機器周期。
}
/*******************************************************
函數功能:主函數 (C語言規定必須有也只能有1個主函數)。
********************************************************/
void main(void)
{
while(1) //無限循環。
{
P0=0xfe; //P1=1111 1110B, P0.0輸出低電平。
delay(); //延時一段時間。
P0=0xff; //P1=1111 1111B, P0.0輸出高電平。
delay(); //延時一段時間。
}
}
單片機驅動LED燈的源程序:
#includereg52.h //頭文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定義。
void delay_ms(uint);//mS級帶參數延時函數。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延時子程序
{
uint x,y;
for(x=z;x0;x–)
for(y=110;y0;y–);
}
擴展資料:
單片機應用分類:
通用型:
這是按單片機(Microcontrollers)適用範圍來區分的。例如,80C51式通用型單片機,它不是為某種專門用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC接口等功能的溫度測量控制電路。
總線型:
這是按單片機(Microcontrollers)是否提供並行總線來區分的。總線型單片機普遍設置有並行地址總線、 數據總線、控制總線,這些引腳用以擴展並行外圍器件都可通過串行口與單片機連接。
另外,許多單片機已把所需要的外圍器件及外設接口集成一片內,因此在許多情況下可以不要並行擴展總線,大大減省封裝成本和芯片體積,這類單片機稱為非總線型單片機。
控制型:
這是按照單片機(Microcontrollers)大致應用的領域進行區分的。一般而言,工控型尋址範圍大,運算能力強;用於家電的單片機多為專用型。
通常是小封裝、低價格,外圍器件和外設接口集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是總線型,還可以作工控用。
參考資料來源:百度百科-單片機
寫出點亮2盞LED燈的c語言程序?
單片機的話,如端口上電默認高電平,那直接led一頭接電源一頭接端口,一個led對應一個端口。
一、簡單講:想要燈亮,就將對應端口置0。反之就是燈滅。
二、詳細講:假設用keil編寫,新建工程-選擇單片機型號-新建源文件-設置output(點魔術棒圖標勾選create hex file)。
我們用P2^0端口連接一個led(led另一端連電源)。先給端口起別名sbit led1=P2^0;之後代碼中需要燈亮就寫led1=0;即可。(頭文件自行導入)。
程序寫好,編譯後將生成的hex(路徑在之前的設置中)寫入單片機或加載到仿真電路中運行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/153194.html