跳转到主要内容

单片机

Bat脚本编译单片机程序

editor /

最近做一个项目,要求写一个脚本文件来编译单片机源文件。当时就纳闷了,编写单片机源程序的Keil平台不是已经够强大了,为什么还要单独写一个bat脚本来对源程序进行编译???经过向大神请教,原来大神编写了智能家居的控制程序,调试时对于不同的家电都需要修改不同的宏定义(对于任何家电的控制都用一个宏定义来表示),这样每次调试时都得进Keil编译器,很浪费时间,再说由于有时候改动并不一定在已打开IED的情况,也不想每次都必须打开Keil来编译。于是就需要编写一个脚本文件来实现对源程序的编译,并且根据输入的不同能选择不同的宏定义来编译,这样就不需要每次都运行Keil了。

写bat脚本就得先明白它的命令语句。由于bat脚本文件是将一系列的DOS命令按一定的顺序集合为一个可执行的文本文件,该文本文件能按要求完成指定的功能,其扩展名为BAT或者CMD。(小知识:通过按下Ctrl+C组合键可强行终止一个批处理的执行过程。),所以下面我只列出我所使用的命令解释:

常用命令:

1、REM 和 ::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。

::也起到注释作用,而且更简洁有效,与rem不同的是,::后的字符行在执行时都不会回显,无论是否用echo on打开命令行回显状态。

单片机编程:让LED数码管显示数字0到9

editor /

作者:张仕宗

LED数码管在单片机系统中应用非常普遍,是由发光二极管构成的。数码管由7个发光二极管组成的一个“日”字形,如果需要显示小数点,那么就再加上一个点,就是8段数码管。

数码管显示亮度高,相应速度快,分共阴极和共阳极两种形式,常用的有单个的和4联的,还有两联的和专门用来显示时间的。

/***************************************************
*程序功能:点亮一个led数码管,让它显示数字从0到9 *
*日期:2015.5.11 *
****************************************************/
#include <reg52.h>
#define LONG 50000
#define SHORT 10000

//先定义字形码,table数组中装下了自形0到9
unsigned int table[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};

详析单片机、ARM、FPGA嵌入式的特点及区别

editor /

本文将详细分析单片机、ARM、FPGA嵌入式几者之间的特点及区别。

<strong>单片机的特点:</strong>

(1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;

(2)内RAM:256KB以内。

(3)可靠性高

(4)易扩展

(5)控制功能强

(6)易于开发

<strong>ARM的特点:</strong>

(1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。

(2) 高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。

(3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。

(4) 超功能精简指令,具有32个通用工作寄存器,相当于M51单片机中32个累加器!从而克服了单一累加器工作的瓶颈效应。

做单片机设计,有几个要点需要注意!

editor /

做单片机设计,有几个要点需要特别注意,如以下所示!

<strong>1、单片机的工作频率</strong>

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

当然这里需要做一个妥协,因为客户的要求可能是兼容的和平台化的(目前汽车电子的发展趋势就是平台化),选择较高的工作频率可以兼容更多的平台,也方便以后升级和扩展,因此要选择一个较低的可以接受的工作频率。

<strong>2、恰当的输出驱动能力</strong>

在给定负载规范,上升和下降时间,选择适当的输出的上升时间,最大限度地降低输出和内部驱动器的峰值电流是减小EMI的最重要的设计考虑因素之一。驱动能力不匹配或不控制输出电压变化率,可能会导致阻抗不匹配,更快的开关边沿,输出信号的上冲和下冲或电源和地弹噪声。

单片机:EEPROM和串口通信

editor /

名称:IIC协议 EEPROM24c02 通过串口通信存数读取数据

内容:此程序用于检测EEPROM性能,测试方法如下:写入24c02一个数据,然后在内存中改变这些数据, 掉电后主内存将失去这些信息,然后从24c02中调入这些数据。看是否与写入的相同。

电脑通过串口发送一个十六进制的数据到单片机,存储进24c02,要求断电重启后在数码管上显示上一次发送的数据。

(本例是1us机器周期,即晶振频率要小于12MHZ)

[cpp] view plain copy
#include <reg52.h> //头文件的包含
#include <intrins.h>

谈数字电路、单片机的抗干扰

editor /

<strong>形成干扰的基本要素有三个:</strong>

(1)干扰源,指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。

(2)传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。

(3)敏感器件,指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。
抗干扰设计的基本原则是:抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(类似于传染病的预防)

<strong>1、抑制干扰源</strong>

抑制干扰源就是尽可能的减小干扰源的du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。

抑制干扰源的常用措施如下:

单片机与嵌入式系统有什么区别与联系

Lee_ /

随着电子信息科学技术信息化,智能化,网络化的发展,单片机与嵌入式也获得了广阔的应用空间。本文简单分析了单片机与嵌入式系统的联系、组成结构对比等基础知识,并列举了几种适用于PIC18F系列单片机的几种嵌入式实时操作系统。

<strong>单片机与嵌入式系统组成结构对比</strong>

(1)单片机基本结构
单片机由运算器、控制器、存储器、输入输出设备构成。

(2)嵌入式系统成部分:
嵌入式系统一般由以下几组嵌入式微处理器、外围硬件设备、嵌入式操作系统、特定的应用程序。
嵌入式系统设计的第一步是结合具体的应用,综合考虑系统对成本、性能、可扩展性、开发周期等各个方面的要求,确定系统的主控器件,并以之为核心搭建系统硬件平台。

<strong>单片机与嵌入式系统的联系</strong>

单片机编程技术学习攻略

Lee_ /

学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。

但是,许多的学习者(包括在校学生),他们总不得要领,从一开始学习时的热情高涨,到最后的沮丧放弃,使得大家对单片机产生了既爱又怕的感觉。

学习单片机并不象学习传统数字电路或模拟电路那样比较直观,原因是除了“硬件”之外还存在一个“软件”的因素。正是这个“软件”因素的存在,使得许多初学者怎么也弄不懂单片机的工作过程,他们怎么也不明白为什么将几个数送来送去,就能控制一盏灯亮/灭?能控制一个电机变速?由此对单片机产生一种“神奇”、“敬畏”甚至“恐惧”感,阻碍了学习单片机的热情与兴趣,这就有社会上“单片机难学”一说。

单片机学习:基本I/O口试验-点亮二极管

Lee_ /

<strong>实验一 基本I/O口试验:点亮二极管</strong>

1、 试验现象:
8个二极管间隔发光。
 
2、 试验目的:
了解最简单的单片机程序的编写方法,了解单片机I/O口驱动二极管的方法
  
3、 试验任务分析:
要想让二极管按照我们的要求发光,首先要搞清楚电路的连接形式,我们先只看和这部分内容有关的电路。当JMP0跳线接在12位置时(选通二极管显示),电路如下图所示:
  
<center><img src="http://mm32.eetrend.com/files/2016-10/wen_zhang_/100003251-10639-1.png&…; alt="" width="600"></center>