技术

为智能硬件开发者、创客提供有关基于英特尔嵌入式处理器的应用技术介绍和合作伙伴方案介绍

ARM工作模式

一、存储器格式(字对齐):

Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。

存储器格式

单片机外围功能电路控制的基础知识

单片机中有象箱子功能一样的地方,我们称为寄存器,用来暂存数据。寄存器的种类有程序计数器、通用寄存器、以及SFR(特殊功能寄存器)等。

单片机的编程语言和开发环境

CPU懂的机器语言

使用IAR创建新工程的步骤

新建一个IAR工程有两种方法,新建工程有两种方法,一种是使用工程模板,另一种是使用已存在的工程来建立另外一个工程。这里讲第一个方法,第二个方法很简单,书稿上有阐述。

一、新建第一个IAR工程

用IAR首先要新建的是工作区,而不是工程。在工作区里再建立工程。

1)建立工作区间

IAR-C中实现IO端口直接位定义操作的一个示例

IAR-C有着强大的软件仿真功能,但其中的寄存器位操作定义却十分烦琐,并且编译后生成的ASM代码冗余较多,针对该问题,版主自已定义一个位操作定义的方法,初学者可参考定义,并且该种方法可应用于所有寄存器位操作定义。

精妙的单片机非阻塞延时程序设计

对于每个单片机爱好者及工程开发设计人员,在刚接触单片机的那最初的青葱岁月里,都有过点亮跑马灯的经历。从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。

但对于绝大多数人,我们在最最初让灯闪烁起来时大约都会用到阻塞延时实现,会像如下代码的样子:

ARM中main()和__main() 的区别

当所有的系统初始化工作完成之后,就需要把程序流程转入主应用程序,即呼叫主应用程序。最简单的一种情况是:

IMPORT main

B main

直接从启动代码跳转到应用程序的主函数入口,当然主函数名字可以由用户随便定义。

在ARM ADS环境中,还另外提供了一套系统级的呼叫机制。

IMPORT __main

说说KEIL、uVision、RealView、MDK、KEIL C51之间的关系区别

从接触单片机开始,我们就知道有一个叫KEIL的软件。

在开发单片机时,使用的是C语言或者汇编语言,我们知道,这两种语言都不能直接灌到单片机里面,执不执行暂且不说,光是代码的体积,就足以撑破整个单片机。所以,我们需要一个软件,把C语言或者汇编语言编译生成单片机可执行的二进制代码,而且它的体积也非常的小,足够存放在单片机的存储器里面。

单片机软件定时器的使用方法

作者:zhangren_ham

初学者在编写单片机程序时经常会用到延时函数,但是当系统逐步复杂以后(没有复杂到使用操作系统)延时会因为延时降低MCU的利用率,更严重的会影响系统中的“并行”操作例如一个既有按键又有蜂鸣器的系统中,如果要求按下按键发出不同的声音,每次发声时间在1秒-2秒之间, 如果用延时来做代码很简单:

Proteus仿真软件在单片机设计中的应用

摘要:单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。Proteus仿真软件很好的解决了这些问题,它可以象Protel一样画好硬件原理图与KEIL编程软件结合进行编程仿真调试。