![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机开发
灵思致远Leansmall
国企-》外企-》事业单位-》闲时创业
展开
-
C51单片机串口初始化为何是这样:SCON=0X52;TMOD=0X20;TH1=0XF3;TR1=1;
SCON-串行口控制寄存器:可位寻址,单片机复位时,各位都被清0B7B6B5B4B3B2B1B0SM0SM1SM2RENTB8RB8TIRI SM0、SM1:串行通信方式选择位。SM0SM1工作方式功能说明波特率00方式0同步移位寄存器方式osc f /1201方式18位异步通信方式可变,由定时器控制10方式29位异步通信方式osc f /32 或osc f /6411方式39位异步通信方式可变,...转载 2018-05-12 10:52:17 · 15852 阅读 · 0 评论 -
STC12C5A60S2原版EEPROM
//STC 12C5A60S2系列单片机EEPROM/IAP 功能测试程序演示#include "reg5 1.h"#include "intrins.h"typedef unsigned char BYTE;typedef unsigned int WORD;//IAP相关端口定义sfr IAP_DATA = 0xC2; //Flash 数据寄存器sfr IAP_...转载 2018-11-20 11:08:09 · 1510 阅读 · 0 评论 -
STC12c5a60s2的EEPROM存储
#include<stc12c5a60s2.h> #include"EEPROM.h" #include"lcd1602_595.h" sbit led0=P1^0; sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; WORD i; uint dat; uchar...转载 2018-11-20 11:02:17 · 2358 阅读 · 1 评论 -
STC12C5A60S2单片机的内置EEPROM的使用
EEPROM可以用来存储一些需要在掉电以后不丢失的数据,STC12C5A60S2单片机内部有1k byte的EEPROM,2个扇区,在编程的时候注意,对于一个扇区的数据都要一起写进去,即使不改也要重新写。测试的代码:#include <STC12C5A.H>#include"intrins.h"#include<stdio.h> #d...转载 2018-11-20 10:58:52 · 3467 阅读 · 0 评论 -
sprintf()函数的用法总结
https://blog.csdn.net/u013485792/article/details/50475473sprintf()函数的程序用例:#include #includeint main(void){char buffer[80];sprintf(buffer, "An approximation of Pi is %f\n", M_PI);puts(buffer);...转载 2018-11-09 21:12:22 · 223 阅读 · 0 评论 -
在8位单片机上实现JSON数据的简单解析(单片机解析JSON)
https://blog.csdn.net/PZ0605/article/details/56017141由于在一些低配的单片机上面不能直接使用C提供的系统库,项目中又需要解析服务器返回的JSON数据,以下代码可以简单的解析出JSON数据中的key://// main.c// Test// /**************************************...转载 2018-11-09 20:47:28 · 2955 阅读 · 1 评论 -
Arduino Uno 使用TCS3200D颜色传感器 分辨颜色
TCS3200颜色传感器实验效果把色纸放在传感器2CM左右高的地方,可以检测到该物体的RGB值,然后我们通过画板可以检验出颜色是否正确在实际环境中,自然光,灯光都有其色温,白色也有不同的颜色偏差。注意测试前,第一个物体必须是白色的,因为程序先运行白平衡测试,测试后程序计算得出比例因子,之后就可以比较正确的测出其他颜色。BOM表Arduino Uno *1TSC320...转载 2018-10-27 21:58:55 · 3928 阅读 · 1 评论 -
STM32F429 使用 TCS34725 颜色传感器的驱动程序
用到了 TCS34725 颜色传感器,网上百度一圈都没有发现驱动程序,自己照着 Arduino 的程序和数据手册写了下,记录一下 (~ ̄▽ ̄)~第一步,先来看看数据手册,了解到 TCS34725 是 I²C 器件,那就好办了,根据以前写的 I²C 驱动改一改就好啦 b( ̄▽ ̄)d(具体代码贴在后边)。Communication of the TCS3472 data is accompli...转载 2018-10-27 21:56:10 · 3814 阅读 · 0 评论 -
TCS3200颜色传感器测试实验:
收藏自用,转自:http://www.eefocus.com/zhang700309/blog/13-08/296390_6c438.html TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAOS TCS3200RGB感应芯片和4个白光LED灯,TCS3200能在一定的范围内检测和测量几乎所有的可见光。它适合于色度计测量应用领域。比如彩色打印、医疗诊断、计算机彩色监视器校...转载 2018-10-27 21:54:12 · 15354 阅读 · 5 评论 -
电池-外部DC双电源供电设备电源自动切换电路分享
上期与大家分享了一个锂电池与外部电源自动切换的电路,但那个电路存在一缺点,本期继续给大家分享一个新的电路,这个电路也是在我们的产品上成熟应用的,废话不说,先上图,再慢慢道来。原理图如下:这个电路是实现外部电源与电池供电自动切换的,VBAT为电池输入,EX_POWER为外电源输入。当外部电池没有输入的时候,三极管V14基极的电压为0,三极管不导通,电池电压VBAT通过R66和R68分压...转载 2018-10-27 21:22:41 · 5245 阅读 · 1 评论 -
【单片机笔记】集USB充电、USB供电和电池供电的电源设计
原文:https://blog.csdn.net/qq997758497/article/details/79401420在小型产品上经常要用到电池供电,这样就需要给电池充电。这里记录下1S电池3.7V的充电和供电方案。先贴上原理图:来简要分析下:1、给系统供电的最终端是VCC2、单电池供电:在没有插USB的情况下P沟道MOS管的G极由于下拉电阻所以保持为低电平,此时M...转载 2018-10-27 21:16:20 · 1573 阅读 · 0 评论 -
Keil C51内存分配与优化
原文地址:Keil C51内存分配与优化 (转)作者:51大海Keil C51内存分配与优化分类: C/C++ 单片机 2012-01-06 19:10 272人阅读 评论(0) 收藏 举报 C51的内存分配不同于一般的PC,内存空间有限,采用覆盖和共享技术。在Keil编译器中,经过编译后,会形成一个M51文件,在其内部可以详细的看到内存的分配情况。C51内存常见的两个误区:(1) 变...转载 2018-05-12 16:48:12 · 1678 阅读 · 0 评论 -
51系列中data,idata,xdata,pdata的区别(转载)
原文地址:51系列中data,idata,xdata,pdata的区别(转载)作者:51大海51系列中data,idata,xdata,pdata的区别2011-05-28 12:58dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idATa: 固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相...转载 2018-05-12 16:46:33 · 675 阅读 · 0 评论 -
Keil C中startup.a51的作用【转】
原文地址:Keil C中startup.a51的作用【转】作者:51大海启动文件. 清理RAM.设置堆栈等.即执行完start.a51后跳转到.c文件的main函数.和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data xxx="100";,那startup.a51中就会有相关的赋值。如果没有=100...转载 2018-05-12 16:45:49 · 5812 阅读 · 0 评论 -
关于51单片机C编程 return语句的使用ZZ
关于51单片机C编程 return语句的使用案例:函数写法1: u8 is_timeout(tick start_time, tick interval){ return (get_diff_tick(get_tick(), start_time) > interval);}函数写法2: u8 is_timeout(tick start_time, tick interva...转载 2018-05-12 16:42:46 · 2866 阅读 · 0 评论 -
关于I2C的总结
原文地址:关于I2C的总结作者:hopeangel这两天在看I2C,为了加深印象,把我遇到的一些问题写出来吧。 1——————最先遇到的问题是AT24C02的操作时序,AT24C02内部有一个指针,指向储存空间的某一个字节,另外AT24C系列支持页操作,对于AT24C02一个页是8字节,也就是说地址的高5位是页地址,在同一次写入中,页地址不变,低3位地址一次增加,当增加到7之后再加1就变成0了,而...转载 2018-05-12 16:41:52 · 350 阅读 · 0 评论 -
I2C总线原理及应用实例
I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的...转载 2018-05-12 16:29:36 · 3087 阅读 · 0 评论 -
单片机keil编译软件怎么防止代码拼写错误?
怎么防止拼写错误?1. 认真听讲,掌握语法规则,例如:C语言的语句规则如下: (1)每个变量必须先说明后引用,变量名的大小写是有差别的。 (2)C语言程序一行可以书写多个语句,但每个语句必须以“;”结尾,一个语句也可以多行书写。 (3)C语言的注释行可由“//”引起,注释段可由“”括起。 (4)“{”必须成对,位置任意,可紧挨在函数名后,也可另起一行;多个花括号可同行书写,也可逐...原创 2018-05-12 16:24:04 · 634 阅读 · 0 评论 -
数据的加密传输——单片机上实现TEA加密解密算法
http://www.eeworld.com.cn/mcu/article_2016121632367.html各位大侠在做数据传输时,有没有考虑过把数据加密起来进行传输,若在串口或者无线中把所要传的数据加密起来,岂不是增加了通信的安全性。常用的加密解密算法比如DES、RSA等,受限于单片机的内存和运算速度,实现起来比较困难,但一种叫TEA的加密算法特别适合单片机使用。 TEA(Tiny...转载 2018-11-20 11:20:59 · 2440 阅读 · 2 评论