-
最近单片机课讲到了定时计数器,在C语言中定时计数器的初值可以采用这种方式(假设计数10000次)TH0=(65536-10000)/256;TL0=(65536-10000)%256;这是通用的方法,65536-10000=55536=0xD8F0;赋值后TH0=0xD8,TL0=0xF0。我联想到补码的规则,65536-10000的数值在计算机中和-10000数据存储是一样的,于是我就简单赋值为...[详细]
-
中位值平均滤波法滤波法就是通过连续采样N个数据,然后对数据从小到大排序,然后去掉最大值和最小值,对剩余的N-2个值计算算数平均值。也就是中位值滤波和算数平均滤波的结合。下面看C代码的实现#defineN12unsignedintfilter5(void){unsignedintcount,i,j,temp;unsignedintvalue...[详细]
-
1引言燃料电池是21世纪最有望取代目前汽车燃油内燃机的新动力体系之一,它是一种将H2和O2的化学能通过电极反应直接转换成电能的装置。一个燃料电池堆是将多片电池片串联起来构成的,整个电堆的性能和单片电池电压有很大的关系。因此在燃料电池的研制中有必要采集不同条件下单片电池的电压值,通过分析找出H2和O2的反应环境和单片电池电压之间的关系。本文所要介绍的是作者单位正在进行的25k...[详细]
-
一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keilmdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零。如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的。在给出方法之前,先来了解一下代码和数据的存放规则、属性,以及复位后为何默认非初始化变量所在RAM都被初...[详细]
-
标准串口通讯数据的格式为:起始位(1)+数据位(8)+校验位(1)+停止位(1)串口通讯另外一个重要的的部分是设置波特率,波特率就是1秒钟内串口所传输的Bit(位)数。关于采样频率:为了较小读取或者发送串行数据的误差,我们采取了在N(我用的是4次)次中断中,取固定位置的读取的数据。我以stm8中9600波特率计算的过程为例:(1秒钟传输9600位)可以计算出传...[详细]
-
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输...[详细]
-
随着Internet的普及与发展,家庭网络化已经成为家庭现代化的潮流。家庭网络,主要包括有线和无线两种实现方式。由于有线网络固有的缺点,布线麻烦,可扩展性差等,将无线网络技术应用于家庭网络已成为势不可挡的趋势。无线网络的市场发展在逻辑上可分为面向语音的市场和面向数据的市场两类。在许多以数据传输为主的无线网络中,小型、低成本、低复杂度的无线网络的应用场合十分广泛。ZigBee是其中一种具有代表性的...[详细]
-
以前开发arm裸机程序都是在ADS1.2开发环境下编译和调试的。刚开始时初学嵌入式好多东西不懂,选择这个开发环境的理由,一是资料多的,mini2440开发板上提供了很多例程可以参考,网上几乎所有arm裸机程序都是基于ADS1.2开发的。二是开发环境友善,虽然后来感觉ADS1.2有点难用,但毕竟是IDE的环境,对初学者来说总比命令行的方式更加直观与方便。随着学习的深入,感觉它就像傻瓜相机一样,虽然...[详细]
-
I2S总线为数字音频应用提供了一个标准的通信接口。它是一条3线串行总线,包含串行数据SD、字选择WS、串行时钟SCK。LPC1788的I2S接口提供了彼此独立的发送和接收通道,每个通道可以作为主机或从机,还提供了可选的过采样主机时钟输出MCLK。因此发送和接收通道各有四个引脚,对于发送为I2S_TX_CLK、I2S_TX_WS、I2S_TX_SDA、I2S_TX_MCLK。I2S的时序如图...[详细]
-
1、库结构初步认识(1)解压缩3.1.2固件库,拷贝出来,重新命名Project_IAR5_Sim,准备用这个进行初步的探索,包括新固件架构和虚拟硬件的调试。(2)运行IAR5.4,打开Project_IAR5_SimProjectTemplateEWARMv5Proje-ct.eww,编译查看Project_IAR5_SimProjectTemplateEWARMv5STM3210...[详细]
-
1、在官网下载STVD并安装因为STVD只支持汇编语言,还需要安装Cosmic编译器来支持C语言2、到官网下载Cosmic并安装在官网上注册一下,获取1年的免费使用license3、在STVD上配置Cosmic路径...[详细]
-
串行驱动LED显示//一个74hc595位移寄存器驱动三极管驱动led位,//两个74hc595驱动led段,方式位5位x8段x2=10个数码管//5分频,每次扫描时间位1.25ms//定义特殊符号#definenul0xf#defineqc0xc#defineqb0xb#defineq_0xa#defineq__0xd#defineq___0...[详细]
-
1.前言 在大规模工业生产中,需要对物料进行称量配比。目前工厂一般使用两种方法,第一种方法采用人工称重,然后将成比例的各种原料同时放入配料机中搅拌;另一种方法是自动称重,自动搅拌。由于很多原始材料为粉状或颗粒,人工配料时,人体容易吸入粉尘等杂物,导致职业病出现,增加了生产风险和劳动力资本,同时配料品种繁多,数量巨大,因此人工配料难以现场管理,很容易出现误配,不但质量难以保证,同时增加了...[详细]
-
虽然ARM在移动设备,家用电子等低功耗领域表现出色,但是在工业控制领域却一直裹足不前,进展缓慢。这主要是由于其构架以及功能,很难在工业级领域发挥作用。但是,近日XMOS公司发布了采用eXtended架构的xCORE器件产品中的可编程系统级芯片xCORE-XA系列,它将该公司的可配置多核微控制器技术与一个超低功耗ARMCortex-M3处理器结合在一起。XMOS是一家年轻的无晶圆...[详细]
-
ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采用中断比以往的查询方式占用更少的CPU时间,让系统提供更好性能。那么中断在S3C44B0中是怎么样的呢?在开发ARM程序中是怎么样进行响应的呢?这就是我需要学习的东西。查询S3C44B0的手册,发现它有7种工作模式,每种工作模式是不一样的。其中最常用的,就...[详细]