程序在RAM中调试的运行方式&程序固化后运行方式 程序固化后运行方式:程序开始运行后需要将RW 和ZI段搬移到RAM中去,程序下载进Flash中以后,上电后是怎样将RW ZI断搬移到RAM中去的?注意IAR和ADS在进行完.s文件的初始化以后都不是直接跳转到main函数去执行,IAR是跳转到?main中而ADS是跳转到__main函数中,在这些函数中根据icf文... 2023-06-13 程序调试RAM运行方式程序固化单片机文章基础知识
【IAR】定义结构体出现的错误Error[e27]: 文件.c是从来都是不要包含.c文件的,否则很容易出现重复定义的错误。类型的定义和类型变量的定义不同,类型定义只是描述一个类型,是给编译器看的,不会产生可执行代码。类型变量定义是指在执行文件中真实得存在这么一块内容。因此,类型定义可以重复出现也没关系,类型变量是不能在... 2023-06-13 IAR定义结构体Error单片机文章基础知识
执行读引脚操作后,口锁存器的状态与什么有关? 根据I/O口的结构及CPU的控制方式,当执行读引脚操作后,口锁存器状态与引脚状态应当是相同的。但当给口锁器写某一状态后,相应的口引脚是否呈现锁存器状态,就与外电路的连接有关。例如:用I/O口线驱动三极管的基极时,该口线的位锁存器的写入1后,将使三极管导通,而三极管一旦导通后,基... 2023-06-13 读引脚IO口口锁存器文章单片机基础知识
你对单片机开发硬件调试了解多少? 当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。1 硬件静态的调试1.1排除逻辑故障这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致... 2023-06-13 单片机硬件调试软件调试缩短开发周期文章基础知识
单片机常用算法 一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。本题使用数... 2023-06-13 单片机算法数组素数文章基础知识
单片机的ADC相关问题 模数转换常见问题问:从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?答:模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREF引脚的电容容量。此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。如果用4.7μF电容,则稳定时间大约为2ms,如果无旁路电容(不... 2023-06-13 AD转换单片机电压基准差分输入单端输入文章基础知识
单片机的晶振的常见问题 单片机振荡器问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?答:不同器件的内部时钟振荡器的精度是不同的(±20%)。随电源电压变化,它也将发生变化(6.5%/V)。但基本不随温度变化(<1%温度变化范围-40℃~+85℃)。由于不同器件内部振荡器的离散性较大,所以不能用于产... 2023-06-13 单片机晶振内部时钟外部晶振文章基础知识
单片机IO口相关知识问答 端口问:器件IO口的吸收(sink)电流和源(source)电流是多少?答:IO口的沉电流和拉电流的极限参数为100mA(但是此时已经不能保证端口的正常逻辑关系了)。具体的参数请参考datasheet的端口IO部分的“端口I/O直流电气特性”。问:端口是否要加保护?答:在端口电流瞬间跳变的情况下,... 2023-06-13 单片机IO口开漏推挽输出文章基础知识
Flash型单片机解密及其加密方法 1.BDM程序调试接口Freescale公司的很多单片机都借用一种被称为后台调试模式(Background Debug Mode,BDM)作为下载和调试程序的接口。BDM是一种单线调试模式,芯片通过一个引脚与编程器进行通信。在HCS12系列单片机中,内部都置有标准的BDM调试模块。该模块的有三种作用:1) 对内部... 2023-06-13 FLASH单片机解密方法加密方法文章基础知识
单片机设计应用编程技巧问答 1. C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种结构化的高级语言。其优点... 2023-06-13 单片机学习设计编程技巧文章基础知识
匠人秘技之巧记色环 其实这个色环是很好背的。且介绍匠人的独家记忆法如下:一、推导法:你只要掌握了这个推导方法,即使忘记了色环,也能临时推导出来。大家都知道太阳光是由7种颜色组成的:红、橙、黄、绿、青、蓝、紫。这7种颜色中,有3种颜色是基色:红、黄、蓝、还有3种是由基色按50%配色配出来的:橙=... 2023-06-13 硬件工程师巧记色环经验分享文章单片机基础知识
关于goto的转帖 DIJKSTRA 的 “GOTO 有害“:最近几年我观察到,程序员素质与他们编写的program中go to语句的使用频率成反比。最近,我又发现了使用go to语句会产生灾难性后果的原因;并且越来越确信在“高级”程序设计语言中(除了原始机器语言的所有程序设计语言),应该禁止使... 2023-06-13 gotogoto语句单片机编程技巧文章基础知识
剖析单片机C语言软件复位 程序如下:(*(void(*)())0);如果你看完这条语句还没有蒙,那你已经完全没必要继续在这个贴上浪费时间了,可以直接关掉这个页面,如果感觉有点蒙,可以选择继续~~首先需要说明几个概念:1.函数的调用:函数的调用可以通过函数名调用(这个使用的最普遍),也可以通过函数指针调用(即指向函数的... 2023-06-13 单片机C语言软件复位程序设计文章基础知识
51单片机串口发送汉字显示乱码问题 前一段时间做蓝牙通信,单片机串口发送汉字总显示乱码,代码如下://发送一个字节void SendByte(unsigned char dat){SBUF = dat;while(!TI);TI = 0;}//发送一个字符串void SendStr(unsigned char *s){while(*s!='\0') {SendByte(*s);s++;}}在main函数里调用 SendStr(... 2023-06-13 51单片机串口发送汉字乱码问题文章单片机基础知识
单片机晶振问题及解决方法 1、单片机晶振不起振原因分析遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?(1)PCB板布线错误;(2)单片机质量有问题;(3)晶振质量有问题;(4)负载电容或匹配电容与晶振不匹配或者电容质量有问题;(5)PCB板受潮,导致阻抗失配而不能起振;(6)晶振电路的走线... 2023-06-13 单片机晶振DCO文章基础知识
为什么51系列单片机常用11.0592MHz的晶振设计 现在有许多极好的编译程序能显示代码,在速度和尺寸两方面都是非凡有效的。现代的编绎器非常适应寄存器和变量的使用方面,比手动编译有较好的优越性,甚至在其它常规方面,所以C应是看代码方面最合适的。答1:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见... 2023-06-13 单片机晶振11.0592MHz波特率文章基础知识
如何掌控MCU? 不管是MCU还是ARM及DSP等程序控制类,最关键的当数IO,定时及中断。只要很好地应用此三板斧,MCU基本就算结业并可谋生了···IO基本由2类代表作,即51的准双向和其他MCU/ARM/DSP的真双向。准双向的特点是高电平的驱动能力较弱,但其优点是控制方便,不需设定输入... 2023-06-13 MUCIO口定时器中断文章单片机基础知识
基于单片机的EMC测试及EMC故障排除 1 单片机系统EMC测试(1)测试环境为了保证测试结果的准确和可靠性,电磁兼容性测量对测试环境有较高的要求,测量场地有室外开阔场地、屏蔽室或电波暗室等。(2)测试设备电磁兼容测量设备分为两类:一类是电磁干扰测量设备,设备接上适当的传感器,就可以进行电磁干扰的测量;另一类是在电... 2023-06-13 单片机EMC电磁文章基础知识
单片机系统与掉电保护电路的可靠性提高方案 1掉电保护电路设计 1.1硬件设计 76C88是CMOS型的RAM芯片,其容量为8K×8,它有两个片选端CS1和CS2,只有CS1为低电平同时CS2为高电平时芯片才被选中。因此将CS2接MAX791的RESET输出端,同时WE写允许信号通过MAX791的使能控制输入端CEIN和输出端CEOUT,间接从MCS-51的MR引入,保... 2023-06-13 单片机掉电保护Reset文章基础知识
为什么现在很多可写的存储器也叫做ROM? 为什么现在很多可写的存储器也叫做ROM?例如FLASH,EEPROM等,它们都是可写的,为什么不叫做RAM,而叫做ROM呢?最初,把只能读的存储器叫做ROM(ReadOnlyMemory),并且掉电后数据不会丢失。由于不能改写,因而使用起来很不方便。随着技术的进步,在ROM中使用一些新技术,就可以使它具有可... 2023-06-13 ROMRAM擦写存储器文章单片机基础知识
51单片机完全不工作,该怎么入手去检查 首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应... 2023-06-13 51单片机晶振EA电源文章单片机基础知识
单片机驱动蜂鸣器原理与设计 蜂鸣器是一种一体化结构的电子讯响器,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性... 2023-06-13 单片机驱动蜂鸣器文章基础知识
晶振(crystal)与谐振荡器(oscillator)有何区别 晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振是一个... 2023-06-13 有源晶振谐振荡器晶体石英文章单片机基础知识
单片机加密破解的常用方法及应对策略 1单片机攻击技术目前,攻击单片机主要有四种技术,分别是:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的... 2023-06-13 单片机破解侵入型攻击/物理攻击文章基础知识
常见四种单片测控系统的干扰成因及后果 对单片机测控系统造成干扰的原因大致有以下4种:1、电网干扰单片机测控系统大多采用交流供电,电网质量的好坏,直接影响到系统能否正常工作。电网干扰主要包括浪涌电压和电磁干扰。工业现场的大功率电气设备在启动或停止时,会造成几百伏,甚至几千伏的浪涌电压并伴有火花干扰。此... 2023-06-13 单片机干扰因素测控系统文章基础知识