导航:首页 > 操作系统 > 单片机键位编辑软件

单片机键位编辑软件

发布时间:2022-05-23 23:19:12

单片机编程运用哪些软件

如果只要求编程,用任何
文本编辑器
就可以了。但是要编译的话还得另外软件,如keil,C和汇编的都
可以,中介汇编的话用proteus更方便,可以集编辑、编译、调试和仿真一条龙进行。

❷ 51单片机编程软件是什么

编译器:ATMEL一般为keil,其他厂商使用它们自己推荐的编译器。
代码编辑工具:UE等,这个看使用习惯,现在的编译器一般自带代码编辑的功能但一般功能较弱。
仿真工具:proteus 仿真单片机的一个软件,用用即可,bug比较多。
最好弄个开发板,加一套下载工具,然后就可以开始编程了。

❸ 单片机编程用什么软件

keil最流行....我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
目前最新的版本是keil uv3,可下载破解版本,否则有容量限制。

❹ 目前的单片机,主流编程软件有那些

不同单片机一般都使用不同的编译器,没有什么主流编译器。如果你只是编辑软件代码的话,可以使用UltraEdit等。

❺ 编写单片机程序用什么软件好点!

编写单片机程序用什么软件好点:
1,KEIL软件不错,但一般作编译使用,编写代码往往用ultraedit
2,iar也很不错,比KEIL好用,但一般作编译使用,编写代码往往用ultraedit
3,此外,还有专门软件如瑞萨单片机renesas,编译和编写都很不错!

❻ 单片机用什么软件编程

1.keil c51编程软件 可以这么说,凡是搞单片机的,几乎没有人不知道51单片机,而51单片机使用最广泛的编程软件是keil c51。既然用的人多,那么关于keil c51的使用教程、使用方法、技巧这类资料...
2.IAR编程软件 IAR软件应该是目前支持单片机种类最多的一款软件了,几乎支持所有的主流单片机。 但是针对某一款具体的单片机,IAR都有一个单独的安装包,所以,名义上IAR支持的单片机种类最多

❼ 对单片机编程要用什么软件

keil最流行

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
目前最新的版本是keil uv3,可下载破解版本,否则有容量限制。

❽ 急救!!!各位兄弟姐妹们谁懂单片机编程啊,帮帮我啊!用单片机编辑一个数字钟的程序啊,要求如下:

给你一个我用液晶屏12864写的程序,一个是功能键,按照顺序按一下是第一位跳动,接下再按就是第二位,一次类推。第二个按键是控制加,第三个按键是控制减,你的数码管和这个很类似,比这个还简单,在这你也没有要求数码管是怎么接的。你可以参考的。
#include<reg52.h>
#include<chushihua.h> //12864的初始化函数;
char gwnian,nian,yue,ri,xq,shi,fen,miao;
sbit DQ =P3^5; //定义DS18B20通信端口
sbit led_en_port = P2^5; /*发光二极管寄存器LE引脚*/
sbit sled_en_port = P3^6; /*数码管寄存器LE引脚*/
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
uchar code mun_to_char[] = {"0123456789"}; /*数字转换为ASCII字符码*/
uchar table[]={"制作人:"};
uchar table2[]={"2009年11月28日晚"};
uchar table1[]={"江向阳"};
uchar table31[]={"年"};
uchar table32[]={"月"};
uchar table33[]={"日"};
uchar table4[]={"星期"};
uchar table51[]={"时"};
uchar table52[]={"分"};
uchar table53[]={"秒"};
uchar table6[]={"当前温度:20.3"};
//uchar table61[]={"??度"};
uchar xq1[]={"一"};
uchar xq2[]={"二"};
uchar xq3[]={"叁"};
uchar xq4[]={"四"};
uchar xq5[]={"五"};
uchar xq6[]={"六"};
uchar xq7[]={"日"};

/***************写星期函数*******************/
write_xq(uchar z)
{
uchar num;
write_com(0x90+5);
switch(z)
{
case 1: for(num=0;num<2;num++)
{
write_date(xq1[num]);
delay(1);
}
break;
case 2: for(num=0;num<2;num++)
{
write_date(xq2[num]);
delay(1);
}
break;
case 3: for(num=0;num<2;num++)
{
write_date(xq3[num]);
delay(1);
}
break;
case 4: for(num=0;num<2;num++)
{
write_date(xq4[num]);
delay(1);
}
break;
case 5: for(num=0;num<2;num++)
{
write_date(xq5[num]);
delay(1);
}
break;
case 6: for(num=0;num<2;num++)
{
write_date(xq6[num]);
delay(1);
}
break;
case 7: for(num=0;num<2;num++)
{
write_date(xq7[num]);
delay(1);
}
break;
}
}

/*************写年月日函数**************/
void write_nyr(uchar date,uchar add)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x80+add);
write_date(0x30+shi);
write_date(0x30+ge);
}

/*************写时分秒函数**************/
void write_sfm(uchar date,uchar add)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(0x30+shi);
write_date(0x30+ge);
}

/*****************键盘扫描*****************/
void keyscan()
{
uchar keynum;
if(key1==0)
{
delay(5);
if(key1==0)
{
while(!key1);
delay(5);
while(!key1);
keynum++;
TR0=0;
if(keynum==1)
{
//TR0=0;
write_com(0x8D);
write_com(0x0f);

}
if(keynum==2)
{
//TR0=0;
write_com(0x8B);
write_com(0x0f);
}
if(keynum==3)
{
//TR0=0;
write_com(0x89);
write_com(0x0f);
}
if(keynum==4)
{
//TR0=1;
write_com(0x95);
write_com(0x0f);
}
if(keynum==5)
{
//TR0=1;
write_com(0x85);
write_com(0x0f);
}
if(keynum==6)
{
//TR0=1;
write_com(0x83);
write_com(0x0f);
}
if(keynum==7)
{
//TR0=1;
write_com(0x81);
write_com(0x0f);
}
if(keynum==8)
{
//TR0=1;
write_com(0x80);
write_com(0x0f);
}
if(keynum==9)
{
TR0=1;
keynum=0;
//write_com(0x95);
write_com(0x0c);
}
}
}
if(keynum==1)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
miao++;
if(miao==60)
miao=0;
write_sfm(miao,5);
write_com(0x8D);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
miao--;
if(miao==-1)
miao=59;
write_sfm(miao,5);
write_com(0x8D);
}
}
}
if(keynum==2)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
fen++;
if(fen==60)
fen=0;
write_sfm(fen,3);
write_com(0x8B);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
fen--;
if(fen==-1)
fen=59;
write_sfm(fen,3);
write_com(0x8B);
}
}
}
if(keynum==3)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
shi++;
if(shi==24)
shi=0;
write_sfm(shi,1);
write_com(0x89);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
shi--;
if(shi==-1)
shi=23;
write_sfm(shi,1);
write_com(0x89);
}
}
}
if(keynum==4)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
xq++;
if(xq==8)
xq=1;
write_xq(xq);
write_com(0x95);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
xq--;
if(xq==0)
xq=7;
write_xq(xq);
write_com(0x95);
}
}
}
if(keynum==5)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
ri++;
if(ri==31)
ri=1;
write_nyr(ri,5);
write_com(0x85);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
ri--;
if(ri==0)
ri=30;
write_nyr(ri,5);
write_com(0x85);
}
}
}
if(keynum==6)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
yue++;
if(yue==13)
yue=1;
write_nyr(yue,3);
write_com(0x83);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
yue--;
if(yue==0)
yue=12;
write_nyr(yue,3);
write_com(0x83);
}
}
}
if(keynum==7)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
nian++;
if(nian==100)
nian=0;;
write_nyr(nian,1);
write_com(0x81);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
nian--;
if(nian==-1)
nian=99;
write_nyr(nian,1);
write_com(0x81);
}
}
}
if(keynum==8)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
gwnian++;
if(gwnian==100)
gwnian=0;
write_nyr(gwnian,0);
write_com(0x80);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
gwnian--;
if(gwnian==-1)
gwnian=99;
write_nyr(gwnian,0);
write_com(0x80);
}
}
}
}

/************主函数********************/
void main()
{
uint num;
led_en_port = 0;/*关闭发光二极管显示*/
sled_en_port = 0;/*关闭数码管显示*/
gwnian=20;
nian=9;
yue=11;
ri=28;
xq=6;
shi=23;
fen=58;
miao=45;
init(); //12864液晶初始化;

write_com(0x80);//设置初始显示的坐标;
for(num=0;num<8;num++) /******在第一行显示制作人*******/
{
write_date(table[num]);
delay(100);
}
write_com(0x93); //第二行的初始坐标;
for(num=0;num<6;num++) /**********在第二行显示江向阳*******/
{
write_date(table1[num]);
delay(100);
}
write_com(0x88);//第三行的初始坐标
for(num=0;num<16;num++) /******在第三行显示制作时间*******/
{
write_date(table2[num]);
delay(100);
}
for(num=50;num>0;num--) ///延时,第一屏的显示时间 ;
delay(50000);
TMOD=0x01; //定时器0工作方式1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=0X01;
ET0=0X01;
TR0=0X01;
write_com(0x01);//清屏;
// delay(5);
// write_com(0x01);
write_com(0x80); //写入初始的年月日数据(2009-11-28);
write_date('2');
write_date('0');
write_date('0');
write_date('9');
write_com(0x83);
write_date('1');
write_date('1');
write_com(0x85);
write_date('2');
write_date('8');
write_com(0x95);
for(num=0;num<2;num++) //写入星期函数(周六);
{
write_date(xq6[num]);
}
write_com(0x89); //写入初始的时分秒函数(23:58:45);
write_date('2');
write_date('3');
write_com(0x8B);
write_date('5');
write_date('8');
write_com(0x8D);
write_date('4');
write_date('5');
write_com(0x82);
for(num=0;num<2;num++) //固定显示‘年’
{
write_date(table31[num]);
delay(1);
}
write_com(0x84);
for(num=0;num<2;num++) //固定显示‘月’
{
write_date(table32[num]);
delay(1);
}
write_com(0x86); //固定显示‘日’
for(num=0;num<2;num++)
{
write_date(table33[num]);
delay(1);
}
write_com(0x92); //固定显示‘星期’
for(num=0;num<4;num++)
{
write_date(table4[num]);
delay(1);
}
write_com(0x8A); //固定显示'时'
for(num=0;num<2;num++)
{
write_date(table51[num]);
delay(1);
}
write_com(0x8C); //固定显示'分'
for(num=0;num<2;num++)
{
write_date(table52[num]);
delay(1);
}
write_com(0x8E); //固定显示'秒'
for(num=0;num<2;num++)
{
write_date(table53[num]);
delay(1);
}
write_com(0x98); //固定显示'当前温度:20.3'
for(num=0;num<14;num++)
{
write_date(table6[num]);
delay(1);
}

/***************显示温度字符命令****************/
write_com(0x64); //开启扩展指令显示;
write_com(0x9f); //设置显示地址 ;
write_date(0xA1); //显示的字符编码地址;
write_date(0xE6);
write_com(0x66); //关闭扩展功能;

while(1)
{
keyscan;
}
}
void timer0() interrupt 1
{
uchar count;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==18)
{
count=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
{
shi=0;
ri++;
xq++;
if(xq==8)
{
xq=1;
}
if(ri==31)
{
ri=1;
yue++;
if(yue==13)
{
yue=1;
nian++;
if(nian==100)
{
nian=0;
gwnian++;
if(gwnian==100)
gwnian=0;
write_nyr(gwnian,0);
}
write_nyr(nian,1);
}
write_nyr(yue,3);
}
write_xq(xq);
write_nyr(ri,5);
}
write_sfm(shi,1);
}
write_sfm(fen,3);
}
write_sfm(miao,5);
}

}

❾ 单片机程序编写,调试常用的软件有哪些

不同的型号的单片机需要不同的开发软件。我们以80C51系列
单片机程序的编写不需要任何特殊的软件,只要是文本编缉软件就可以了,如WINDOWS自带的记事本,WORD等,不过这些软件编写并不方便,有一些更好的文本编缉器可供选择,如UltraEdit,PE2等。当然,人们最常用的还是使用开发软件自带的编缉器来进行编写。以80C51系列单片机为例,最为流行的软件是Keil软件。Keil软件是一款综合开发工具,内置了编缉器,ASM汇编器,C51编译器,调试器等部分。

学习单片机还需要单片机开发板,最好是视频教程详细的,比如吴鉴鹰单片机开发板就不错
单片机学习可以到吴鉴鹰吧交流,资料来源吴鉴鹰吧

❿ 51单片机编程软件有哪些

开源软件mcu8051ide 功能不是一般的强,界面不输给商业软件,而且提供多种模拟器件如:led 数码管,矩阵数码管(8×8)按键,矩阵按键,甚至温度传感器。开源的没有任何限制,感觉keil uvision弱爆了

阅读全文

与单片机键位编辑软件相关的资料

热点内容
服务器托管到云端是什么意思 浏览:833
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:143
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:705
京东app客户上门怎么看搜索量 浏览:739
怎么在农行app购买黄金 浏览:45
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904
无锡代码编程培训班 浏览:631
eps图形数据加密 浏览:933
没有滴滴app怎么打车 浏览:101
大数乘法java 浏览:1002
如何登录服务器看源码 浏览:526
如何做服务器端 浏览:157
注册服务器地址指什么 浏览:435
文本命令行 浏览:98
扑克牌睡眠解压 浏览:197
rc4算法流程图 浏览:163
胡萝卜解压方法 浏览:40