导航:首页 > 操作系统 > 用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语言做单片机相关的资料

热点内容
c语言农历算法 浏览:325
32位单片机语言 浏览:977
安卓全服是什么意思 浏览:145
程序员那么可爱陆漓和姜逸城吻戏 浏览:802
android获取窗口大小 浏览:180
程序员为世界带来的贡献 浏览:214
程序员招聘自荐信 浏览:693
魔兽键位设置命令宏 浏览:645
程序员没有目标了 浏览:828
抢答器c程序编程 浏览:703
什么app可以自己玩 浏览:76
刨客app是什么 浏览:963
cad输入命令栏不见了 浏览:834
做故事集可以用什么app 浏览:692
qq邮箱发送压缩包 浏览:672
程序员桌面机器人 浏览:589
xjr快速开发平台源码 浏览:159
java接口runnable 浏览:31
python怎么运行web服务器 浏览:349
notepad编程代码 浏览:740