
嵌入式硬件
秦皇岛老王
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Error: This old version of 'S8051.DLL' is incompatibl 解决办法
1.将已安装的版本都卸载2.下载Keil C51 V9.00安装3.下载mdk4134.OK(都安装在一个文件夹就可以)下载地址1.http://pan.baidu.com/s/1gdFs3Sn Keil C51 V9.00下载地址原创 2013-09-13 16:41:37 · 6628 阅读 · 0 评论 -
关于单片机头文件的使用方法
在单片机的使用中,我们经常会在文件的开始部分进行头文件的定义,即使我们在编写十分简单的LED驱动程序时,往往也引用了头文件#include ,那么头文件的作用究竟是什么呢?首先,我们在Keil的安装目录下找到C51->INC->REG52.h,打开后,我们可以看到,这个reg52.h的头文件中提取出来就是使用了两个特殊的数据类型定义,sfr和sbit,关于这两个特殊的数据类型,本章节不过多的原创 2017-02-20 21:47:43 · 13451 阅读 · 0 评论 -
ARM与不同位宽存储器的地址线错位接口
ARM是32位,地址空间是2的32次幂,4G地址空间。所有的外设(FLASH,RAM,SD卡等等)都映射到这4G的空间上。比如大部分ARM7都把RAM映射到0x40000000,所以对RAM的操作就在0X40000000开始的地址上。FLASH从0X0开始。使用FLASH还要考虑地址重映射,就是选择片内FLASH或片外FLASH。 FLASH一般是8位或16位,当它接到32位的ARM上转载 2012-05-01 22:08:07 · 1617 阅读 · 0 评论 -
volatile
就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。volatile的作用 volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值. 简单地说就转载 2012-05-15 16:41:03 · 761 阅读 · 0 评论 -
谈谈如何提高单片机的模数转换精度
引 言 单片机应用于工业控制等方面时,经常要将电流、电压、温度、位移、转速等模拟量转换成数字量,然后在单片机内作进一步运算和处理,完成相应的数据存储、数据传输和数据输出,达到分析和控制的目的。随着大规模集成电路的不断发展,很多单片机都有内置A/D模块,因此,单片机的A/D转换可以用内置A/D模块也可以用外置A/D电路完成,现谈谈单片机A/D转换的工作原理及优缺点,并分析提高A/D转换精度转载 2012-06-10 16:31:50 · 3738 阅读 · 0 评论 -
基于MSP430的脉搏血氧仪设计解决方案
基于MSP430的脉搏血氧仪设计 本文讲述基于MSP430FG437微处理器的脉搏血氧仪设计方案。通過探頭(probe)接觸手指、耳朵或者鼻子等人體組織來測量血氧飽和度、脈搏等生理指標,並將測量數據顯示在LCD上。其中使用到的傳感器同樣可用於測量心率。探頭內部包含兩個LED,一個為可見光(660nm的紅光),另一個為转载 2012-06-19 22:52:05 · 7991 阅读 · 6 评论 -
4X4矩阵键盘程序
4x4键盘的程序有扫描法与线反法,但我个人认为用线反法较好,用扫描法得依次扫描所有行或列,如果用线反法就简单多了。先使键盘的行置为低、列置为高(或列置为高、行置为低),接着读回端口的值。比如:如果使用P0为键盘接口就先使低四位为低、高四位为高即P0=0xf0然后就读回P0口的值赋给一个变量,a=P0;紧接就给行列赋相反的值行置为高、列置为低(或列置为低、行置为高)即P0=0x0f然后就读回再与a运转载 2012-08-01 10:04:36 · 6223 阅读 · 0 评论 -
矩阵键盘的编程方法——读取键值
矩阵键盘的使用在单品机的学习当中十分广泛,可是对于许多新手,包括本人有时也是搞不明白,昨天晚上和今天早上的思考和同行们的讨论,终于有了点头绪,所以想记录下读取键盘的思路。在单片机的学习版中,矩阵键盘通常如下图设计:下面就以按下S16键来讲解其思路:首先:P3的高位P3.4~P3.7输出为0,低位P3.0~P3.3输出为1;即P3=0x0F,当按下S16键后(有消抖动过程),转载 2012-08-01 10:10:57 · 4547 阅读 · 1 评论 -
pic跨页 PCLATH
经过实际的调试:总结几点应用的体会:1/ 编制程序时,尽量以子程序出现2/ 将较短小的子程序放在0页内,即2K的容量空间内,较大的放在后面,并且要在0页内保留一定的余量空间,以便在调试时修补主程序或其他程序段时有足够的空间3/ 在调用跨页存储的子程序时,要先修改PCLATH的BIT3,BIT4的值,根据子程序所在存储页:例:调用位于1页的名为:RUNTYPE的子程序时:转载 2012-09-14 17:07:22 · 2135 阅读 · 0 评论 -
STC12C5410AD单片机波特率计算工具
STC12C5410AD单片机波特率计算工具STC12C5410AD单片机波特率计算工具点击打开链接原创 2013-09-18 10:26:20 · 1464 阅读 · 0 评论 -
keil中添加STC单片机
目前的keil4数据库里面没有STC的数据库,每次都要替换,现在教大家一种方法,我试过的最有效的方法 ,在不改变原有库的情况下添加STC的数据库。 1.把下载的文件解压,复制到keil安装文件下的UV4里,例如E:\Keil\UV42.更改keil安装目录下的TOOLS.INI文件,在[uv2]下一行(如果是keil4,就是第二行)添加“CDB0=UV4\STC.CDB("STC")”(p转载 2013-09-13 16:38:49 · 6795 阅读 · 4 评论 -
关于keil软件编译后的data xdata 和code的说明
在对51单片机的程序进行编译的时候,在编译的最后会提示Program Size: data= xx xdata=xx code=xx那么,这些存储时根据什么计算的呢?并且根据这个如何判断单片机内部的存储空间是否够用呢?那么首先data xdata code分别代表什么意思呢?data表示使用的内部RAM,xdata表示使用的是外部RAM,code表示的是程序的大小。那么这些大小和程原创 2017-02-21 21:34:03 · 34791 阅读 · 5 评论