8051
文章平均质量分 93
与8051 核开发有关的
刻BITTER
这个作者很懒,什么都没留下…
展开
-
STC 纯硬件自动下载电路 V2
在之前那篇电路STC 纯硬件自动下载电路 - 三极管负脉冲电路 的基础上略微简化,把三极管换成了MOS 管,减少了一两个元件。原理的详细信息,比如RTS# 和DTR# 信号,参见那篇。原理主要的差别是把左边延时电路的三极管换成了MOS 管,原理还是一样的。然后就是改用一个NMOS 控制单片机的GND 来控制断电和上电,因为这么一来就可以直接把Q2 的输出连接到Q1 栅极,要是Q1 用PMOS 的话中间还得再加一个管子反相,就太蹩脚了。这么一来两个管子可以用一样的NMOS,也简化了BOM。图里用的2N7原创 2022-05-26 14:33:21 · 3065 阅读 · 10 评论 -
STC 串口下载电路 - CH340G或CH340N USB转串口以及漏电隔离
是给一个STC15W408AS 的开发板用的,带有自动下载功能,不用每次手动断电复位。USB接口部分用了经典(古老)的mini-usb 接口,因为我不喜欢micro-usb,当年手机上经常坏。type-c 的又贵又复杂,体积比mini-usb 还大。而且正好手头的Arduino nano 用的也是mini-usb。一根能用的数据线也就几毛钱。D+ 和 D- 数据线上串联的电阻说是可以提高信号质量,阻值我见过有用22、33的,似乎还有用47 的,也有干脆什么也不接。这种共阳极接法要注意两个LED 用相原创 2022-03-25 00:48:50 · 19370 阅读 · 23 评论 -
C51 实现Arduino 式的IO 引脚编号映射和统一的IO 操作 - C语言宏魔法的简单实践
也就是整一个类似wiring 的东西,给所有引脚统一的编号,可以用类似digitalWrite(0, 1) 这种方式读写引脚。好处是容易实现平台无关的库函数,比方说只要稍微改一改映射方案就可以把给STC 设计的库用到别的C51 单片机,不用直接操作寄存器了也算是个方便,而且引脚编号就是个普通数字,使用上要比sbit 灵活。原理要实现这种效果,首先要设计一个映射机制,就是当程序里写了编号0 时,可以自动把0 映射到对应的引脚寄存器。比方说如果规定0 对应P0.0,那么这个映射就要根据0 去找到P0 和0原创 2022-02-23 19:26:34 · 1655 阅读 · 0 评论 -
STC 纯硬件自动下载电路 - 三极管负脉冲电路
或者叫它延时上升电路。利用USB - TTL 芯片的RTS# 或者DTR# 信号让单片机自动断电复位。原理开门见山吧,搜了一圈好像没发现相同工作方式的电路。注意Q3 是NPN,发射极向上画了,可能看着不太习惯。SW1 是手动触发的按键,并不必要。原理就是用PMOS 管控制单片机的供电C-VCC,电路触发时让单片机断电,然后自动重新上电,冷复位电路基本都这样。PMOS 管Q1 用R6 下拉默认保持导通状态。当PNP 三极管Q2 基极被下拉时,R6 上经过电流,电压上升,Q1 关断,单片机断电。用PNP原创 2022-02-21 05:11:34 · 6325 阅读 · 5 评论 -
IAR 8051 嵌入式开发概述
节选自IAR C/C++ Compiler User Guide ,47 ~ 58 页使用IAR 构建工具开发嵌入式软件通常,嵌入式软件是为特定的微处理器编写的。程序的主要流程被设计成一个无限循环,等待外部的事件发生,然后做出处理。程序位于单片机的ROM 区域(注:一般单片机都是哈佛架构,与PC 不同),在系统复位后开始执行。编写嵌入式软件时,必须综合考虑多种硬件和软件方面的因素。作为辅助,开发工具提供了编译器选项、扩展关键字、#pragma 预编译指令等。存储映射和分区嵌入式系统一般包含多种不同类原创 2021-11-14 00:07:44 · 2017 阅读 · 0 评论 -
IAR 8051 C/C++ 概述 - 以及使用C++ 相比C 的提升
节选自IAR C/C++ Compiler User Guide语言概述IAR 8051 C/C++ 编译器支持:C:C 是在嵌入式领域使用最广泛的高级编程语言。你可以构建遵循以下标准的独立C 语言应用程序:标准 C - 也就是C99。以下称为标准C ;C89 - 也被称为C94、C90 或者ANSI C。启用MISRA C 功能时,这个标准是必要的;C++:C++ 是一种现代的面向对象编程语言,注:现在一般说C++ 是所谓的“多范式”,就是无所不包的意思,它拥有一个全功能(注:原创 2021-11-12 22:31:55 · 2272 阅读 · 0 评论 -
IAR 8051 与Keil C51 的代码差异
节选自Migrating from Keil μVision® for 8051 to IAR Embedded Workbench® for 8051基本代码差异以下几节说明了IAR C51 和Keil C51 在代码写法方面的基本差异。注:最大的差异是可以用C++ 了~ 模板,命名空间什么的都有。启动代码在IAR 环境下,启动代码默认位于文件cstartup.s51 中。这个文件中包含了复位后执行的系统启动代码,会在main() 函数前执行。内存数据、栈指针及其他方面的初始化操作都在这里完成原创 2021-11-11 00:31:23 · 2737 阅读 · 0 评论