㈠ 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語言代碼。