一、c51系统概念?
C51系统继承于C语言,主要运行于51内核的单片机平台。单片机,单片微型计算机器(SingleChipMicrocomputer)的简称,又称微控制单元(MicroControllerUnit,MCU)。MCU由CPU、RAM、ROM、I/O、中断系统、晶振等组成。51内核的单片机都是8位的,因为数据I/O是8位的,但是地址总线是16位的。基于51内核的单片机有很多种,如8051、80515等。
二、C51函数定义?
虽然C语言的编译器会自带标准的常用函数库,这些函数在使用时无须定义(但要说明)就可以直接调用,EPL2014-152MLC但是标准的函数不足以满足使用者的特殊要求,因此C51允许使用者根据自身需要编写特定功能的函数氵函数定义的形式如下:
函数返回值类型函数名(形式参数)
数返回值其实就是一个变量,只要按变量类型来定义函数类型就行。函数体返回值的类型一定要和函数类型一致,否则会造成错误。如果函数不需要返回值,应用关键宇“恂d”明确表示。
函数名的定义在遵循C语言变量命名规则的同时,不能在同一程序中定义同名的函数。形式参数是指调用函数时要传入到函数体内参与运算的变量,它可以有多个或没有,没有形式参数时括号内为空,但括号不能少。
数体中能包含局部变量的定义和程序语旬,若函数要返回运算值,则要使用rctum语句进行返回。
在函数体O中可以没有任何语句的函数,称为空函数。在一个程序项目中能写一些空函数,在以后的修改和升级中能方便地利用这些空函数中进行功能扩展。
上一篇:C51的函数
三、c51芯片功能?
c51单片机包含的主要功能部件包括:CPU、RAM、ROM、I/O口、T/C、中断源的中断控制系统和全双工UART(通用异步接收发送器)的串行I/O口。
其中:
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式。
四、c51编程开发步骤?
第一步:新建工程
点击【project】----点击【new project】
1、起名称,选择保存路径
2、选择单片机型号【Atmel】----【at89c51】
第二步:新建文件
点击【file】----点击【new】
1、起名称.c
2、选择保存路径
第三步:文件添加到工程
右击【source group1】----选择【add files to group ‘source grpup1’】
第四步:设置工程属性
点击【project】----选择【options for group ‘source group1’】
1、改写晶振的频率(根据电路板实际晶振的频率)【Target】----【Xtal】
2、选择产生hex文件【output】----【create hex file】
第五步:编写程序
改变程序编辑器界面的方法,点击【view】----选择【options】---
点击【colors&fonts】标签---选择【editor c files】
第六步:编译文件
点击【project】----选择【options Rebuild all target files】
第七步:下载hex文件到单片机
1、打开烧录软件(STC-ISP软件)
2、选择单片机型号
3、选择要下载的hex文件
4、设置通信端口(comx)
5、点击【下载/编程】按钮
五、c51芯片电路原理?
引脚排列及功能AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线 P0口 8位、漏极开路的双向I/O口。当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。P1口 8位、准双向I/O口,具有内部上拉电阻。P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。
六、c51结构体定义?
c51结构体是自定义的数据类型,表示的是一种数据类型
结构体变量代表一个具体变量
struct Cat cat1; Cat是结构体数据类型,cat1 是一个Cat变量
Cat就像一个“模板”,定义出来的结构体变量都含有相同的成员,也可以将结构体比作“图纸”,将结构体比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的。
七、c51函数的定义?
C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容,具体如下:在程序开始处对ACC、B、DPH、DPL和PSW入栈,结束时出栈。
中断函数未加using n修饰符的,开始时还要将R0~R1入栈,结束时出栈。
如中断函数加using n修饰符,则在开始将PSW入栈后还要修改PSW中的工作寄存器组选择位。
八、keil c51端口定义?
CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果;
ROM:用以存放程序,一些原始数据及表格;
I/O口:四个8位并行I/O口,即可用作输入,也可用作输出;
T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式;
九、c51实现断电保护?
需要用到EEPROM存储好数据.因为单片机复位以后RAM里面的数据会初始化为0,而且程序是从地址0开始执行,而不能在你停电那个地方接着执行.所以,你可以把准备亮的灯的数据写入EEPROM,那么停电的时候就保存了上一次亮的.下次开机取出的是EEPROM里面最后保存的数据,就是从第三个灯开始亮了.
十、串口发送c51编程?
我只能给你子程序,仅供参考IE=0x90; //打开中断总开关及串口中断SCON=0x50; //设定串行口工作方式1,允许接收TMOD=0x20; //设定时器1,自动装载,产生破特率TH1=0xfd; //破特率为9600TR1=1; //启动定时器1PCON=0x80; //定义SMOD,发送while(RI==0) //RI==1;{ ; //等待数据发送完毕}RI=0; //手动清零发送void disf(unsigned int y){ unsigned char i; DAT[3]=y%10; // ===7 DAT[2]=(y/10)%10; //==8 DAT[1]=(y/100)%10; //==9 DAT[0]=y/1000; //=1 for(i=0;i