導航:首頁 > 操作系統 > 用keil編程c語言做單片機

用keil編程c語言做單片機

發布時間:2023-01-20 04:50:51

㈠ C語言怎麼寫進單片機

1:先把寫好的C語言進行編譯,生成*.hex或*.bin文件,推薦用keil C。
然後:
1:根據你單片機的型號買一個燒錄器,與PC連接好後,把單片機放在燒錄器的插座上(看你的單片機封裝,新手盡量用DIP的),根據燒錄器軟體提示把上述文件燒到單片機里,缺點:價格較高
2:用下載線,用法與燒錄器差不多,缺點:比較麻煩,要有一定經驗。
3:用學習板,一般學習板上面的單片機可以直接在線燒錄(如STC,SST系列的單片機),也就是說單片機不用拆下來,板子上做好了燒錄電路,可以在板子上燒錄,然後就可以直接驗證了。
4:自已做一個,用STC的單片機,只要用一個RS232的轉換電路(一片232IC,幾個電解電容就行了),STC的單片機可以通過串口燒錄程序,具體參見STC官網或其DATASHEET,有詳細介紹。缺點:要一定動手能力
推薦新手用第3方法,可以很快上手。

㈡ 怎麼用keil寫51單片機的c語言程序

建立工程,選取所用單片機具體型號,在引導下建立完成工程 選擇c語言編程,建立模板,即可開始,寫C語言代碼。

㈢ 求大神在keil上幫寫51單片機C語言程序

//第一個實驗:
//假設8個LED陰極指向單片機,D11連接P0.1,D12連接P0.2...D18連接P0.7
//假設K1按鍵在P2.3引腳
#include<reg51.h>
#include<intrins.h>
sbitk1=P2^3;//假設K1按鍵在P2.3引腳
voidmain()
{
P0=0xfe;
while(1)
{
if(k1==0)
{
while(k1==0);
P0=_crol_(P0,1);
}
}

}

//第二個實驗:
//假設8個LED陰極指向單片機,D11連接P0.1,D12連接P0.2...D18連接P0.7
#include<reg51.h>
charled[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff};

voidmain()
{
chari=0;
charcounter=0;
TMOD=0x01;//T0工作方式1
TH0=(655356-50000)/256;//延時50ms
TL0=(655356-50000)%256;//延時50ms
TR0=1;//啟動T0
while(1)
{
if(TF0==1)//查詢
{
TH0=(655356-50000)/256;//重新延時50ms
TL0=(655356-50000)%256;//重新延時50ms
counter++;
if(counter==10)//延時0.5秒
{
counter=0;//重新開始新一輪0.5秒延時
i++;
if(i==16)
{
i=0;
}
P0=led[i];//點燈
}
}
}
}

㈣ keil怎樣把C語言轉換成單片機匯編語言

1、打開Keil,新建一個51工程,同時新建一個main.c文件,並加入到工程源代碼當中。

㈤ 用KEIL編寫C語言程序實現:單片機是AT89C51,實現一個計時器,數碼管為6為的,有三個按鍵接在P0上。

按照你的要求寫的程序如下,你拿去測試吧!

#include"REG52.H"

sbitSHUG_01=P2^0; //數碼管1

sbitSHUG_02=P2^1; //數碼管2

sbitSHUG_03=P2^2; //數碼管3

sbitSHUG_04=P2^3; //數碼管4

sbitSHUG_05=P2^4; //數碼管5

sbitSHUG_06=P2^5; //數碼管6


sbit KEY0_01=P0^0; //按鍵 啟動或停止

sbit KEY0_02=P0^1; //按鍵 加

sbit KEY0_03=P0^2; //按鍵減


#define LED_DATA P1 //P1數據埠

unsignedcharvalue_temp=0;

unsignedcharvalue_shio=23;

unsignedcharvalue_feno=59;

unsignedcharvalue_miao=59;


unsignedcharcode value_tab0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽極

unsignedcharcode value_tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//共陽極

/*

*延時1ms延時子函數

**/

voidDelay_1ms(unsignedintTime)

{

unsignedintx,y;

for(x=Time;x>0;x--)

for(y=120;y>0;y--);

}


/*

*按鍵開關【啟動和停止】子函數

**/

voidScan_keyoutCmd(void)

{

if(KEY0_01==0)

{

Delay_1ms(10);

if(KEY0_01==0)

{

TR0=~TR0;

}

while(KEY0_01==0);

}


if(KEY0_02==0)

{

Delay_1ms(10);

if(KEY0_02==0)

{

value_miao--;

if(value_miao==-1)

{

value_feno--;

value_miao=59;

if(value_feno==0)

{

value_shio--;

value_feno=59;

if(value_shio==0)

{

value_shio=23;

}

}

}

while(KEY0_02==0);

}

}


if(KEY0_03==0)

{

Delay_1ms(10);

if(KEY0_03==0)

{

value_miao++;

if(value_miao==60)

{

value_miao=0;

value_feno++;

if(value_feno==60)

{

value_feno=0;

value_shio++;

if(value_shio==24)

{

value_shio=0;

}

}

}

while(KEY0_03==0); //檢測鬆手

}

}

}


/*

*程序運行【啟動和停止】子函數

**/

voidDisp_layledketCmd(void)

{

/***小時***/

SHUG_01=1;

LED_DATA=value_tab0[value_shio/10]; /*******小時的十位數顯示***************/

Delay_1ms(5);

SHUG_01=0;

SHUG_02=1;

LED_DATA=value_tab1[value_shio%10]; /*******小時的個位數顯示***************/

Delay_1ms(5);

SHUG_02=0;


/***分鍾***/

SHUG_03=1;

LED_DATA=value_tab0[value_feno/10]; /*******分鍾的十位數顯示***************/

Delay_1ms(5);

SHUG_03=0;

SHUG_04=1;

LED_DATA=value_tab1[value_feno%10]; /*******分鍾的個位數顯示***************/

Delay_1ms(5);

SHUG_04=0;


/***秒鍾***/

SHUG_05=1;

LED_DATA=value_tab0[value_miao/10]; /*******秒鍾的十位數顯示***************/

Delay_1ms(5);

SHUG_05=0;

SHUG_06=1;

LED_DATA=value_tab0[value_miao%10]; /*******秒鍾的個位數顯示***************/

Delay_1ms(5);

SHUG_06=0;

}


voidTero_Init(void)

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

TR0=1;

EA=1;

}


/*

*函數主體

**/

intmain(void)

{

P1=P2=P3=0x00;

Tero_Init();

while(1)

{

Scan_keyoutCmd();

Disp_layledketCmd(); //執行應運程序

}

}


/*

*定時器中斷服務程序

**/

voidTmero()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

value_temp++;

if(value_temp==20)

{

value_temp=0;

value_miao--;

if(value_miao==0)

{

value_feno--;

value_miao=59;

if(value_feno==0)

{

value_shio--;

value_feno=59;

if(value_shio==0)

{

value_shio=23;

}

}


}

}

}

㈥ keil4創建51單片機工程用什麼語言寫

C語言。keil4創建51單片機工程用C語言寫,建立工程,選取所用單片機具體型號,在引導下建立完成工程 選擇C語言編程,建立模板,即可開始,寫C語言代碼。

閱讀全文

與用keil編程c語言做單片機相關的資料

熱點內容
6s怎麼外接u盤需要什麼app 瀏覽:131
linux查看文件許可權命令 瀏覽:685
安卓手游存檔怎麼用 瀏覽:761
linuxyum安裝ftp 瀏覽:690
村委會主任可以推行政命令嗎 瀏覽:102
電腦文件夾封面多張圖片 瀏覽:263
網吧總伺服器叫什麼 瀏覽:922
多個演算法解決同一個問題 瀏覽:455
小車解壓後我的購車發票呢 瀏覽:977
做app開發用什麼雲伺服器 瀏覽:177
linux網卡子介面 瀏覽:985
21歲職高畢業學程序員怎麼學 瀏覽:321
vs如何對單個文件編譯 瀏覽:6
為什麼有的電腦不能安裝python 瀏覽:75
金蝶迷你版加密狗檢測到過期 瀏覽:186
硬體描述語言編譯結果 瀏覽:655
程序員逆天改命 瀏覽:19
金斗雲伺服器 瀏覽:447
港口工程pdf 瀏覽:770
程序設計語言pdf 瀏覽:434