跳转到主要内容
Main-menu-for-MCU
首页
技术
新闻
下载中心
视频
博客
活动
登录
注册
MCU加油站
技术
ARM工作模式
一、存储器格式(字对齐): Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。 存储器格式 1、大端格式:高字节在低地址,低字节在高地址; 2、小端格式:高字节在高地址,低字节在低地址; 指令长度:...
阅读详情
2016-08-16 |
ARM
单片机外围功能电路控制的基础知识
单片机中有象箱子功能一样的地方,我们称为寄存器,用来暂存数据。寄存器的种类有程序计数器、通用寄存器、以及SFR(特殊功能寄存器)等。 SFR主要用来设定外围功能电路(计数器或串行端口、通用I/O等)的工作方式,确认其工作状况,并对其进行控制的。也就是说SFR并非仅仅只是用来保存数据的“箱子”。通过改变保存在“箱子”里的数据,不仅可以改变外围功能电路的动作方式,而且“箱子”...
阅读详情
2016-08-15 |
单片机
单片机的编程语言和开发环境
CPU懂的机器语言 单片机的CPU从存储器读取程序,但是一次只能读取一条指令,然后解释每条指令,并执行。存储器中保存的内容,不管是程序还是数据,都是二进制代码“0”和“1”组成的字符串。指令二进制代码告诉CPU要做什么,而数据二进制代码则是CPU操作或处理指令时要使用的值。CPU的操作包含加、减运算等指令。这些像密码一样排列的“0”和“1”字符串就是机器语言。...
阅读详情
2016-08-15 |
单片机
,
编程工具
使用IAR创建新工程的步骤
新建一个IAR工程有两种方法,新建工程有两种方法,一种是使用工程模板,另一种是使用已存在的工程来建立另外一个工程。这里讲第一个方法,第二个方法很简单,书稿上有阐述。 一、新建第一个IAR工程 用IAR首先要新建的是工作区,而不是工程。在工作区里再建立工程。 1)建立工作区间 新建IAR工作空间,首先是菜单File里选择Open再选择Workspace,如下图红圈所示。...
阅读详情
2016-08-15 |
IAR相关
IAR-C中实现IO端口直接位定义操作的一个示例
IAR-C有着强大的软件仿真功能,但其中的寄存器位操作定义却十分烦琐,并且编译后生成的ASM代码冗余较多,针对该问题,版主自已定义一个位操作定义的方法,初学者可参考定义,并且该种方法可应用于所有寄存器位操作定义。 共实现置位--Set_Bit, 清位--Clr_Bit,取反位Com_Bit,测试位Test_Bit四种位操作功能,并且每条位操作定义仅需一条3字节的ASM指令序列即可,简便直接...
阅读详情
2016-08-15 |
IAR相关
,
仿真工具
精妙的单片机非阻塞延时程序设计
对于每个单片机爱好者及工程开发设计人员,在刚接触单片机的那最初的青葱岁月里,都有过点亮跑马灯的经历。从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。 但对于绝大多数人,我们在最最初让灯闪烁起来时大约都会用到阻塞延时实现,会像如下代码的样子: while(1) { LED =OFF;...
阅读详情
2016-08-12 |
单片机
ARM中main()和__main() 的区别
当所有的系统初始化工作完成之后,就需要把程序流程转入主应用程序,即呼叫主应用程序。最简单的一种情况是: IMPORT main B main 直接从启动代码跳转到应用程序的主函数入口,当然主函数名字可以由用户随便定义。 在ARM ADS环境中,还另外提供了一套系统级的呼叫机制。 IMPORT __main B __main __main()是编译系统提供的一个函数,...
阅读详情
2016-08-12 |
ARM Cortex
说说KEIL、uVision、RealView、MDK、KEIL C51之间的关系区别
从接触单片机开始,我们就知道有一个叫KEIL的软件。 在开发单片机时,使用的是C语言或者汇编语言,我们知道,这两种语言都不能直接灌到单片机里面,执不执行暂且不说,光是代码的体积,就足以撑破整个单片机。所以,我们需要一个软件,把C语言或者汇编语言编译生成单片机可执行的二进制代码,而且它的体积也非常的小,足够存放在单片机的存储器里面。 KEIL公司(现在是ARM公司的一个公司)...
阅读详情
2016-08-12 |
Keil相关
单片机软件定时器的使用方法
作者:zhangren_ham 初学者在编写单片机程序时经常会用到延时函数,但是当系统逐步复杂以后(没有复杂到使用操作系统)延时会因为延时降低MCU的利用率,更严重的会影响系统中的“并行”操作例如一个既有按键又有蜂鸣器的系统中,如果要求按下按键发出不同的声音,每次发声时间在1秒-2秒之间, 如果用延时来做代码很简单: //蜂鸣器发出“哔-哔-哔”声音时间约1s void BeepFuction(...
阅读详情
2016-08-12 |
单片机
Proteus仿真软件在单片机设计中的应用
摘要:单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。Proteus仿真软件很好的解决了这些问题,它可以象Protel一样画好硬件原理图与KEIL编程软件结合进行编程仿真调试。 1、引言 单片机在很多产品中得到广泛的应用,无论是51系列、AVR、还是PIC系列,他们各有各的特点,...
阅读详情
2016-08-11 |
仿真工具
,
Debug工具
IAR程序下载与运行方式
(一)程序固化后运行方式: 程序开始运行后需要将RW 和ZI段搬移到RAM中去,程序下载进Flash中以后,上电后是怎样将RW ZI断搬移到RAM中去的?注意IAR和ADS在进行完.s文件的初始化以后都不是直接跳转到main函数去执行,IAR是跳转到?main中而ADS是跳转到__main函数中,在这些函数中根据icf文件的配置,将RW和ZI段搬移到icf文件规定的RAM区域中。...
阅读详情
2016-08-11 |
IAR相关
IAR集成开发环境如何设置堆栈大小
GCC和IAR分配堆栈的方式不同,IAR先分配堆栈空间,相当于定义一个全局数组为堆栈空间,堆栈初始为堆栈空间最高地址;GCC不用先分配堆栈,自动把RAM剩余空间作为堆栈空间,堆栈初始为RAM最高地址。 初学者很容易忽视这个问题,造成程序跑飞而找不到问题的症结,我在用IAR For MSP430的时候没遇到过这个问题,因为MSP430的RAM比较大,IAR默认是80字节,足够一般程序使用。 ...
阅读详情
2016-08-11 |
IAR相关
Cortex-M0处理器的故障处理和功耗管理
一、故障处理 故障是异常的一个子集,见第2-19页的异常处理模型。在NMI或HardFault异常处理时发生的故障将会引起HardFault异常或导致锁定(Lockup)。故障包含:•执行一条SVC指令,该指令的优先级高于或等于SVCall。•缺少调试器连接时,执行BKPT指令。 • 在加载或存储数据时,系统产生总线错误。 • 执行XN存储区的指令。 •...
阅读详情
2016-08-11 |
Cortex-M0
浅析单片机ROM、RAM和FLASH的作用
常规上ROM是用来存储固化程序的,RAM是用来存放数据的。由于FLASH ROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据。譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的。电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,...
阅读详情
2016-08-10 |
单片机
单片机C程序编译、执行过程
1、编写C代码: 1)预编译代码 2)定义及声明变量 3)定义及声明函数 4)编写程序代码(主函数MAIN) 2、编译器编译: 1) 预处理 此时编译器会扫描一个一个的C源文件,如果发现#include了某个.h文件,则把整个.h文件包含进.c文件中,形成一个新的.c文件(实际的实现过程可能不是这样,但原理是这样的)。同时进行相关预处理指令的解释工作,譬如将宏替换成实际的值。 2)...
阅读详情
2016-08-10 |
单片机
,
C程序
,
编译
页面
第一页
前一页
…
237
238
239
…
下一页
末页
邮箱或用户名
*
密码
*
注册
忘记密码
请输入上面图片验证码
*
输入图片中的字符。
本土热门MCU
航顺芯片
兆易创新
国民技术
芯海科技
灵动微电子
小华半导体
爱普特微电子
热门话题
RISC-V
应用
IOT
无人机
智能工厂
智能家居
汽车电子
可穿戴产品
热门产品
STM32系列
RX系列
LPC系列
MSP430系列
PIC系列
PSoC系列
关键技术
Cortex-M3
Cortex-M4
Cortex-M0/M0+
算法
近期产品推荐
近期活动
微信公众号
©www.eetrend.com