㈠ 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语言代码。