用户登录
用户注册

分享至

51单片机c语言编程软件

  • 作者: 空巢老人-
  • 来源: 51数据库
  • 2020-04-15

51单片机c语言编程软件

学习51单片机时用什么软件编写程序代码啊

51单片机是Keil 软件 pic单片机是MPLAB软件汇编要将编辑文件要保存为.asm为后缀的文件(c语言则是.c为后缀)avr单片机是avr studio 或iccavr软件汇编要将编辑文件要保存为.s为后缀的文件(c语言则是.c为后缀) 51单片机可以很多下载软件 将你的汇编程序 在Keil 软件中设置为:options for target 1->output->create HEX file生成hex文件 然后将这个hex文件通过下载软件下载到单片机中. 下载软件有两类:串口下载和ISP接口下载ISP接口下载软件是对应你的下载器的(一般买下载器都会给你对应的下载软件的)串口下载:STC类的51单片机可以用STC_ISP_V486.exe,但是对于Atmel类的就不行微机原理的上机课都是在DOS下输入EDIT XX.ASM后编写的,单片机也是这样吗?单片机不是这样的 因为微机机器码和单片机机器码是不一样的所以单片机需要在windows下用对应的软件生成单片机的机器码 在单片机中才能运行啊祝你学习进步...

51单片机 C语言编程

首先要明确单片机的端口名称一般都是规定好了的(参考该单片机的datasheet);其次,要给某个端口赋值(1或0),还是给端口组(8位单片机一个组八个脚)赋值,这就是按位操作还是按字节操作的问题。

例如:单片机有PA口,PB口,其中PA口有PA0~PA7八个脚,拉高PA口(PA = 0XFF;),拉高PA0脚(PA &=0X01;或者PA0 = 1; )。

当然有些单片机是通过读写IO口输入输出寄存器来实现的。

再者,RTX,TDX两个脚应该是通信的脚,与通用IO口为复用的脚,要怎么用,怎么发送数据、接收数据就涉及到通信协议了,不同通信方式,工作方式就不一样了,具体(参考该单片机的datasheet)。

建议先仔细阅读单片机的datasheet和该单片机的编程指南(如果有的话)希望能解决你的疑问

51单片机C语言程序大小

52单片机也只有8K的ROM.14K的程序太大了,只有加外部ROM了。

不是因为C语言的程序太大了,如果是破解了KEIL编译器之后,可以编译无穷大的软件,没有破解只能编译2K,

我想学单片机编程,应该用什么软件啊?

展开全部 1、学习单片机最好从51系列开始2、过去普遍采用汇编,但建议用目前普遍的C语言3、开发环境用KEIL C4、会C不一定会开发单片机,况且单片机C语言与标准的ANSI C尚有一定区别5、掌握单片机原理是必要的,了解一些模拟元器件和集成电路也是有必要的你可以参考我空间的一些文章。

...

51单片机C语言编程

展开全部 《平凡的单片机教程》网络有电子版的;《51单片机应用》清华大学,杨欣;《8051_8098单片机原理及接口设计》; 《单片机的C语言应用程序设计》(第3版)北京航空航天大学出版社 马忠梅 籍顺心 张凯 马岩;本书是针对目前最通用的单片机8051和最流行的程序设计语言——C语言,以KEIL公司最新版本8051单片机开发套件讲解单片机的C语言应用程序设计的教材。

该套件的编译器有支持经典8051及8051派生产品的版本,统称为Cx51。

Windows集成开发环境uVision2把uVision1用的模拟调试器dScope与集成环境无缝结合起来,使用更方便,支持的单片机品种更多。

全书共十三章,既有单片机的基础部分,即Cx51的基础部分:数据与运算、流程控制语句、构造数据类型及函数与程序结构;又有Cx51的应用部分:内部资源、扩展资源、输出控制,数据采集、机间通信及人机交互的C编程。

本书还对软件工程推崇的模块化编程技术有所阐述,还特别为实时控制的精确定时讲述了与汇编语言的混合编程技术。

本书各章均配备了足够数量的习题,可供师生选用。

本书的特点是取材于最新原文资料,总结实际教学和应用经验,实例较多,实用性强。

本书中C语言是针对8051特有结构描述的,这样,即使是无编程基础的人,也可通过本书学习单片机的C编程。

本书可作大专院校师生、培训班师生和全国大学生电子设计竞赛的教材,也可作从事单片机应用的技术人员的参考用书。

本书是针对目前最通用的单片机8051和最流行的程序设计语言——C语言,以KEIL公司最新版本8051单片机开发套件讲解单片机的C语言应用程序设计的教材。

该套件的编译器有支持经典8051及8051派生产品的版本,统称为Cx51。

Windows集成开发环境uVision2把uVision1用的模拟调试器dScope与集成环境无缝结合起来,使用更方便,支持的单片机品种更多。

全书共十三章,既有单片机的基础部分,即Cx51的基础部分:数据与运算、流程控制语句、构造数据类型及函数与程序结构;又有Cx51的应用部分:内部资源、扩展资源、输出控制,数据采集、机间通信及人机交互的C编程。

本书还对软件工程推崇的模块化编程技术有所阐述,还特别为实时控制的精确定时讲述了与汇编语言的混合编程技术。

本书各章均配备了足够数量的习题,可供师生选用。

本书的特点是取材于最新原文资料,总结实际教学和应用经验,实例较多,实用性强。

本书中C语言是针对8051特有结构描述的,这样,即使是无编程基础的人,也可通过本书学习单片机的C编程。

本书可作大专院校师生、培训班师生和全国大学生电子设计竞赛的教材,也可作从事单片机应用的技术人员的参考用书。

第一章 单片机基础知识 1.1 8051单片机的特点 1.2 8051的内部结构 1.2.1 中央处理器 1.2.2 存储器组织 1.2.3 片内并行接口 1.2.4 8051的内部资源 1.2.5 8051的芯片引脚 1.2.6 单片机的工作方式 1.3 8051的系统扩展 1.3.1 外部总线的扩展 1.3.2 外部程序存储器的扩展 1.3.3 外部数据存储器的扩展 1.4 8051指令系统 1.4.1 寻址方式 1.4.2 指令说明 1.4.3 伪指令 1.4.4 指令系统表 等等~~~~相当不错~~~邮箱发给我,我给你发“专业电子书”~~~我的QQ:474515923 我就是学自动化专业的,对单片机还算略懂!!!有意加我吧!!!相互学习!!!

51单片机求这个时钟的c语言程序

展开全部 以下是四位数码管可调时带秒闪烁的c51单片机电子钟程序(c语言)。

/**** 本程序中,晶振为12MHz, ****//**** 时间控制采用定时中断控制方式。

****//**** 模式和时间调整采用查询方式。

****/#includesbit P20=P2^0; //分个位控制端sbit P21=P2^1; //分十位控制端sbit P22=P2^2; //时个位控制端sbit P23=P2^3; //时十位控制端sbit led=P2^7; //second display ledsbit key0=P3^0; //模式设置sbit key1=P3^1; //加sbit key2=P3^2; //减unsigned char hour,min,sec,T50ms;unsigned char modstate; //模式状态unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//段码void init(); //初始化子程序声明void delay500us(unsigned char X); //延时子程序声明void display(); //显示子程序声明void display001(); //显示子程序声明void display002(); //显示子程序声明void keyscan(); //按键识别子程序声明void main(){init();while(1){keyscan();}}void init() //初始化子程序{TMOD=0x01;TH0=(65536-49990)/256;TL0=(65536-49990)%256;ET0=1;EA=1;TR0=1;}void delay500us(unsigned char X){unsigned char i,j;for(i=X;i>0;i--)for(j=248;j>0;j--);}void timer0() interrupt 1 //timer0中断服务子程序,定时时间为50ms,本程序加了10us的时间修正量{TMOD=0x01;TH0=(65536-49990)/256;TL0=(65536-49990)%256;T50ms++;if(T50ms>=20){T50ms=0;sec++;if(sec>=60){sec=0;min++;if(min>=60){min=0;hour++;if(hour>=24)hour=0;}}}}void display(){P20=1;P21=1;P22=1;P23=1;P0=table[hour/10];P23=0;delay500us(5);P20=1;P21=1;P22=1;P23=1;P0=table[hour%10];P22=0;delay500us(5);P20=1;P21=1;P22=1;P23=1;P0=table[min/10];P21=0;delay500us(5);P20=1;P21=1;P22=1;P23=1;P0=table[min%10];P20=0;delay500us(5);if(T50ms10)led=1;}void display001(){P20=1;P21=1;P22=1;P23=1;P0=table[hour/10];P23=0;delay500us(10);P20=1;P21=1;P22=1;P23=1;P0=table[hour%10];P22=0;delay500us(10);}void display002(){P20=1;P21=1;P22=1;P23=1;P0=table[min/10];P21=0;delay500us(10);P20=1;P21=1;P22=1;P23=1;P0=table[min%10];P20=0;delay500us(10);}void keyscan() //按键识别钟程序{while(modstate==0){display();if(key0==0){display();if(key0==0)modstate++; //这两句加在一起为延时10ms软件防抖设计。

while(key0==0)display001(); //等待按键释放。

}}//****************************************************************************//while(modstate==1){display001();if(key0==0){display001();if(key0==0)modstate++; //这两句加在一起为延时10ms软件防抖设计。

while(key0==0)display002(); //等待按键释放。

}if(key1==0){display001();if(key1==0){hour++;if(hour>=24)hour=0;while(key1==0)display001();}}if(key2==0){display001();if(key2==0){hour--;if(hour>=24)hour=0;while(key2==0)display001();}}}//****************************************************************************//while(modstate==2){display002();if(key0==0){display002();if(key0==0)modstate=0; //这两句加在一起为延时10ms软件防抖设计。

while(key0==0)display(); //等待按键释放。

}if(key1==0){display002();if(key1==0){min++;if(min>=60)min=0;while(key1==0)display002();}}if(key2==0){display002();if(key2==0){min--;if(min>=60)min=0;while(key2==0)display002();}}}}

转载请注明出处51数据库 » 51单片机c语言编程软件

软件
前端设计
程序设计
Java相关