MCU
文章平均质量分 73
主要以瑞萨单片机(前身为NEC)为例,讲述单片机相关知识。
全栈工程师修炼日记
这个作者很懒,什么都没留下…
展开
-
CAN总线系列(二):链路层芯片MCP2515解读
Microchip 的MCP2515 是一款独立控制器局域网络(Controller Area Network, CAN)协议控制器,完全支持CAN V2.0B 技术规范。它是CAN协议中数据链路层的芯片。原创 2024-03-25 21:15:48 · 1865 阅读 · 0 评论 -
CAN总线系列(一):协议概述
由于差动信号放大器总是用CAN-High线上的电压(3.5V-X)减去CAN-Low线上的电压(1.5V-X),即(3.5V - X) - (1.5V - X) = 2V。ISO11519-2 隐性电平的电压差为-1.5V,显性电平的电压差为 3.0V,两电平的差别为 3.0V-( -1.5V) =4.5V。②隐性电平,定义为逻辑 1。(1)发送单元:在发送数据帧和远程帧的时候,SOF—CRC段的数据,相同电平如果持续5bit,在下一个bit(第6bit)则要插入1bit与前5bit反向的电平。原创 2024-03-25 20:42:35 · 1226 阅读 · 0 评论 -
I2C系列(四):软件模拟I2C读写24C02/04/08/16
下面改进《》程序,编写适用于24C02/24C04/24C08/24C16 的两个通用读写函数。根据芯片的 DATASHEET:写数据到 EEPROM 时,因部分地址位不能自增,故需进行页边界处理;而从 EEPROM 读数据时,所有地址位都可以自增,故不需进行页边界处理。原创 2024-03-23 17:14:17 · 541 阅读 · 0 评论 -
I2C系列(三):软件模拟I2C读写24C02
定义如下命令:①C——串口接收数据函数初始化②S——单片机将接收到的数据发送到串口调试终端显示,以确认单片机是否已正确接收数据③W——将接收缓冲区 wbuf 中的数据写入 EEPROM 中④r——将刚才写入 EEPROM 中的数据读出到缓冲区 rbuf 中,并发送到串口调试终端显示/*接收数据统计*//*串口调试软件终端发送的命令标识*/#define NOP_num 60/*延时函数中 NOP()指令的执行次数*/原创 2024-03-23 15:27:49 · 1651 阅读 · 0 评论 -
I2C系列(二):I2C芯片24C02/4/8/16(EEPROM)解读
这个地方值得注意:引脚A0、A1和A2只用来定义器件地址,不能用来选择内部ROM单元地址。故此,无论外部引脚如何连接,都不影响内部ROM地址的选择。写到页边界时,要继续写下一页或其它页,必须产生一个停止信号,然后再产生一个开始信号,接着由主机传送目标页的地址,以开始在目标页的写操作。根据24C02芯片的Datasheet描述,其内部存储结构应该如下图所示。其它容量的EEPROM内部结构依此类推。页边界的停止信号不能缺少,否则会出错。下面简述EEPROM内部存储结构。原创 2024-03-22 19:58:51 · 820 阅读 · 0 评论 -
I2C系列(一):一文读懂I2C协议
I2C必须使用开漏(或集电极开路)的引脚,其引脚框图如下所示。SCL0对应78K0的P6.0引脚,SDA0对应78K0的P6.1引脚。在使用开漏引脚通信时,需注意如下事项:1)两条总线须外接上拉电阻;2)通信前须设置引脚的I/O模式:①输出信号时,PM6.0/PM6.1=0;②输入信号时,PM6.0/PM6.1=1;。3)开漏输出属于“线与”逻辑。故此,将总线置1即为释放总线,而总线上任一引脚置0,总线即为0。原创 2024-03-22 19:14:32 · 462 阅读 · 0 评论 -
78K0的I/O引脚电路分析
78K0芯片的I/O引脚共45个,由MOS管组成。由于MOS管的逻辑电压具有自身的特点,当与TTL或其它类型的电路连接时,需要进行电平转换。I/O引脚的分类如下图。原创 2024-03-21 20:31:21 · 376 阅读 · 0 评论 -
78K0最小硬件系统分析
78K0最小硬件系统如下图所示。在应用APPlilet2软件创建一个工程时,软件会第一时间弹出系统设置对话框和看门狗定时器设置对话框。这是对最小硬件系统的初始设置。包括如下选项:(1)系统时钟设置体现在硬件初始化函数hdwinit中。(2)看门狗设置体现在选项字节中。看门狗使用独立的内部低速时钟,监控CPU的运行。(3)存储器最小硬件系统还包括存储器,但为什么没有内存设置选项?Applilet2自动生成的硬件初始化函数hdwinit代码如下:此段代码中包括切换寄存器IMS和IXS的初始化。原创 2024-03-21 20:21:48 · 696 阅读 · 0 评论 -
78K0启动代码分析
在 PM+的 Tool 菜单下点击“ Compiler Options”,会出现下图对话框:由上图可知,编译器默认使用了启动例程,其目标文件是“ s0l.rel”,同时也使用了库文件“ cl0x.lib/cl0.lib/cl0f.lib”。s0l.rel 通过链接用户程序和相关库文件,最终生成下载模块文件。原创 2024-03-21 18:33:09 · 330 阅读 · 0 评论 -
78K0/KD2中断分析
78K0/KD2 系统组成框图如下图所示。由图可见, 除了通用 I/O 部件和时钟输出部件因自身功能特点而没有使用中断方式与 CPU 通信外,其它功能部件均使用中断方式向 CPU 提出中断请求。可见, CPU 具有对单片机外部或内部随机发生的事件能进行实时处理。原创 2024-03-21 00:03:50 · 177 阅读 · 0 评论 -
编程器烧写程序为什么不需要指定地址?
据了解, 主要有两种烧写文件格式: hex 文件和 bin 文件。hex 文件包括数据和地址信息, bin文件格式只包括了数据本身。Hex 文件中的地址信息是编译器在生成 hex 的时候自动添加的。在烧写或下载 hex 文件的时候,一般都不需要用户指定地址,因为 hex文件内容已经包括了地址。中提到的参数文件,而参数文件正是帮助编程器将需要编程的代码烧写到内存中正确的位置的。而烧写 bin 文件的时候,用户是一般需要指定地址信息。用编程器烧写程序时,为什么没有烧写地址设置?原创 2024-03-20 22:05:30 · 193 阅读 · 0 评论 -
78K0/Kx2 开发套件介绍
常用开发套件如表一所示。在使用以下开发软件中,需要用到以下两种特殊的文件:①设备文件( .78k):描述芯片内部信息的二进制文件。每一个设备文件描述了一款芯片的配置信息。在编译程序过程中,编译工具需要读取设备文件,来得到相应芯片的内存和寄存器信息。所以在编译之前必须首先完成安装设备文件。在用 PM+编译程序的过程中, PM+也需要读取设备文件,来得到芯片的配置信息。原创 2024-03-20 21:48:21 · 442 阅读 · 0 评论 -
78K0 MCU 外设与接口
78K0 MCU 的组成如下图所示。图中的串行口部件、定时器部件、中断控制部件等周边功能部件均已集成在 MCU 内部,这些部件通过接口芯片挂接在 MCU 内部总线上。原创 2024-03-20 06:34:14 · 378 阅读 · 0 评论 -
NEC 78K系列MCU概述
NEC,即日本电气株式会社, 经营半导体业务。NEC 倡导“ ALL Flash”,即 MCU 内的程序存储器使用 Flash ROM。为什么用 Flash ROM?与掩膜 ROM 微控制器相比, Flash 微控制器加速了系统开发。微控制器可以在程序完成前订购,也可以在微控制器安装完成后写入程序,缩短了开发周期。NEC 全系列单片机具有选择范围广、易于编程、低功耗、低价格及完善的开发环境等优点,产品广泛应用于汽车设备、 PC 外围设备、家用电器、工业设备等多个领域。原创 2024-03-19 20:35:51 · 1325 阅读 · 0 评论 -
焊接基础知识
什么?做软件还要学习焊接知识?!是的。因为在一些规模不大的小公司,分工不明细,往往一个人身兼数职,单片机软件工程师懂点焊接知识也是需要的。软钎焊,手工烙铁拆卸与焊接。焊接的过程,就是通过加热,让铅锡焊料在焊面上熔化、流动、浸润,使铅锡原子渗透到焊件的表面内,并在两者的接触面上形成合金层。一般使用的焊料是铅锡合金。例如,标签显示,Pb占37%,Sn占63%。此比例的铅锡合金,熔点低,约182℃,且熔点与凝固点相差很小,可看作共晶焊锡。原创 2024-03-19 20:09:17 · 1243 阅读 · 0 评论