1. 51单片机自定义头文件
1.定义的变量不要太多。低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过*.M51可以查看内存变量的存放,最好不要超过110个字节,否则程序无法运行或出错。
2.如一个变量多处使用可定义为全局变量。例如循环变量i、j,尽量减少参数传递。
3.静态变量最好放在程序存储区,用code定义。
4.变量应定义为无符号数,像标志位等仅占一位的变量应定义为bit。
5.子程序在main()主程序之后的应事先声明,放在前面的不用声明。
6.变量、子程序定义但没使用,系统给出警告。
7.虽然局部变量和全局变量不同名,但运行时可能被全局变量改变。
8.程序在编译后,有可能产生非常大的文件。比如原来5k,编译后变成10k,这是C汇编时程序空间分配太随意造成的。可首先屏蔽一部分程序编译,然后再去屏蔽再编译,可恢复,或一部分一部分复制到另一个文件中编译。
9.如产生脉冲信号用到定时器,要去掉脉冲信号时,应先关定时器,再按要求把电平置为高电平或低电平。
10.可使用软件实现“看门狗”功能。比如:一个程序运行一个循环需要50ms,则定时器可定位100ms,当超过100ms时,程序将复位,在程序循环最下面都重装定时器或重置定时器参数。
11.为了提高所求值的精度,可多次测量,然后排序,去掉最大值和最小值,求平均值,或直接求平均值。
12.可使用一个定时器进行多个定时。一般来说,两个定时器对大一点的程序就不够用了,假如几个定时时间分别为10ms、200us、50ms,则定时值可定位200us,另设两个变量即可。在需要多个定时时,找到他们的最小公约数定时即可。
13.我们往单片机中写程序时,写的是*.hex,不要被它的大小所迷惑,对于8k的单片机,小于20k的程序都可写进去。
2. 52单片机的头文件
性价比高,价格低,资源丰富
3. 51单片机接口定义
51单片机的P0口没有上位接口。这是一种双向8位三态的I/O口,每个口可以独立控制。因为这类引脚的内部没有上位电阻,一般为高阻状态,不能正常输出高/低电平,所以在使用的时候,我们要外接上拉电阻,一般选择接入10千欧的上拉电阻。
4. 51单片机文件后缀
51单片机可执行文件的扩展名是.HEX,或.BⅠN,现行51单片机编程平在程序编译之后生成的都是.HEX文件,但在程序烧录过程中,下载工具会将hex文件转换为bin格式写入单片机。
Hex文件何bin文件的主要区别是前者带有地址码,而bin文件全是指令代码,沒有地址码。
5. 51单片机如何添加头文件
C语言中没有nop函数,该函数是在51单片机中使用的延时函数,延时一个指令周期,一般包含在intrins.h头文件中。
6. 51单片机定义引脚
引脚是通用的,两者区别在于存储空间不同。
7. 51常用头文件
1、可以登录别人的51账号,通过网盘直接下载保存到本地。
2、如果陌生人的51网盘,可以让其提供网盘文件分享,通过分享的网址下载。 【知识拓展】: 51网盘(又名:51咕咕网盘)是全球领先的免费云存储、云计算、云分享网络硬盘服务商。可以轻松搜索网盘资源、进行网盘数据提取,快速下载及分享网盘文件,秒速转存资源文件。 还可以轻松实现大容量文件的云存储、云计算、云分享服务,网盘文件在线阅览、在线编辑保存、网盘资源共享、超大文件保存及传输,加密、保密文件传送,视频、MP4、FLV、音频、音乐、MP3等文件在线播放等功能。
8. 51单片机库函数头文件
C51语言的单片机程序由多个函数组成,其中至少要包括几个函数并不是固定的,也没有什么规定必须包括几个函数。这很自由,是根据实际需要写函数就是了,一般都 是把具有一些功能的程序写成一个独立的子函数,然后由主程序来调用。
9. 51单片机sbit定义在头文件中
1.打开编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。
2.导入51单片机的头文件,否则后续使用的端口都会出现未定义的情况,然后用位变量sbit分别定义两个按键的端口地址,这里为P1.0和P1.1两个端口
3.设定定时计数器的工作模式,这里将TMOD设置为0x01,是定时器0工作方式1,为16位定时器/计数器,然后分别设定高八位和低八位计时的时间长短,打开中断的总开关,再打开定时计数器0的分开关,再启动定时计数器0
4.此时定时器开始进行工作,可在程序中设置定时时间,当时间到时完成计数并终止程序
10. 51单片机的头文件名称是什么
头文件里面定义了51系列单片机各寄存器的地址 sbit clk= p1^0; //位定义,把p1点0 i/o口位定义成clk写程序的时候clk就代替p1^6口 往下的几个位定义都是一样的 譬如说 我写代码 clk = 1; 则单片机 的 p10引脚为高电平(有些不一样) 如果写 clk = 0; 则单片机 的 p10引脚为低电平(高电平可以简单的理解为此点电压对地线电压的值)