.h和.c文件的区别到底是什么(精确讲解)
1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件(.obj文件)4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文...
高手系列!谈单片机程序设计中的“分层思想”
就我个人的经验而谈,有两个设计思想是非常重要的。一个就是“时间片轮的设计思想”,这个对实际中解决多任务问题非常有用,通常可以用这个东西来判断一个人是单片机学习者,还是一个单片机工程师。这个必须掌握。...
单片机内部复位知识总结
我最近在整理单片机的复位问题,很多文献都过分的集中于外部复位,特意把内部复位的东西整理一下,我参考了很多的飞思卡尔的文档。我一直觉得飞思卡尔的文件系统和它的品质都是优秀的,虽然目前ST的单片机很有竞争力。① 上...
关于stm32按键中断总结
stm32学习笔记——按键(外部中断)目的:使用外部中断方式触发按键,会使用外部中断的操作配置文件:#include "stm32f10x_gpio.h"#include "stm32f10x_rcc.h"#include "stm32f10x_exti.h"寄存器:EXTI_IMR:高13...
关于Stm32f1的输入捕捉模式和PWM输入模式
输入捕捉模式和PWM输入模式的区别 Stm32的通用定时器具备基本的输入捕捉功能。所谓输入捕捉功能,是指通用定时器可以通过检测输入信号的跳变沿,检测到跳变沿的同时将计数器的当前值写入相应的寄存器。我们可以利用定...
STM32的ADC转换模式
STM32的ADC总共有两种转换模式:单次转换和连续转换。前几天看了ST官方的中文手册,在ADC模块的介绍中,同时出现了单次转换模式、连续转换模式和扫描模式,看完整个模块的文档后,对ADC的转换模式还是不理解,通过学习其他文档和...
对STM32F4/F2的DMA 进行编程时的一些技巧与提示
STM32F2/F4 DMA控制器经过精心设计,固件程序在选择合适的16-数据流X 16-通道组合时颇具灵活性。双AHB端口结构和到APB桥的直接路径,避免了DMA服务低速APB外设时CPU在AHB1访问上的暂停,减少了DMA传输总延时;在DMA控制器上...
单片机的看门狗定时器介绍
看门狗定时器工作原理使能时,WDT 将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT 超时会强制器件复位。为避免WDT 超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。如果WDT 在休眠...
单片机数据存储器经验介绍
我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。这些8位数据要么在工厂...
单片机FLASH与RAM、ROM的关系
单片机FLASH主要用作程序存贮器,就是替代以前的ROM,最大的有有点是降低了芯片的成本并且可以做到电擦写,目前市场上单片机的FALSH寿命相差比较大,擦写次数从1000~10万的都有,但存储时间可以保证40年,在选用时要注意. ...
什么是ROM、RAM、DRAM、SRAM、FLASH?区别是什么?
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一...
单片机和FPGA设计的程控滤波器
以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅频特性测试的功能。其中放大模块由可变增益放大器AD603实现,最大增益60dB,10dB步进可调,增益误差小于1%...
详析单片机、ARM、FPGA嵌入式的特点和区别
单片机的特点:(1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)内RAM:256KB以内。(3)可靠性高(4)易扩展(5)控制功能强(6)易于开发ARM的特点:(1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使...
PLC的6大基本应用
最初,PLC主要用于开关量的逻辑控制。随着PLC技术的进步,它的应用领域不断扩大。如今,PLC不仅用于开关量控制,还用于模拟量及数字量的控制,可采集与存储数据,还可对控制系统进行监控;还可联网、通讯CONTROL ENGINEERING China...
解析单片机与嵌入式的区别
首先,见过单片机的人,都知道,其实单片机只是一块芯片,里面有运算器、存储器等组成的一个具有逻辑、运算、通信等功能的单元。说的再具体点,实际一个CPU、DSP芯片也可以认为是一个单片机。当然它们性能很强大,但是功能依然很...
AVR单片机入门:单片机嵌入式系统的结构与应用
单片机,全名单片机微控制器,单片微型计算机(Single-Chip Microcomputre),也有人称之为嵌入式微控制器(Embedded Microcontroller)。由单片机作为主要的控制核心所构成的嵌入式系统称为单片机嵌入式系统,国内一般简称为单片...
单片机的智能学习型红外空调遥控器
1 引言本文设计了一款针对空调设备的智能学习型红外遥控器,采用记录脉冲宽度的方法,成功实现了对多种红外空调遥控信号的学习与再现,真正实现了"万能"。本文在阐述了系统的总体结构及硬件设计的基础上,详细研究了系统学...
单片机定时器知识汇总
1时钟周期=1/晶振频率M1机器周期=12(51系列12T,若1T则为1)X时钟周期 = 12(1)X(1/晶振频率M) = 1 us(1/12 us)1us机器周期脉冲数=晶振频率f/12假设12MHZ晶振工作在51单片机12T模式下,需要使用定时器进行50MS定时操作,定...
单片机堆栈指针的基础知识
堆栈指针sp在片内RAM128B中开辟栈区,并随时跟踪栈顶地址。它是按"先进后出"的原则存取数据。开机复位后,单片机栈底地址为07H。主要用来保存临时数据,局部变量和中断/自程序的返回地址。堆栈指针总是指向栈顶元素。所...
ARM单片机三种中断返回情况的分析
在正式介绍之前,要为大家补充一些较为重要的基础知识。首先R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在...
单片机入门方法与学习误区
玩单片机可以有以下几个等级:1、纯硬件DIY:这一级玩法很简单,只要有一个ISP下载线(和手机数据线的性质差不多),自己制作硬件电路,然后把单片机的程序烧到单片机里就行了。不需要懂编程。在我的网站里有许多小制作,每一个制...
嵌入式工程师:学习单片机不可缺少的八大步骤
第一步:数字I/O的应用在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能...
ARM单片机三种中断返回情况的分析与解决办法
在正式介绍之前,要为大家补充一些较为重要的基础知识。首先R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在...
51单片机晶振问题的总结
一,为什么51单片机爱用11.0592MHZ晶振?其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。其二:用11...
AVR、STC和51单片机的比较
1、AVR单片机与8051的比较AVR与8051主要区别是内核不同,指令集不同,io结构不同,外设不同。AVR单片机比8051的硬件资源多得多,AVR单片中的MEGA系列内部还有AD转换器,在一些简单的电路中,有了AVR单片机就甚至是零外部元件了,使...
AVR单片机基础知识及其特点
AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:1:在相同的系统时钟下AVR运行速度最快;2: 芯片内部的Flsah、EEPROM、SRAM容量较大;3:所有型号的Flash、EEPROM都可以反复烧...
PIC单片机16位串行D/A转换原理
下面介绍了基于PIC单片机与16位串行D/A转换的原理:1.基本原理D/A转换器相当于一种译码电路,它将数字输入传换为模拟输出:其中,D是数字输入,VR是模拟参考输入,Vo是模拟输出。这里模拟输出可以是电压,也可以是电流,式中 数字D是...
解析单片机系统电路设计
1、电源在使用STC89C52RC单片机的时候,工作电压:5.5V-3.4V(5V单片机),这个地方就说明我们这个单片机正常的工作电压是个范围值,只要电源VCC在5.5V到3.4V之间都可以正常工作,电压超过5.5V是绝对不允许的,会烧坏单片机,电压如果...
单片机应用系统硬件电路设计解析
系统的扩展和配置应遵循以下原则:1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次...
一种单片机的节能断电保护电路设计
1 硬件结构设计硬件电路如图1所示。S1为手动电源开关;S2按下闭合,放手断开;按下S2,单片机启动运行,经过2 s左右,KM闭合,交流220 V可为电器设备持续供电,供电5 min后,单片机根据传感器检测到的信息控制电源的供电;当某一路传...
【转帖】4412嵌入式开发板学习笔记(一)
本文转自迅为论坛:http://bbs.topeetboard.com新手在进行开发学习前,建议先看01-迅为电子开发板入门视频。对开发板和开发环境有一定的了解后,不要盲目接线开机。以下是个人的一点经验,和大家分享一下。补充:这是第一份笔...
西门子PLC冗余系统介绍
西门子硬件冗余又分为CPU冗余和I/O冗余: CPU冗余针对S7-400H系列CPU,如CPU412H,CPU414H。这类CPU自身带有冗余功能,用户不需要进行任何配置。当主CPU和副 CPU同时运行时,若主CPU发生故障,系统会自动切换到副CPU继续运行程...
西门子S7-400H系列PLC固件升级方法
1. 西门子S7-400H系列PLC,CPU V4.0系列 (1)将西门子S7-400H系列PLC的CPU断电; (2)在断电情况下,从CPU上拔出flash卡; (3)从西门子官方网站下载升级所需固件版本的软件,如CPU414-4H,需要从V4.0.3升级到V4.0.6,需要下载V4.0.6对应...
51单片机电波钟源程序
//使用STC12C5202单片机,晶振使用12M的,速度是12倍速的,电波钟模块引脚是接在单片机P3^2口的//数码管是使用动态扫描的方式,四位数码管显示#include #define uchar unsigned char #define uint unsigned int uchar xiaosh...
ARM和嵌入式裸机编程入门建议
许多新手在接触ARM和嵌入式linux都面临着一个尴尬的境地,那就是不知从哪个部分开始学习。查找资料和整理资料的过程复杂且耗时,很多新手并没有耐心进行所以就放弃了。针对这种情况,小编特意为大家整理了有关ARM与嵌入式l...
PIC单片机C语言延时程序和循环子程序实现方法
很多朋友说C中不能精确控制延时时间,不能象汇编那样直观。 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来。一般的我们都用for(x=100;--x;){;}此句等同与x=100;while(--x){;};或for(x=0;x<100;x++){;...
用单片机设计的豆浆机控制电路原理图
豆浆机控制电路工作过程大致是:上电-水位检测-水位合适开始加热-加热5分钟-开始打浆(打15秒,停15秒,共4次)-继续加热10分钟(溢出检测到时暂时停止加热)-完成全部工作。 电路见下图,单片机输入有水位检测,溢出检测,输出有电机控...
CAN总线SJA1000测试程序
CAN总线SJA1000测试程序//******************************************************************** //SJA1000测试程序//在8位单片机P89LPC922上测试通过//串口转CAN:内部时钟7.373MHz,串口115200,can口20k //协议:1、8...
单片机晶振电路原理及作用
在电子学上,通常将含有晶体管元件的电路称作“有源电路”(如有源音箱、有源滤波器等),而仅由阻容元件组成的电路称作“无源电路”。电脑中的晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与...
四种简略的拓宽51单片机中断的妙招!
一、选用硬件央求和软件查询的办法:这种办法是:把各个接连源通过硬件“或非(高有用,如CD4002)”(与,低有用)门引进到单片机外部接连源输入端(INT0或INT1),一同再把外部接连源送到单片机的某个输入输出端口,这么当...
从简单到复杂,新手学单片机要走的路
使用单片机控制控制,必须先学好单片机。那么单片机要学那些内容呢?新人学单片机控制电机必先按这八步。下面八步教你学习单片机控制电机所要注意学习的知识。第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电...
单片机程序死机跑飞原因分析说明
1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些...
单片机数字秒表程序源代码
做了一个秒表程序给同学们做参考,程序中涉及到的知识点我们都讲过了,包括了定时器、数码管、中断、按键等多个知识点。多知识点同时应用到一个程序中的小综合,因此需要大家完全消化掉。此程序是一个“真正的”...
单片机eeprom多字节读写程序源代码
我们读取 EEPROM 的时候很简单,EEPROM 根据我们所送的时序,直接就把数据送出来了,但是写 EEPROM 却没有这么简单了。给 EEPROM 发送数据后,先保存在了 EEPROM的缓存,EEPROM 必须要把缓存中的数据搬移到“非易失&rdquo...
单片机驱动蜂鸣器程序原理图
蜂鸣器从结构区分分为压电式蜂鸣器和电磁式蜂鸣器。压电式为压电陶瓷片发音,电流比较小一些,电磁式蜂鸣器为线圈通电震动发音,体积比较小。 按照驱动方式分为有源蜂鸣器和无源蜂鸣器。这里的有源和无源不是指电源,而是振...
关于arm常用概念介绍
1.arm中一些常见英文缩写解释 MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行...
STM32中Boot设置
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1, 这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序 STM32中可以通过配置BOOT1和BOOT0两个引脚来配置系统的启动模式,也就是说系统启动后从哪里运...
stm32定时器时间计算方法
TM32中的定时器有很多用法:(一)系统时钟(SysTick)设置非常简单,以下是产生1ms中断的设置,和产生10ms延时的函数:void RCC_Configuration(void) { RCC_ClocksTypeDef RCC_ClockFreq; SystemInit();//源自system_stm32f10x.c...
DAC0832内部结构及引脚功能
DAC0832是由8位输入锁存器、8位DAC寄存器、8位D/A转换电路组成,采用二次缓冲方式,这样可以在输出的同时,输入下一个数据,以提高转换速度。更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。其内部逻辑结构如图...
单片机控制电机正反转程序
单片机控制电机正反转程序 本程序能通过按键控制直流电流的的正反转,按键的端口定义直接看程序的定义部分。/=========自动调压控制程序========================================= #include //包含头文件,一般情况不...
如何扩展 FPGA 的工作温度
一位客户请求我们Aphesa的团队设计一款能够在油井中工作的高温摄像头(如图1所示)。该器件要求使用相当大的FPGA而且温度要求至少高达125℃——即系统的工作温度。作为一家开发定制摄像头和包括FPGA代码及嵌...
单片机定时器知识总结
1时钟周期=1/晶振频率M1机器周期=12(51系列12T,若1T则为1)X时钟周期 = 12(1)X(1/晶振频率M) = 1 us(1/12 us)1us机器周期脉冲数=晶振频率f/12假设12MHZ晶振工作在51单片机12T模式下,需要使用定时器进行50MS定时操作,定...
单片机的看门狗定时器是什么
看门狗定时器工作原理使能时,WDT 将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT 超时会强制器件复位。为避免WDT 超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。如果WDT 在休眠...
简析单片机数据存储器经验
我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。这些8位数据要么在工厂...
用单片机和FPGA设计的程控滤波器
本系统程控调整有源滤波的-3dB截止频率,使其在1~30kHz范围内可调,误差小于1.5%。此外,采用有效值采样芯片AD637及12位并行A/D转换器MAX120实现了对扫频信号幅度的测量。滤波器是一种用来消除干扰杂讯的器件,可用于对特定...
单片机堆栈指针的介绍
堆栈指针sp在片内RAM128B中开辟栈区,并随时跟踪栈顶地址。它是按"先进后出"的原则存取数据。开机复位后,单片机栈底地址为07H。主要用来保存临时数据,局部变量和中断/自程序的返回地址。堆栈指针总是指向栈顶元素。所...
555定时器的三种工作模式
555定时器可工作在三种工作模式下:单稳态模式:在此模式下,555功能为单次触发。应用范围包括定时器,脉冲丢失检测,反弹跳开关,轻触开关,分频器,电容测量,脉冲宽度调制(PWM)等。无稳态模式:在此模式下,555以振荡器的方式工作。这一工...
定时/计数器的原理与使用
一、基本概念1、 89C51有两个计数器T0和T1,89C52还有一个T2。每个计数器都是由两个8位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数容量是216=65536,记住是从0-65535。2、 提供给定时器的计数源又是从哪里...
单片机的特殊功能寄存器结构及原理分析
下图中我们能看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机...
PIC单片机的应用技巧介绍
1 ICD2作为程序烧写的使用1.1 ICD2简介MPLAB ICD2在线调试器是一款低价位的PIC开发工具。它利用Flash工艺芯片的程序区自读写功能来实现仿真器调试功能;使用的软件平台是Microchip的MPLAB IDE(集成开发环境软件包),兼容...
1602液晶显示模拟口接线方式和程序
SMC1602A(16*2)模拟口线接线方式 连接线图: |LCM-----51 | LCM-----51|LCM------51 | | |DB0-----P1.0 | DB4-----P1.4 | RW-------P2.0 | |DB1-----P1.1 | DB5-----P1.5 | RS-------P2.1 | |DB2-----P1.2 | DB6----...
移位寄存器工作原理及其应用
移位寄存器除了具有存储代码的功能外,还具有移位功能。所谓移位功能,是指寄存器里存储的代码在移位脉冲的作用下依次的左移或右移。因此,移位寄存器还可以实现代码的串行 - 并行转换、数值运算和数据处理等。 下图是由两...
学习单片机需牢记十二条工程师学习方法
1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考...
单片机的指令系统和寻址方式介绍
1、MOVA,#20H这条指令表示把20H这个数送入累加器A中(一个特殊功能寄存器)。2、ADDA,70H这条指令表示把累加器A中的内容(在上例中送入的#20H)和存贮器中地址为70H单元中的内容(也是一个数字),通过算术逻辑单元(英文缩写为ALU)相加,并...
51单片机的5个中断源
51单片机有5个中断源分别是:1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二3、T0——...
单片机C语言编程基础源码六个
1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直到0,然后再从0逐渐增大,一直这样输...
搞单片机开发,一定要会C吗?
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C...
DSP与其它处理器的区别
DSP芯片的优点DSP的运算速度比其它处理器要高得多,以FFT为例,高性能DSP不仅处理速度是MPU的4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构...
解析DSP系统的特点
算术单元具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法操作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等操作。新一代DSP内部甚至还包...
DSP芯片的基本结构介绍
(1)哈佛结构主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线,从而使数据的吞吐率提...
应对单片机破解的几点小建议
(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片。(2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得...
51单片机中断函数注意事项
(1)中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。(2)中断函数没有返回值,如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型,以明确说明没有返回值。(3)在任何...
单片机学习入门怎样才能少走弯路
对于初学者来说最好先买一本好的51单片机教本,目前书店这类书较多,大多都是你抄我的我抄你的,内容千篇一律,笔者向你推荐一本好书《8051单片机实践与应用》(北航出版)。然后慢慢看懂51单片机的硬件结构图,不要认为这是硬件工...
C51单片机C语言函数
一.函数定义通常C 语言的编译器会自带标准的函数库,这些都是一些常用的函数,Keil uv 中也不 例外。标准函数已由编译器软件商编写定义,使用者直接调用就能了,而无需定义。但是 标准的函数不足以满足使用者的特殊要求,因此 ...
51单片机几个延时程序
一. 500ms延时子程序(晶振12MHz,一个机器周期1us.)程序:void delay500ms(void){unsigned char i,j,k;for(i=15;i>0;i--)for(j=202;j>0;j--)for(k=81;k>0;k--);}计算分析:程序共有三层循环一层循环n:R5*2 = 81*2 = 162us DJN...
51单片机驱动步进电机的方法
这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:$、6:黑色。采用51驱动ULN2003的方法进行驱动。ULN2003的驱动...
单片机程序设计里的“分层思想”
分层的思想,并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种恍然大悟的感觉。如果说我不懂LCD怎么驱动,那好办,看一下d...
怎样写出好的单片机C语言代码
1、如果可以的话少用库函数,便于不同的mcu和编译器间的移植2、选择合适的算法和数据结构应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快...
解析51单片机延时程序
一. 500ms延时子程序程序:.(晶振12MHz,一个机器周期1us.)void delay500ms(void){unsigned char i,j,k;for(i=15;i>0;i--)for(j=202;j>0;j--)for(k=81;k>0;k--);}计算分析:程序共有三层循环一层循环n:R5*2 = 81*2 = 16...
PIC单片机低功耗的实现
1,睡眠(sleep)睡眠方式是我们最常用的一种方式来降低功耗,但睡眠期间单片机不能做任何的事情。对于那些没事情就睡着,有事情就做一下的情况睡眠无疑是功耗最低的处理方式。比如:睡眠+ I/O电平变化中断唤醒当按键没按下时...
PIC单片机的学习心得
存储器PIC16F616分为程序存储其和数据存储器,程序存储器的大小是2048words,数据存储器的大小是128bytes。程序存储器中0000H的地址为复位地址,当上电或者看门狗计时器等复位的时候,均会导致PC指针指向复位地址。地址0004H...
STC单片机开发的几大注意事项
ISP烧写程序注意事项程序无法下载进MCU,可能出错的地方有:如果准备条件充分(驱动程序安装成功STC_ISP.EXE安装成功),在下载程序进入MCU的时候,需要对ISP软件进行参数的设置。Ⅰ:MCU Type选项,我用的是STC89C54RD+。(型号必须匹...
初学51单片机指令快速记忆
大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。一、助记符号的记忆方...
C51单片机一些误区和注意事项
1) C忌讳绝对定位。 常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用...
单片机按键复位电路原理
51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开...
单片机学习中几个不易掌握的概念
电子爱好者开始学习单片机知识,因单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学...
单片机EMC问题解决方法总结
一、影响EMC的因数1、电压:电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。2、频率:高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当...
ARM和嵌入式linux入门建议
第一、学习基本的裸机编程 对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷 入一个很深的漩涡。我在刚刚开始学ARM的时候...
提高单片机系统抗干扰能力的主要方法
1.接地这里的接地指接大地,也称作保护地。为单片机系统提供良好的地线,对提高系统的抗干扰能力极为有益。特别是对有防雷击要求的系统,良好的接地至关重要。上面提到的一系列抗干扰元件,意在将雷击、浪涌式干扰以及快脉冲...
单片机系统的干扰抑制元件解析
1.去耦电容每个集成电路的电源、地之间应配置一个去耦电容,它可以滤掉来自电源的高频噪声。作为储能元件,它吸收或提供该集成电路内部三极管导通、截止引起的电流变化(di/dt),从而降低系统噪声。要选高频特性好的独石电...
单片机自身的抗干扰措施
1.降低外时钟频率外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,使电磁兼容检测不能达标。在对系统可靠性要求很高的应用系统中,选用频率低的单片机是降低系统噪声的原则之一。以8051单片...
单片机在人际语言互动方面的开发利用
(1)设计初衷。语言是人类特有的通信方式,在漫长的人类社会发展过程中发挥着无可比拟的作用。让机器“说话”一直是电子技术不断努力的方向,语言合成是人机语声通信的一个重要组成部分。近年来,随着大规模集...
PIC单片机的内部A/D转换
//需求,将板子上电位器接RA0,设置PIC的AD相关寄存器,显示电压#include__CONFIG(0x3831);//配置位18323831#define uint unsigned int#define uchar unsigned char//共阴数码管(板子上用了达林顿管ULN2003,反向器)const unsi...
51单片机的外部中断触发方式简介
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断...
51单片机四个独立按键是短按还是长按
/********************************************///FileName:识别四个独立按键是短按还是长按//Function: 不同按键 短按或长按分别显示不同的LED//author:liu yong//QQ:545018331//Date:2013/03/13/****************...
单片机汇编程序代码规范
1.排版规则1程序块使用缩进方式,函数和标号使用空格缩进,程序段混合使用TAB和空格缩进。缩进的目的是使程序结构清晰,便于阅读和理解。默认宽度应为8个空格,由于Word中为4个空格,为示范清晰,此处用2个代替(下同)。例如:MOV R...
单片机教学改革的思路与实践
1.传统教学模式中的教学顺序传统单片机教学模式中的教学顺序主要是:单片机硬件结构、指令系统、汇编语言程序设计、存储器、定时/计数器、I/O扩展、A/D、D/A转换。这种多年来的教学模式对本科教学还能行得通,因为本科院校多...
51单片机外部中断触发方式
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断...
单片机编程语言中学习哪种编程语言好?
单片机的汇编语言汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈...
51单片机与PC通信知识总结
51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理...