51单片机
文章平均质量分 79
>行者<
这个作者很懒,什么都没留下…
展开
-
51单片机 bit定义标志位无效原因
我的51程序中用到了位定义:bit flag;这样定义后,运行程序,下载到电路板上,发现flag根本不是按照自己设定的值,导致函数判断错误;后来查找到了原因将keil中options中 target中 Memory Mode中要选择下图那两种方式才行;设置好后运行程序到电路板,果然成功正确运行了;原因:之前设置成 Small:in DATA了,因为bit变量是位可寻址变量,而在51单片原创 2017-05-20 15:54:09 · 5063 阅读 · 0 评论 -
sprintf在51单片机中转换字符出错问题解决
sprintf是C语言库中具有转换数据类型的功能函数,出现一种情况,在51单片机中,定义unsigned char temp;然后 想用串口直接把temp 以十进制数是、形式打印出来,是先这样转换的 sprintf((char*)tem,"%d",temp);即先把temp转换成十进制数字符tem,然后再通过串口输出tem,然而串口输出的竟然有乱码,而且和temp的值也不对应;查原创 2017-07-01 18:10:42 · 4648 阅读 · 3 评论 -
KEIL5 for arm 软件编译Keil4 C51程序的方法
通常大家用KEIL5 编译stm32程序,keil4编译C51程序,两个软件不能同时支持stm32和C51程序的编译,造成许多不便。从网上搜索到网友提供的方法并操作,发现只要将keil5设置下就可以实现同时支持stm32和C51编译的功能,操作方法如下:首先你要安装好keil5 for arm并破解后,然后把安装目录下TOOLS.INI 文件里面添加红字内容[UV2]CDB0=原创 2017-07-19 16:40:41 · 6262 阅读 · 1 评论 -
单片机 利用C语言产生正弦波DA数据
通过改变单片机的DA输出电压,可以得到各种各样的电压波形输出,下面介绍下产生正弦波形需送DA的数据是如何计算的。 首先既然是正弦波,那么就要确定要输出一个周期正弦波的采样点数point,即由多少点组成了一周期的正弦波,还要知道单片机输出DA的数字值maxnum是多少,比如8位DA,maxnum=256。10位DA,maxnum=1024。 知道以上两个值后,就开原创 2017-08-31 13:48:26 · 26785 阅读 · 13 评论 -
NRF24L01无线模块六通道数据收发实现---关键参数配置说明
做一个设计,需要一个无线主机负责接收数据,六个无线从机负责采集温度数据,并将数据发送至主机;数据传输方案有两种:1.轮询式,即主机轮询给各从机发送查询指令,收到指令的从机会将温度数据发送至主机,主机接收到该从机数据或超时未收到,则向下一个从机发送查询指令,直到查询完毕; 缺点:对主机采集数据频率高的不适用,这种采集方式花费时间较长,适合从机较少的系统中;2.不同通道传输,各通道互不原创 2017-08-31 15:49:13 · 3807 阅读 · 2 评论