AVR单片机内部RC振荡器校正方法

操作理论 – 内部 RC 振荡器在产品中内部 RC 振荡器在 5V 或 3.3V 下校正。工厂校正的精度在 +/-3 或 +/-10% (参考数据手册)。如果一个设计需要比工厂标准校正更高的精度,就需要再次校正 RC 振荡器,这样可以得到大...

基于单片机的EMC测试及EMC故障排除

1 单片机系统EMC测试(1)测试环境为了保证测试结果的准确和可靠性,电磁兼容性测量对测试环境有较高的要求,测量场地有室外开阔场地、屏蔽室或电波暗室等。(2)测试设备电磁兼容测量设备分为两类:一类是电磁干扰测量设备,设备接...

51单片机的寻址方式

在MCS-51系列单片机的指令系统中寻址方式共有7种:立即寻址方式,mcs-51单片机的一种寻址方式,操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H,立即寻...

免费的I/O改进FPGA时钟分配控制

引发设计更改的因素1. 电路板面积的限制印刷电路板设计必须考虑到许多限制因素。包括物理尺寸、散热要求、走线长度、层数和互连的类型。随着每一代的设计都要求更多的功能,因而电路板的限制因素也越来越多。一种解决...

单片机系统与掉电保护电路的可靠性提高方案

1掉电保护电路设计 1.1硬件设计 76C88是CMOS型的RAM芯片,其容量为8K×8,它有两个片选端CS1和CS2,只有CS1为低电平同时CS2为高电平时芯片才被选中。因此将CS2接MAX791的RESET输出端,同时WE写允许信号通过MAX791的使...

上下拉电阻的用法

上下拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,以将开关输出改成电平输出。3...

单片机初学者学习C51时的一些误区和注意事项

1)C忌讳绝对定位。常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。...

ASIC设计转FPGA时的注意事项

由于FPGA与ASIC在结构、性能上各不相同,ASIC是基于标准单元库,FPGA用的是厂商提供的宏单元模块,因此首先要进行寄存器传输级(RTL)代码的修改。然后进行FPGA器件映射,映射工具根据设置的约束条件对RTL代码进行逻辑优化...

AVR读写外部RAM时出现的问题

AVR读写外部RAM时出现的问题问:1,对AT90S8515来说,外部RAM的地址肯定是从0x0260开始的?2,我用ICE200仿真8515读写外部RAM,RAM大小为32KBytes,地址映射到0x0000-0x7fff,用PC7做它的片选。把SRE置为1,当我访问0x0300时PC7为低,...

为什么现在很多可写的存储器也叫做ROM?

为什么现在很多可写的存储器也叫做ROM?例如FLASH,EEPROM等,它们都是可写的,为什么不叫做RAM,而叫做ROM呢?最初,把只能读的存储器叫做ROM(ReadOnlyMemory),并且掉电后数据不会丢失。由于不能改写,因而使用起来很不方便。...

51单片机完全不工作,该怎么入手去检查

首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查...

双口RAM防冲突方法

双口RAM防止共享冲突的方式一般双口RAM都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,CPU对双口RAM端口的操作等效于对它的外部RAM进行操作。双口RAM在使用上要注意的问题是如何避免两端CPU对同一RAM单元的争用,一般来说...

FPGA常见问题以及解决方案

1、对于由quartus2中block diagram/schematic file生成的原理图文件,不能直接用于第三方的仿真软件,需要将该文件 转换为verilog HDL文件,然后编译即可。2、若编译出现如下错误:Error (10839): Verilog HDL error at cord...

FPGA常见警告(上)

1. Warning: VHDL Process Statement warning at random.vhd(18): signal reset is in statement, but is not in sensitivity list【提示】没把singal放到process()中。2.Warning: Found pins ing as undefined clocks...

FPGA常见警告(下)

1.Warning: Output pins are stuck at VCC or GND Warning (13410): Pin "USB_SLOE" is stuck at VCC【提示】输出信号连接到固定值,如果是实际情况可以忽略,不是的话就去看看原因吧。2.Warning: Some pins have inco...

四种常用FPGA/CPLD设计思想与技巧之串并转换

本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。串并转换是F...

DSP经典问答16则

一、问:如何解决Flash编程问题:可不可以先用仿真器下载到外程序存储RAM中,然后程序代码将程序代码自己从外程序存储RAM写到F240内部Flash ROM中,如何写? 答:如果你用F240,你可以用下载TI做工具。其它可以这样做。二、问:C...

基于FPGA的PCIE总线扩展卡的设计

1 功能描述及参数设置按照PCIE协议的要求,该FPGA的IP核也采用三层体系结构,即传输层、数据链路层和物理层。这三层功能模块完成了PCIE的协议转换,在传输层上给开发人员提供了非常丰富的接口。开发人员的所有开发,包括DMA...

基于AVR单片机的LED显示屏的灰度设计与实现

1 系统整体设计方案LED显示系统主要由3部分构成:PC上位机图像文字转换与数据发送单元、主控单元以及显示子模块。上位机完成把图像和文字转换成为显示屏的显示码,并且把显示信息发送到主控单元上。主控单元选用具有32 k...

浅议RETI指令

最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”。在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在此期...

手机PCB设计RF部分的布局技巧

1 高功率RF放大器(HPA)和低噪音放大器(LNA)隔离尽可能地把高功率RF放大器(HPA)和低噪音放大器(LNA)隔离开来,简单地说,就是让高功率RF发射电路远离低功率RF接收电路。手机功能比较多、元器件很多,但是PCB空间较小,同时考虑到布线...

基于ARM开发的JTAG仿真器的调试设计

1 ARM JTAG调试原理调试系统包括调试主机、仿真器和调试目标。调试主机是一台运行调试软件(例如ADS)的计算机。调试主机可以发出高层的调试命令,例如设置断点、访问内存等。仿真器用来将调试主机发出的高层调试命令转...

ARM设计的无线网卡设备驱动技术

1 硬件系统构成1.1 USB无线网卡介绍 无线网卡是无线局域网(WLAN)的重要组成部分,WLAN的物理层及MAC层是用无线网卡的硬件及其软件完成的,而LLC层以上各层均由计算机软件来实现。WLAN包括进行通信的网络接口卡(简称无线...

正确区分LJMP、AJMP、SJMP、JMP指令

MCS-51的控制转移类指令,共17条,分为无条件转移指令、条件转移指令、子程序调用和返回指令、空操作指令等四类。无条件转移指令(共4条)LJMP addr16 ;PC〈—— addr16AJMP addr11 ;PC〈—— PC+2,PC10-0...

在DSP处理器上并行实现ATR算法

1 在共享存储器多处理并行系统上实现ATR算法在共享存储器多处理器并行系统中,各个处理器通过共享总线对所有的存储器进行操作,实现各个处理器之间的数据通信。而在任一时刻,只允许一个处理器对共享总线进行操作。所以处...

AVR单片机熔丝位设置技巧

(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。...

嵌入式系统中FPGA的被动串行配置方式

1 ARM嵌入式处理器S3C4480X简介S3C44B0X是Samsung公司专为手持设备和一般应用而设计的高性价比和高性能的嵌入式处理器。其突出特点它的CPU核采用ARM公司的16/32位ARM7TDMI RISC内核,0.25μm CMOS工艺制造,主频最高可...

基于FPGA的VGA显示模式和像素频率的识别

1 VGA显示原理随着显示技术的不断发展,在业界制定了多种显示协议标准。根据分辨率和刷新频率的不同,显示模式的发展可分为:VGA(640×480像素);SVGA(高级VGA,800×600像素);XGA(可扩展图形阵列,1 024×768像素...

STM32启动模式的选择

STM32三种启动模式中存储器的存储介质STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这...

STM32 RTC寄存器操作步骤

寄存器操作步骤1、使能电源时钟和备份区域时钟。我们要访问 RTC 和备份区域就必须先使能电源时钟 和 备份区域时钟。这个通过RCC_APB1ENR 寄存器来设置。2、取消备份区写保护。要向备份区域写入数据,就要先取消备份区...

单片机驱动蜂鸣器原理与设计

蜂鸣器是一种一体化结构的电子讯响器,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈...

晶振(crystal)与谐振荡器(oscillator)有何区别

晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以&ld...

单片机加密破解的常用方法及应对策略

1单片机攻击技术目前,攻击单片机主要有四种技术,分别是:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的...

非直接RAM地址映射转换思路

通常情况下,如果是320*240(X*Y)分辨率的图像,使用128K(17bitRAM做地址映射,分别取X寻址对应128K的低9bit(可使用地址为0-511)、Y寻址对应128K的高8bit(可使用地址为0-255)。但如果是480*272分辨率的图像,使用320*240类似的存储器...

基于MSP430的无线传感器网络设计

1 无线传感器网络硬件设计无线传感器网络模型是不同于传统无线网络的无基础设施网,通过在监测区域内随意布撒大量传感器节点(简称节点),由各节点自行协调并迅速组建通信网络,在能量利用率优先考虑原则下进行工作任务划分以...

常见四种单片测控系统的干扰成因及后果

对单片机测控系统造成干扰的原因大致有以下4种:1、电网干扰单片机测控系统大多采用交流供电,电网质量的好坏,直接影响到系统能否正常工作。电网干扰主要包括浪涌电压和电磁干扰。工业现场的大功率电气设备在启动或停止时...

高手学习DSP的总结

关于DSP和普通51 AVR还有STM32的区别DSP是为运算而生的芯片,他最强大的地方就在与它的数**算性能,那是由它的指令集支持的。那些拿DSP和STM32比较的,省省吧,如果你两者都熟悉你就知道根本没啥好比的,如果我需要很多高级的...

单片机内核的分类介绍

1.内核诸如51/ARM/90/PIC/AVR……有好多种的,何况内核从来不分类,因为每一家常都可以改内核,你应该问的是架构!!只有懂架构才能用什么片子都驾轻就熟。我详细的说一下吧。HARVARD(哈佛)架构:ROM(程序空间)与R...

MSP430的C语言编写注意事项

微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存...

msp430学习经验总结

1.MSP430开发环境建立1.安装IAR dor msp430 软件,软件带USB仿真器的驱动。2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET3.建立一个工程,选择"option"选项,设置a、选择器件,在"General"项的"Target"标签选择...

选择单片机的一般原则

1.单片机的基本参数例如速度,程序存储器容量,I/O引脚数量2.单片机的增强功能,例如看门狗,双指针,双串口,RTC(实时时钟),EEPROM,扩展RAM,CAN接口,I2C接口,SPI接口,USB接口。3.Flash和OTP(一次性可编程)相比较,最好是Flash...

设计智能看门狗系统时的5个秘诀

从系统或软件故障中恢复是一件不容易的任务;要让该故障不复存在更是困难,即使故障已可被辨识和修复。不过,外部看门狗(Watchdog)可帮助系统针对故障迅速做出反应。 外部看门狗是嵌入式系统工程师工具箱里重要且关键的工...

EEPROM数据丢失的原因与对策

一、EEPROM数据被破坏的主要原因有:1、电源异常使EEPROM的数据彻底丢失;2、复位不好和软件跑飞可能会使EEPROM的数据被改写。二、要防止EEPROM数据被破坏,主要在以下几方面做工作:1、选用比MCU的电源范围宽并有WP引脚的E...

DSP硬件设计需要知道的注意事项

一、时钟电路选择原则1,系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片;2,单一时钟信号时,选择晶体时钟电路;3,多个同频时钟信号时,选择晶振;4,尽量使用DSP片内的PLL,降低片外时钟频率,提高系统的稳定性;5,C6000、C551...

STM32时钟配置方法详解

一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③LSI是低速内部时钟,RC振荡器,频率为...

AVR操作EEPROM应注意的问题

作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用AVR的电源检测(BOD)功能。对于5V系统,设置BOD电平为4.0V;对于3V系统,设置BOD电平为2.7V。然后允许BOD检测。这样,一...

51单片机ALE引脚的控制

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出...

单片机数据存储器经验简析

我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。这些8位数据要么在工厂...

单片机程序存储器ROM

单片机程序存储器英文简称ROM。ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定 ,断电后所存数据也不会改变;其结构较简单,读出较方便,因而...

菜鸟级别零基础学转FPGA

1、不熟悉 FPGA的内部结构,不了解可编程逻辑器件的基本原理。FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。 他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的...

使用带A/D的PIC芯片时,怎样才能提高A/D转换的精度?

1. 保证您的系统的时钟应是适合的。如果您关闭/打开A/D模块,应等待一段时间,该段时间是采样时间;如果您改变输入通道,同样也需等待这段时间,和最后的TAD(TAD为完成每位A/D转换所需的时间)。TAD可以在ADCON0中(ADCS1、ADCS0)中选...

分享单片机控制板的三大设计原则

1.在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使...

关于项目文件丢失的问题

在MPLAB IDE中建立的项目,通常会使用相对目录,这样在项目复制到其它位置时也可以正常编译。但是当项目包含的文件有不在项目所在目录及子目录时,MPLAB IDE就会使用绝对路径。即使文件在项目的上一级目录或者相邻目录中,也...

JLINK与JTAG的区别详解

JTAG的基本原理 JTAG(JointTestActionGroup,联合测试行动组)是一种国际标准测试协议(IEEE1149.1兼容)。标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 JTA...

单片机定时器、中断试验

我们在学单片机时我们第一个例程就是灯的闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机只能这样工作吗?当然不是,我们能用定时器来实现灯的闪烁...

单片机程序延时方法详细介绍

1 使用定时器/计数器实现精确延时单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz...

MSP430单片机的端口介绍

MSP430单片机的端口介绍MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。MSP430系统中...

uln2003 的COM端主要有两种用途

ULN2803跟ULN2003的使用方法是一样的,他们都是集电极开路输出,只能接收灌入电流。 区别就是2803可以驱动8位管脚,2003只有7个管脚。COM端主要有两种用途:(可悬空)1 试验用----接地:假如它的输出端都接发光二极管,那么,只要将...

FPGA系统设计的三个原则

一.面积与速度的平衡互换原则这里的面积指的是FPGA的芯片资源,包括逻辑资源和I/O资源等;这里的速度指的是FPGA工作的最高频率(和DSP或者ARM不同,FPGA设计的工作频率是不固定的,而是和设计本身的延迟紧密相连)。 在实际设计...

单片机EMC设计的几个注意事项

1.单片机的工作频率1.1单片机的设计应根据客户的需求来选择较低的工作频率首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的单片机满足时序的要求,这样单片机的工作电流可以变得更低,最重要的是V...

深度解析DSP电磁兼容性问题

1 DSP硬件方面的电磁兼容性电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。假若干扰不能完全消除,也要使干扰减少到最小。如果一个DSP系统符合下面三个条件,则该系统是电磁兼容的。(1) 对其它系统不产生干扰;(2) ...

DSP系统设计中的EMC问题

1 DSP硬件方面的电磁兼容性电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。假若干扰不能完全消除,也要使干扰减少到最小。如果一个DSP系统符合下面三个条件,则该系统是电磁兼容的。(1) 对其它系统不产生干扰;(2) 对...

晶振停振的要素及处理方法

下面是导致晶振停振的几个要素:1,在压封时,晶体内部要求抽真空充氮气,如果发生压封不良,即石英晶体的密封性不好时,在酒精加压的条件下,其表现为漏气,称之为双漏,也会导致停振,2,由于芯片本身的厚度很薄,当激励功率过大时,会使内...

单片机应用系统硬件电路设计应遵循的原则

一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系...

如何提高单片机系统的抗干扰性能

抗干扰体现在2个方面,一是硬件设计上,二是软件编写上。这里重点提醒:在MCU设计中主要抗干扰设计是在硬件上,软件为辅。因为MCU的计算能力有限,所以要在硬件上花大工夫。看看干扰的途径:1:干扰信号干扰MCU的主要路径是通过I/O...

收集的精华问答帖,全是DSP工程师遇到的问题

如何选择外部时钟?DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL。但每个系列不尽相同。1)TMS320C2000系列:TMS320C20x:PLL可以&pide;2,×1,×2和×4,因此外部时钟可以为5MHz-40MHz。TMS...

上拉电阻和下拉电阻问题

上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,才能使用。3、为加大输出引脚的...

学习51单片机的基本调试经验

一.单片机的组成:CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并...

关于IO用作复用功能时的时钟设置注意要点

很多客户在使用STM32的外设时,由于IO口被用作复用功能,外设的初始化正确,GPIO口初始化正确,外设的时钟也已开启,但是外设仍然无法正常运行。其中最关键的一项,大多数使用者多没有设置,就是某个IO口被用作外设的接口时,需要开...

C51中断函数

一、中断函数是一个特殊的函数,没有参数,也没有返回值;但是程序中允不允许使用return呢?答案是允许的,不过只能用"return;",不能用"return(z);";用在一些需要快速返回的地方,对应的汇编会有多个ret语句,相对效率会高一些。...

软中断和硬中断的区别

软中断是一种推后执行的机制,定时器,网卡的数据的处理是很典型的软中断,这个和中断向 量表里的中断是完全不一样的,以网络数据的处理为例,当网卡接到一个数据包后,其中断处理程序只是把数据复制到缓冲区,然后就告诉网...

单片机学习的误区

单片机因其优异的性能得到了越来越广泛的应用,现在几乎所有的电子产品都用到了它,因此学习单片机的人也越来越多。随着技术的进步,单片机的种类也层出不穷,不断有新型高性能的单片机出现,令学习者看得眼花缭乱,忙不暇接,经常...

看看这个关于AVR单片机的镕丝位配置的文章

正确配置AVR熔丝位(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为&ldq...

STM32的IO口如何配置

1.0 STM32的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出)1)浮空输入_IN_FLOATING2)带上拉输入_IPU3)带下拉输入_IPD4)模拟输入_AIN5)开漏输出_OUT_OD6)推挽输出_OUT_PP7)复用功能的推挽输出_AF_PP8)复用功能的开漏...

浅谈ARM处理器基础知识

1、软件方面这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处?1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专...

关于51单片机的存储器分析

每次看到51的内RAM空间与地址时,感觉非常费力,也在不断尝试用新的手段或方法来不断地改善效果,以使初学者能更好知道里面关键的东西,减少在以后使用时候的迷惑性。上课所依托的单片机是AT89C51/AT89S51。单片机与台式机(微...

单片机编程小问题总结

1、指向code区数组的指针也要加 code 关键字声明。比如 unsigned char code arr[30]; 数组,要用指针指向它,要把指针也声明成 unsigned charcode*p;后来使用发现其它很多地方使用是不需要这样声明的,只要 unsigned char ...

STC8951单片机如何可以不断电下载

对于STC89C51系列单片机如果要下载程序,我们需要先断电,点击下载,再给单片机上电这时,他就会自动下载程序。这是因为单片机在冷启动时,首先执行了一段系统启动程序,监视串口有无下载的指令,有就执行下载,没有就进入用户程序区...

C51优化设计之使用DJNZ循环指令提高执行效率

C51有三种循环语句即while,do-while和for,这三种循环都可以用来处理同一问题,基本上三者可以相互替换.但由于C51是针对51汇编语言的编译器,如果不注意51汇编指令的特点,不同的编程方式可能得到不同的程序性能(执行速...

DSP结构特点和运算性能

1 对密集的乘法运算的支持GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加...

详解TTL和CMOS电平

“TTL电平”最常用于有关电专业,如:电路、数字电路、微机原理与接口技术、单片机等课程中都有所涉及。在数字电路中只有两种电平(高和低)高电平+5V、低电平0V。同样运用比较广泛的还有CMOS电平、232电平、485电...

上、下拉电阻的定义及作用

一、定义1、上拉就是将不确定的信号通过一个电阻嵌位在高电平!“电阻同时起限流作用”!下拉同理!2、上拉是对器件注入电流,下拉是输出电流3、弱强只是上拉电阻的阻值不同,没有什么严格区分4、对于非集电极(或漏极...

有关电位器的常识大普及

一、电位器的概念电位器是由一个电阻体和一个转动或滑动系统组成,具有三个引出端、阻值可按某种变化规律调节的电阻元件。当电阻体的两个固定触点之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触...

再简单也不简单2--printf函数打印char型变量

keil里面的printf函数感觉是个未“进化”完成的函数,在跟小刘老师学习的时候就介绍到,需要以下面的方式才能正确使用printf打印功能:~~~很麻烦~~~TI = 1;printf(“xxxxx”);while(!TI);TI = 0;~~~~~~在使用p...

STC单片机不能下载程序的问题汇总

一、失败现象Chinese:正在尝试与 MCU/单片机 握手连接 ... 打开串口失败! Chinese:串口已被其它程序打开或该串口不存在。 解决方法1.检查USB下载模块的连接是否正常模块上的绿色和红色LED灯都亮起表示连接正常。 绿...

PLC死机的原因有哪些

PLC死机的原因很多,软硬件的错误都可能引起死机。1、硬件方面(1)I/O窜电,PLC自动侦测到I/O错误,进入STOP模式。(2)I/O损坏,程序运行到需要该I/O的反馈信号,不能向下执行指令。(3)扩展模块(功能型,如A/D)线路干扰或开路等。(4)电源部...

简单介绍了DSP与单片机的区别

1 存储器结构不同单片机使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。2 定点...

DSP中断问题的介绍

1 中断概述DSP处理中断的步骤:(1)接收中断请求。软件和硬件都要求DSP将当前程序挂起。(2)响应中断请求。CPU必须响应中断。如果是可屏蔽中断,响应必须满足某些条件。如果是不可屏蔽中断,则CPU立即响应。(3)准备进入中断服务子...

Verilog生成语句以及Xilinx原语的使用示例

不多解释,看如下代码实例,一目便了然:module SRAM_IDDR_RD_DATA_18(Q1,Q2,C,CE,D );output [17:0] Q1,Q2;input C;input CE;input [17:0] D; parameter NUM = 18; wire R;wire S;assign R = 1'b0;assign S = 1'b0; gen...

八位全加器行为模块之vhdl与verilog比较

verilog代码,非常简单:module add8(a,b,cin,cout,sum);input[3:0]a;input[3:0]b;input cin;output cout;output[3:0]sum;assign {cout,sum}=a+b+cin;//也注释掉这一行,用下面4行也许会好理解一点;// wire [4:0]c_sum;// ...

一个在DE系列开发板中蛋疼而反复出现的问题

搞一个VGA和小G同学做的图像处理IP接口,调了一整天,发现各种问题。开始一直以为是板子上面的27M时钟坏了,后来发现没问题……再后来发现如果调用了PLL的IP无非生成时钟。于是怀疑是片子上的PLL挂了,结果用友...

FPGA与PCB板焊接连接的实时失效检测

常见失效原因:1)应力相关的失效--针对工作中的器件对工作中的器件,造成焊接连接失效的主要因素是热-机械应力和震动应力。无论是震动,扭矩转力,热循环,材料膨胀,或环境中的其他应力,其不可避免的结果是由累积损伤造成的机械故...

C51编程经验

一、C51热启动代码的编制工业控制计算机,往往设有看门狗电路,看门狗动作,计算机复位,这就是热启动。热启动时,一般不允许程序从头开始,因为这将使测量或计算值复位,导致系统工作异常。故程序必须判断是热启动还是冷启动。常...

哈佛结构和冯诺依曼结构的区别

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据...

单片机软件抗干扰的方法

1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1指令冗余CPU...

AVR单片机通用I/O设计注意事项

一、数据寄存器PORTx和数据方向寄存器DDRx为读/写寄存器,而端口输入引脚PINx为只读寄存器。但是需要注意的是,对PINx寄存器某一位写入逻辑“1”将造成数据寄存器相应位的数据发生“0”与“1&r...

用“软件陷阱+程序口令”对付PC指针的弹飞

用“软件陷阱+程序口令”对付PC指针的弹飞当CPU受到外界干扰,有时PC指针会飞到另一段程序中,或跳到空白段去。其实,如果PC指针飞到空白段去,倒也好处理。只要在空白段设立软件陷阱(拦截指令),将程序拦截到初...

IO短路带来的思考

当时在调一个液晶控制板,板子是新做的,自己动手焊接(水平有限,给后来的故事埋下了伏笔)。一切OK,就把早就写好仿真过的代码烧进去,然后接口部分是一个51的单片机,同样烧进备好的代码。本来就是先做一个很简单的指令测试,控制...

“与”操作的妙用

1. 用“与”操作实现快速求余运算,例如:a = a % 8;可以改为:a = a & 7;说明:位操作只需要一个指令周期即可完成,而大部分的C编译器的“%”运算均是调用子程序来完成的,代码长、执行速度慢。通常,只要是...

网站建设 电商