<strong>一、存储器格式(字对齐):</strong>
Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。
存储器格式
1、大端格式:高字节在低地址,低字节在高地址;
2、小端格式:高字节在高地址,低字节在低地址;
指令长度:
在50年代初期,我国不但请回了半导体专家黄昆还请回了吴锡九、黄敞、林兰英、王守武、成众志等讲授半导体理论、晶体管制造技术和半导体线路。在五所大学――北京大学、复旦大学、吉林大学、厦门大学和南京大学联合在北京大学开办了半导体物理专业,共同培养第一批半导体人才。
当时三大著名教授北京大学的黄昆、复旦大学的谢希德、吉林大学的高鼎三培养了很多人才,如1957年毕业的第一批研究生中有中国科学院院士王阳元(北京大学微电子所所长)、工程院院士许居衍(华晶集团中央研究院院长)和电子工业部总工程师俞忠钰(中国半导体行业协会理事长)。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
由电子创新网与灵动微电子联合举办的“灵动MM32F103开发板评测活动"第一期试用名单已经新鲜出炉啦,赶快来看看您是否榜上有名吧?具体名单信息如下方表格!
每个人的一生总会遇到一些机遇,机遇或大或小,能不能抓住看一个人的准备,黄昆能进入到一个伟大的新兴领域,正是因为他在燕京大学自学量子力学打下了扎实的基础,而在西南联大有名师指点,优秀同学激励和良好学风共同促成了这个机遇。所以,机遇看似偶然,实则必然。
几个月后黄昆就完成了题为《稀固溶体的X光漫散射》论文,大胆提出了关于杂质和缺陷X光的散射理论模型。20年后德国科学家在实验室中证实了黄昆的预言,国际学术界称之为X光“黄散射”。完成博士论文后,黄昆受到爱丁堡大学玻恩教授(M.Born)的赏识,这又是个诺贝尔奖获得者。
单片机中有象箱子功能一样的地方,我们称为寄存器,用来暂存数据。寄存器的种类有程序计数器、通用寄存器、以及SFR(特殊功能寄存器)等。
SFR主要用来设定外围功能电路(计数器或串行端口、通用I/O等)的工作方式,确认其工作状况,并对其进行控制的。也就是说SFR并非仅仅只是用来保存数据的“箱子”。通过改变保存在“箱子”里的数据,不仅可以改变外围功能电路的动作方式,而且“箱子”里的数据也将随着外围功能电路的工作状況而改变。
控制外围功能电路的基础知识
下面以通用I/O为例来说明单片机对外围功能电路的控制。通用I/O具有以下功能:
输出功能:可以输出高电平电压或低电平电压
输入功能:可以读出输入到引脚的电压电平
首先来看输出功能的控制。图1中的引脚A是一个通用I/O。
<strong> CPU懂的机器语言</strong>
单片机的CPU从存储器读取程序,但是一次只能读取一条指令,然后解释每条指令,并执行。存储器中保存的内容,不管是程序还是数据,都是二进制代码“0”和“1”组成的字符串。指令二进制代码告诉CPU要做什么,而数据二进制代码则是CPU操作或处理指令时要使用的值。CPU的操作包含加、减运算等指令。这些像密码一样排列的“0”和“1”字符串就是机器语言。比如图1左边显示的就是一个机器语言指令,意思是“将2放入寄存器A(寄存器是CPU内部的储存区域)。
CPU总是按存储器地址的顺序读取指令代码,除非遇到跳跃指令。例如,如果复位后的地址是0000,则从0000开始按0001、0002、0003的顺序读取并执行指令。也可以说,一个程序就是按处理要求排列一系列的机器语言。
新建一个IAR工程有两种方法,新建工程有两种方法,一种是使用工程模板,另一种是使用已存在的工程来建立另外一个工程。这里讲第一个方法,第二个方法很简单,书稿上有阐述。
<strong>一、新建第一个IAR工程</strong>
用IAR首先要新建的是工作区,而不是工程。在工作区里再建立工程。
<strong>1)建立工作区间</strong>
新建IAR工作空间,首先是菜单File里选择Open再选择Workspace,如下图红圈所示。
IAR-C有着强大的软件仿真功能,但其中的寄存器位操作定义却十分烦琐,并且编译后生成的ASM代码冗余较多,针对该问题,版主自已定义一个位操作定义的方法,初学者可参考定义,并且该种方法可应用于所有寄存器位操作定义。
共实现置位--Set_Bit, 清位--Clr_Bit,取反位Com_Bit,测试位Test_Bit四种位操作功能,并且每条位操作定义仅需一条3字节的ASM指令序列即可,简便直接。
//*****************************************************
//P00位操作定义
#define Set_P00 (P0 = P0 | 0x1)
#define Clr_P00 (P0 = P0 & ~0x1)





