单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统。中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该知道),我们在这里就不讲了,首先来回忆下中断系统涉及到哪些问题。(1)中断源:中断请求信号的来源。(8051有3个内部中断源T0,T1,串行口,2个外部中断源INT0,INT1(... 2023-06-13 单片机C语言函数中断函数中断服务程序文章基础知识
单片机多字节串口接收 串口接收程序是基于串口中断的,单片机的串口每次接收到一字节数据产生一次中断,然后再读取某个寄存器就可以得到串口接收的数据了。然而在实际应用当中,基本上不会有单字节接收的情况。一般都是基于一定串口通信协议的多字节通信。在422或者485通信中,还可能是一个主机(一般是... 2023-06-13 单片机多字节串口接收串口接收单片机串口文章基础知识
单片机系统中经常采用的滤波方法 1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断:如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰。C、缺点:无法抑制那种周期性的干扰,平滑度... 2023-06-13 单片机系统滤波方法限幅平均滤波法文章单片机基础知识
单片机自身的抗干扰若干措施 这些技术主要体现在以下几方面:1.降低外时钟频率外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,使电磁兼容检测不能达标。在对系统可靠性要求很高的应用系统中,选用频率低的单片机是降低系统噪声的原则之一。以8051单片机为例,最短指令周期1&mu... 2023-06-13 单片机抗干扰措施降低外时钟频率文章基础知识
单片机实现软件复位(软复位)的方法及讨论 虽然要使软件始终处于可控状态,最好不要用"复位",因为复位是纯硬件过程,软件是不可控的.但是我们还是要讨论方法,一般流传的方法如下:1、放狗;2、((void(code*)(void))0x0000)();3、用单片机一个引脚控制点一下RSTRST;4、用单片机一个引脚控制重新加电;5、用单片机自带的软件... 2023-06-13 单片机软件复位软复位文章基础知识
在单片机设计过程中摆脱EMC的软硬件处理方法 一、影响EMC的因数1.电压电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。2.频率高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。3.接地在所有EMC题目... 2023-06-13 单片机设计EMC软硬件处理方法文章单片机基础知识
关于单片机的N多问题 1.C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言。其优点是... 2023-06-13 单片机N多问题C语言MCU系统文章基础知识
单片机定时中断的几种精确定时编程方法 文中以定时器T1工作在定时方式1为例,晶振频率为12MHz 。1 方法1 在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和 启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC... 2023-06-13 单片机定时中断精确定时编程方法文章基础知识
单片机之静态局部变量static 上程序:main.c#include #include "Timer.h"/********P1口低有效******************/void main(void){init();//中断初始化while(1){}}Timer.h#ifndef _TIMER_H_#define _TIMER_H_extern void init(void);#endifTime... 2023-06-13 单片机静态局部变量static文章基础知识
51单片机产生1Hz-5kHz可调占空比方波 学校的课程设计,总结一下。注意1.高低电平的改变不适合在主函数的while循环中,因为要有数码管动态显示的延时和其它逻辑处理,时间太长会不能及时改变高低电平值。2.中断的执行时间一定是不能超过定时时间的,不然就会中断没处理完又来了下一个中断,造成频率出错。3.假设100us中... 2023-06-13 51单片机1Hz-5kHz可调占空比方波文章单片机基础知识
51系列单片机采用脉冲宽度调制(PWM) 程序中使用定时器0产生2.5ms周期脉冲,使用占空比控制变量scale控制占空比,在低电平期间使LED灯亮,在高电平期间使LED灯灭,改变scale就改变了高电平与低电平的时间,因此也就控制了LED灯的亮度。#include "AT89X51.H" //模拟PWM输出控制灯的10个亮度级unsigned int scale; //... 2023-06-13 51系列单片机脉冲宽度调制PWM文章单片机基础知识
如何优化单片机中的C程序 1、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效... 2023-06-13 优化单片机C程序文章基础知识
单片机中的ms级软定时器 timer.h#ifndef __SOFT_TIMER_H__ #define __SOFT_TIMER_H__#define EVENT_TYPE_ONESHOT 0 #define EVENT_TYPE_PERIODIC 1#define TMR_POOL_SIZE 20 #define HANDLE inttypedef void (*TimerProc)(void*);void T... 2023-06-13 单片机ms级软定时器定时器文章基础知识
AVR单片机中的EEPROM 1.EEPROM介绍Electrically Erasable Programmable Read Only Memory电气可拭除可编程只读存储器发展过程:ROM – > PROM –> EPROM –> EEPROM2.EEPROM和FLASH的区别2.1 使用上的区别FLASH用于存放程序,在程序运行过程中不能更改。我们编写的程序是烧录到FL... 2023-06-13 AVR单片机EEPROMFLASH文章基础知识
搞定单片机多字节串口接收 串口接收程序是基于串口中断的,单片机的串口每次接收到一字节数据产生一次中断,然后再读取某个寄存器就可以得到串口接收的数据了。然而在实际应用当中,基本上不会有单字节接收的情况。一般都是基于一定串口通信协议的多字节通信。在422或者485通信中,还可能是一个主机(一般是... 2023-06-13 单片机多字节串口接收文章基础知识
单片机快速开平方的算法 算法1:本算法只采用移位、加减法、判断和循环实现,因为它不需要浮点运算,也不需要乘除运算,因此可以很方便地运用到各种芯片上去。我们先来看看10进制下是如何手工计算开方的。先看下面两个算式,x=10*p+q(1)公式(1)左右平方之后得:x^2=100*p^2+20pq+q^2(2)现在假设我们知道x^2... 2023-06-13 单片机快速开平方算法文章基础知识
单片机掉电模式与空闲模式 1.空闲模式当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件... 2023-06-13 单片机掉电模式空闲模式文章基础知识
ISP与IAP的区别 ISP(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-ApplicationProgramming)指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP... 2023-06-13 IAPISP在线编程引导区文章单片机基础知识
51单片机中使用ucos ii的优缺点 引言早在20世纪60年代,就已经有人开始研究和开发嵌入式操作系统。但直到最近,它才在国内被越来越多的提及,在通信、电子、自动化等需要实时处理的领 域所曰益显现的重要性吸引了人们越来越多的注意力。但是,人们所谈论的往往是一些著名的商业内核,诸如VxWorks、PSOS等。这些商... 2023-06-13 实时操作系统ucosII单片机嵌入式操作系统文章基础知识
单片机系统设计中的硬件抗干扰 在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性?一、下面的一些系统要特别注意抗电磁干扰:1、微控制器时钟频率特别高,总线周期特别快的系统。2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。3、含微弱模拟信号电路以及高精度A/D变换电路的系... 2023-06-13 单片机系统设计硬件抗干扰文章基础知识
苦B的光耦-RS485调试过程 本案例RS485调试时当低波特率时,通讯还算良好,基本没有发现什么错误(由于时间有限,未做超过两小时的通讯测试),当达到115200bps时,有较大的通讯故障概率,有些板件甚至无法正常通讯。案例详细描述:隔离电源隔离电源IB0505LS-1W,隔离光耦HCPL-M453-500E,RS485驱动芯片SP483EE。光耦输... 2023-06-13 RS485调试示波器文章单片机基础知识
单片机中ROM、RAM、Flash的区别 譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的。电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后... 2023-06-13 单片机ROMRAMFLASH区别文章基础知识
I2C,SPI,UART和CAN等常见通信协议的区别 I2C--INTER-IC(INTER IC BUS:意为IC之间总线)串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件... 2023-06-13 I2CSPIUARTCAN通信协议文章单片机基础知识
单片机硬件抗干扰经验 一、下面的一些系统要特别注意抗电磁干扰:1、微控制器时钟频率特别高,总线周期特别快的系统。2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。3、含微弱模拟信号电路以及高精度A/D变换电路的系统。二、为增加系统的抗电磁干扰能力采取如下措施:1、选用频... 2023-06-13 单片机硬件抗干扰微控制器文章基础知识
单片机中时延函数易常范的错误 如我所编AD转换程序中,在转换时间要长达30ms时才能有有效的数据输出。如果时间过短,则不会起到即时的效果。unsigned char 最大值为255再大就要用循环了。下面是原码:#include#includesbit wr = P3^6;sbit rd = P3^7;sbit dula = P2^6;sbit wela = P2^7;un... 2023-06-13 单片机时延函数常范错误文章基础知识