单片机软件指令系统研究

发布者:神光骑士最新更新时间:2014-12-16 来源: 21ic关键字:单片机  软件指令系统 手机看文章 扫描二维码
随时随地手机看文章
单片机有了硬件后,要真正地能进行计算和控制,还必须有软件的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机(http://www.cy8cjiemi.com),它才能有效地 工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步:

第一步:把第一个数从它的存贮单元中取出来,送至运算器。

第二步:把第二个数从它所在的存贮单元中取出来,送至运算器; 第三步:相加; 第四步:把相加完的结果,送至存贮器中指定的单元。

所有这些取数、送数、相加、存数等等都是一种操作,我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作 呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种 类的单片机,其指令系统亦不同。

使用单片机时,事先应当把要解决的问题编成一系列指令。这些指令必须是选定的单片机能识别和执行的指令。单片 机用户为解决自己的问题所编的指令程序,称为源程序。指令通常分为操作码和操作数两大部分。操作码表示计算机执行什么操作,即指令的功能;操作数表示参加 操作的数或操作数所在的地址(即操作数所存放的地方编号)。因为单片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系统中 的所有指令,都必须以二进制编码的形式来表示。例如,在Intel公司的MCS-51系列单片机中,从存贮器中取出一数到CPU中的累加器的指令代码为 74H,累加器内容加立即数的代码为24H,再加上立即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。这些指令是用十六进制表示二进制 的机器码。

MCS-51单片机的字长为8位,有时,要完成某些操作用一个字节尚不能充分表达。所以,在指令系统中有单字节指令,也有多字节指 令。机器码是由一连串的0和1组成,没有明显的特征,不好记忆,不易理解,易出错。所以,直接用它来编写程序十分困难。因而,人们就用一些助记符--通常 是指令功能的英文缩写来代替操作码,如MCS-51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这 样,每条指令有明显的动作特征,易于记忆和理解,也不容易出错。用助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解,可单片机却只 认识二进制机器代码,因此,为了让单片机能“读懂”汇编语言程序必须再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”。汇编可借助于人工 查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所 规定的任务。

关键字:单片机  软件指令系统 引用地址:单片机软件指令系统研究

上一篇:MSP430F5529/G2553单片机频率设置程序
下一篇:MINICUBE2 對78K0微控制器Flash 編程

推荐阅读最新更新时间:2024-03-16 13:48

国民技术N32系列通用MCU助力汽车EDR应用
产业政策催生汽车EDR大市场 工业和信息化部装备工业发展中心发布的《关于实施GB7258-2017第2号修改单相关事项的通知》,对《机动车运行安全技术条件》进行了补充,明确要求从2022年1月1日起,国内所有新生产的乘用车都强制要求配备汽车事件数据记录系统(event data recorder system,EDR)或配备符合规定的DVR车载视频行驶记录系统。 2020年我国乘用车销量达到2531万辆,每年大约有超2000万辆的新车销量,预估EDR的市场总体增量规模可达到60亿元/年。根据ReportLiner研究显示,2021年中国乘用车EDR安装率为9%。预计随着政策强制安装EDR,2022年中国EDR产业的渗透率将
[汽车电子]
国民技术N32系列通用<font color='red'>MCU</font>助力汽车EDR应用
51系列单片机输出PWM的两种方法
MCS-51系列单片机无PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的。电路图见图1,采用高速光隔6N137输出,并将PWM的信号倒相。   一、 工作原理(原理图如图1所示)   二、PWM输出   1. 固定脉宽PWM输出 用T0定时器完成PWM输出,脉宽固定为65536us。T0定时器设置成16位定时器,PWM波形如图2所示。   程序清单:(12MHz)   PwmData0;T0定时t1的初值(字)   PwmData1;T0定时t2的初值(字)   PwmF ;PWM输出标志 ;***************************   setb tr0;启动T0
[单片机]
单片机独立按键和矩阵键盘概念及原理
一、基本知识 1.按键分类与输入原理 按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。 对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送人累加器,然后通
[单片机]
<font color='red'>单片机</font>独立按键和矩阵键盘概念及原理
51单片机的功能和用法详细介绍
51单片机是一个芯片,内部有n个寄存器,外部长着n个脚,由于51单片机系列种类众多,具体有多少寄存器、长着几个脚要看具体型号。一般来说,在做产品的时候,以够用为原则。 单片机属于数字器件,所以它的引脚只有两种状态,即高低电平,5V的单片机,高电平是5V,低电平是0V;3.3V的单片机,高电平是3.3V,低电平是0V。即高电平的电压等于电源电压。部分单片机内部集成有DAC功能,即数模转换器,把数字量转换成模拟量的模块,带有DAC功能的单片机DAC输出引脚可以输出0到电源电压之间的任何电压值。有些单片机内部集成ADC功能,可以把连接到引脚上的0到电源电压之间的任何电压值转换成数字量存储到单片机内部寄存器。 单片机就是靠着它自身
[单片机]
如何利用AT89S51单片机实现家庭语音报警系统设计
引 言 现代化居住格局使家庭生活的安全问题显得尤为重要。当前,安全的防范及报警系统是确保住宅、住户安全的重要保障。防盗的最好方法就是在不法分子有入侵企图时就发出语音警告,增加其心理压力,使其主动离开。本系统就是基于这种思想,采用了Atmel公司的AT89S51单片机作为控制核心,以美国ISD公司的ISD1420作为语音芯片的一种新型家庭语音报警系统。 系统工作原理 本系统的工作原理框图如图1所示。不法分子在所防范区域内移动时会引起红外辐射变化。当其所辐射的红外线通过菲涅尔透镜被聚焦在热释电红外传感器PIS-209S的探测元上时,热释电红外传感器将输出电压信号,然后经信号放大电路放大后送入信号采集与处理电路,经处理后向单片机输出
[单片机]
如何利用AT89S51<font color='red'>单片机</font>实现家庭语音报警系统设计
仍在连接中, 请给 MCU 上电...(解决方案)
单片机调试错误 仍在连接中, 请给 MCU 上电... Chinese:正在尝试与 MCU/单片机 握手连接 ... Chinese:连接失败,请尝试以下操作: 1.在单片机停电状态下,点下载按钮,再给单片机上电 2.停止下载,重新选择 RS-232 串口, 接好电缆 3.可能需要先将 P1.0/P1.1 短接到地 4.可能外部时钟未接 5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请 调整参数 6.可能要升级电脑端的 STC-ISP.exe 软件 7.若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码, 或需退回升级,或 MCU 已损坏 8.若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容 的问
[单片机]
仍在连接中, 请给 <font color='red'>MCU</font> 上电...(解决方案)
单片机数码管显示数字递增
让单片机的数码管显示的数从0开始递增一直到255,然后重新置0,再递增,如此循环. 还是用到了将要显示的数进行百位,十位,个位的分离. 从这篇开始,以后的程序就要注意程序的规范性,与可读性了.源代码如下(已经成功调通): #include reg52.h #define uint unsigned int #define uchar unsigned char sbit sda = P1^0; sbit clk = P1^1; sbit dig1 = P1^2; sbit dig2 = P1^3; sbit dig3 = P1^4; sbit dig4 = P1^ 5; uchar code table ={0x7e,0x0
[单片机]
STM32单片机对TFTLCD的驱动设计
看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。 TFTLCD使用80并口,80 并口有如下一些信号线: CS: TFTLCD 片选信号。 WR:向 TFTLCD 写入数据。 RD:从 TFTLCD 读取数据。 D[15: 0]: 16 位双向数据线。 RST:硬复位 TFTLCD。 RS:命令/数据标志( 0,读写命令; 1,读写数据)。 只是记住FSMC在使用的时候要初始化和使能就行了。 关于lcd.c这个文件竟然接近3000行,好吧,我是写不出来,只能在主函数里调用了。 main.c: intmain(void) { u8x=0; u8lcd_id[12];//存放LCDID字符串
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved