导航:首页 > 操作系统 > 单片机程序顺序结构

单片机程序顺序结构

发布时间:2022-12-23 21:38:02

Ⅰ 51单片机的结构组成

上图就是我们要研究学习的对象,51单片机摧部结构图了。大家看看上图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第一节课时我们已跟大家讲述过,8051单片机是总线结构的。下面我们就51单片机内部的单个部件与大家进行讲解。
中央处理器(CPU):
刚跟大家讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码。CPU是单片机的主要核心部件,在CPU里面包含了运算器、控制器以及若干寄存器等部件给成。
内部数据存储器(RAM):
MCS-51单片机芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。
内部程序存储器(ROM):
在前面也已讲过,MCS-51内部有4KB/8KB字节的ROM(51系列为4KB,51系列为8KB),用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。
定时器/计数器
51系列共有2个16位的定时器/计数器(52系列共有3个16位的定时器/计数器),以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。
并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。
串行口
MCS-51有一个可编程的全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。
中断控制系统
MCS-51单片机的中断功能较强,以满足不同控制应用的需要。51系列有5个中断源(52系列有6个中断源),即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别,优先级别的设置我们也将在后面进行详细的讲解。
定时与控制部件
MCS-51单片机内部有一个高增益的反相放大器,基输入端为XTAL1输出端为XTAL2。MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。

Ⅱ 单片机程序执行顺序问题

首先是在
org
0000h之后就遇到ljmp
main,也就是跳转到main指向的主程序语句执行,如果主程序内初始化并开中断0的话,就在单片机遇到中断条件的时候执行int0指向的语句;同样如果在main里主程序内初始化并开中断1的话,就在单片机遇到中断条件的时候执行int1指向的语句。

Ⅲ 单片机执行顺序问题

SETB TRO,作用是启动定时器T0,
你的程序不对,应该先装入初值,后启动定时器。
===================================
MOV TMOD,#01H ;定时器T1模式0,定时,定时器T0模式1,定时
SETB TRO ;启动定时器T0
LOOP MOV TH0,#0B1H ;定时器T0装入初值
MOV TL0,#0E0H
LOOP1 JNB TF0,LOOP1 ;等待定时器T0溢出。不溢出就在这句等待 一旦溢出了就执行JNB的下一句。

==========================================================
我给你改了一下
MOV TMOD,#01H ;定时器T1模式0,定时,定时器T0模式1,定时
CLR TF0 ;★清除溢出标志
LOOP MOV TH0,#0B1H ;定时器T0装入初值
MOV TL0,#0E0H
SETB TRO ;★启动定时器T0
LOOP1 JNB TF0,LOOP1 ;等待定时器T0溢出。不溢出就在这句等待 一旦溢出了就执行JNB的下一句。

Ⅳ 单片机循环程序有哪几种基本结构

如果是C语言的话,那么单片机C51循环和普通C语言一样。如果是汇编的话,那么列举如下:
1、DJNZ指令,常见延时程序。
DELAY:
MOV R2,#250
DJNZ R2,$
RET
2、CJNE指令,常见处理数据块。
MOV DPTR,#1000H
MOV R0,#30H
LOOP:
CLR A
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
CJNE R0,#50H,LOOP
RET
3、直接跳转,用LJMP或SJMP,常见主循环
MAIN:
JB P1.0,MAIN1
CLR P0.0
SJMP MAIN
MAIN1:
JB P1.1,MAIN2
CLR P0.1
SJMP MAIN
MIAN2:
JB P1.2,MAIN
SETB P0.0
SETB P0.1
SJMP MAIN
END
还有其他表现形式,但类型都是脱离于这三种形态。

Ⅳ 单片机的内部组成结构

单片机的内部组成结构如下:

运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行。

控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作。

存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)。

输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪)。

输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。

单片机硬件特征

(1)单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。

(2)单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。

(3) 单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。

(4)单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。

Ⅵ 一个完整的单片机c语言程序包含哪几个部分

个人觉得,一个完整C程序至少应该包含头文件、初始化、主程序四个部分,头文件是程序编译预处理的重要组成部分,缺了它就无法生成目标代码;初始化部分包含变量初始化和端口初始化;主程序是一个C程序的核心代码,由此执行或调用一些具有特定功能的函数模块以完成程序的预设功能。

Ⅶ 单片机汇编语言程序的三种基本结构

汇编语言程序有顺序程序、分支程序、循环程序三种。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。

分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。



(7)单片机程序顺序结构扩展阅读:

注意事项:

汇编指令不区分大小写,目的操作数是存结果的,原操作数是被操作的。

二进制数后跟b,十六进制数后跟h,十进制数不需特殊标记。

汇编源程序中,数据不能以字母开头,需要在前面加上0,如0a000h。

Ⅷ 单片机中一个程序的运行过程

单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。
取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。
下面我们将举个实例来说明指令的执行过程:
开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。
例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:
1 程序计数器的内容(这时是0000H)送到地址寄存器;

2 程序计数器的内容自动加1(变为0001H);

3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4 CPU使读控制线有效;

5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。

至此,取指阶段完成,进入译码分析和执行指令阶段。
由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。
ROM是只读存储器,用于存储程序代码;RAM是数据存储器,用于存放单片机运行时的数据,也就是说RAM中的数据掉电(复位)后就会消失,而ROM中的数据不会。

Ⅸ 用c语言编写的单片机程序是按什么顺序执行的

先从主程序执行,即 void main ,然后顺序执行,除非遇到中断
#include<reg51.h>
............................//宏定义
..........................;//全局变量
void main()
{
....................;//初始化
while(1)
{
...................;//主程序
}

}

Ⅹ 单片机 定时器中 interrupt 1的程序 与 主程序的运行顺序 要非常详细的....

主程序从main()开始执行,一句一句的,同时计时器也在工作,他和CPU的工作是不相干预的,完全分开的,当执行到某一句的时候,定时器计时完毕之后,就会像CPU请求中断,然后CPU就把当前执行的那一条语句执行完,跳到中断服务程序也就是interrupt中去处理中断,处理完毕之后再返回主程序去继续执行,然后定时器也继续工作,然后依次的循环下去,给你举个例子,interrupt就是个厨房,里边烧着水呢,你在卧室学习做题,当厨房的水烧开了报警,告诉你水开了,你接着就把手头的题做完了(当前指令执行完,压栈),然后到厨房把水灌好,再烧上水,接着去学习,接着坐下一道题,当下次水在烧开时,你再去处理,就这样,你做题学习和烧水是无关的,只有水开了才会向你请求

阅读全文

与单片机程序顺序结构相关的资料

热点内容
项目经理叫醒程序员 浏览:342
autocad旋转命令 浏览:660
手机版wpsoffice怎么打包文件夹 浏览:579
在成都学车用什么app 浏览:818
grep命令管道 浏览:426
java修改重启 浏览:567
单片机供电方案 浏览:770
airpodspro一代怎么连接安卓 浏览:218
豌豆荚app上有什么游戏 浏览:283
公路商店app标签选什么 浏览:338
linuxoracle命令行登录 浏览:227
android深度休眠 浏览:171
php微信开发例子 浏览:845
医得app登录密码是什么 浏览:142
spring开发服务器地址 浏览:411
服务器上如何查看服务器的端口 浏览:678
单片机服务器编译 浏览:770
单口usb打印机服务器是什么 浏览:859
战地五开服务器要什么条件 浏览:956
在word中压缩图片大小 浏览:255