0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机工作原理详解

我快闭嘴 来源:电子技术控 作者:电子技术控 2022-08-29 09:37 次阅读

8f464374-26f8-11ed-ba43-dac502259ad0.png

图1

这张图第一眼看过去,可能会让人觉得头皮发麻,但稍微想一下,其实并不复杂。

这里以定时器中断T0为例。先看

8f6bcbee-26f8-11ed-ba43-dac502259ad0.png

图2

定时器(也就是计数器)T0到达PT0H之前,先要经过TF0,开关ET0和开关EA。事实上,TF0也是一个开关,那么,为了让定时器T0的中断顺利到达PT0H,这三个开关就必须都闭合。

为什么说TF0也是一个开关呢?注意到TF0所在的那一列,一共有8位,这8位刚好可以用一个寄存器来保存和控制,这个寄存器就叫做定时器控制寄存器:

8f789bf8-26f8-11ed-ba43-dac502259ad0.png

图3图3和TF0所在的那一列不是完全相同,我们暂且不管。这个TF0其实是定时器0的溢出中断标志位 ,当T0从初值开始加1计数到产生溢出时,由硬件使TF0置1,也就是说,TF0等于1的时候(相当于这个开关接通),表示T0(一个8位寄存器)这个定时器(计数器)已经由8个0通过加1计数变成了8个1,再加1将产生溢出。这个时候就会引起CPU硬件复位,让T0重新变成8个0。那么,TF0等于1的作用其实相当于把T0这个寄存器重新置0,当然,重新置0之后这个开关又重新断开。

再看ET0所在的那一列。这一列同样由一个寄存器来控制,叫做中断允许控制寄存器IE:

8f9092f8-26f8-11ed-ba43-dac502259ad0.png

图4

那么,将ET0这个开关闭合,就只要将寄存器IE中的那一位置1就可以了。ET0置1以后,就相当于定时器T0所引起的操作已经被CPU允许了。

再看图1中EA所在的那一列。这一列的所有开关要么全断开,要么全闭合。全断开的时候,CPU不响应任何中断;全闭合的时候,CPU响应全部中断。所以,EA叫做中断允许控制位。至此,图1中左边的三个开关已经解释清楚了,那么右边的呢?

右边的更简单了。我们注意到,图1中一共有六个不同的中断源:定时器T0,T1和T2,外中断0和外中断1,还有一个串口中断。这六个不同的中断源要是同时产生中断请求怎么办呢?这个时候就有一个优先级的问题,那么

8f9ffacc-26f8-11ed-ba43-dac502259ad0.png

图5

优先级就由PT0H和PT0这两位来设置:

8fbb5920-26f8-11ed-ba43-dac502259ad0.png

图6

也就是说,六个不同的中断源中的任何一个,都可以通过这两位设置成0到3中的任何一个优先级。再看图1中任何一个优先级的左边

8fcfe372-26f8-11ed-ba43-dac502259ad0.png 图7

是不是都有6根连线?

通过上述解释,图1就可以这样简单理解:

一个中断源如果想得到CPU的响应,就必须先闭合左边的三个开关,再按照被设定的优先级顺序进行响应。

是不是很简单?

当定时器T0中断经过左边三个开关以及优先级设定后,到达图7的位置以后,这个时候就要把定时器T0的中断服务程序的入口地址放到CPU的PC寄存器里边以便执行这个中断程序。

最后以一个简单的定时器程序来说明:

MOV TMOD,A ; 将工作方式控制字写入TMOD

MOV TL0, #9CH ; 送初值

MOV TH0, #9CH ; 送重装初值,这个程序的前三句是设定定时器T0的初值,可以不管

SETB ET0 ; 图1中的ET0开关闭合,允许定时器T0中断

SETB EA ; 图1中EA开关闭合,CPU允许全部中断

SETB TR0 ; 启动定时器T0,这一句和图1中的TF0开关闭合不同,可以这样理解:TF0开关 闭合是让计数器T0重新变成0,这个过程是自动进行的;而计数器T0重新变成0 以后,要重新开始计数,TR0置1就是启动这个过程。

HERE: SJMP HERE ; 循环等待,当计数器T0没有变成全1的时候重复执行这个指令,就是 空转

; 定时器T0的中断服务程序

CTC0: 当计数器T0变成全1的时候 ,将 CTC0这个中断程序的入口地址送人PC寄存 器

CPL P1.7

这个程序的作用是在P1.7引脚输出周期为200 μs的方波,所以中断程序只有一句,就是对P1.7引脚的电压不断进行取反操作。

上面程序的编写思路是这样的:主程序中设置好中断发生的所有条件,即把该闭合的开关闭合,然后启动定时器,等待定时器计数,当定时器计数未满时,主程序空转;当计数器满了以后,相当于图1中最左边的那个开关TF0闭合,从而将中断程序的入口地址CTC0送入PC让CPU执行,并同时将计数器清0。

当中断程序执行完成以后(执行了一遍CPL P1.7指令),CPU又回到主程序的空转指令

HERE: SJMP HERE ;继续等待,这个时候因为计数器已经重新清0并已经开始重新计数(定时器只要启动一次),并且TFo这个开关已经重新断开,所以主程序就在那里等待计数器下一次计满溢出,如此周而复始。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632796
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119983
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114442

原文标题:单片机工作原理,一张图几个步骤理解很清晰

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机工作原理详解

      单片机是将中央处理单元(CPU)、储存器、输入输出集成在一片芯片上,可以说单片机就是一台微型计算机,只是和我们平常使用的计算机相比它的功能有所不同,也没有我们用的计算机那样强大。
    发表于 11-22 16:49 4485次阅读
    <b class='flag-5'>单片机工作原理</b><b class='flag-5'>详解</b>

    煤矸石验煤机工作原理-砖坯大卡化验机详解

    煤矸石验煤机工作原理-砖坯大卡化验机详解,煤矸石验煤机工作原理-砖坯大卡化验机详解由【鹤壁生物质燃料大卡测定仪】提供的颗粒热值分析仪大卡机:186.3920.3323煤矸石卡数化验机,
    发表于 08-30 18:34

    有刷直流电机工作原理详解 相关资料分享

    有刷直流电机工作原理详解来源有刷直流电机被广泛用于从玩具到按钮调节式汽车坐椅的应用中。有刷直流 (Brushed DC,BDC)电机价格便宜、易于驱动并且易于制造成各种尺寸和形状。本应用笔记将讨论BDC电机的工作原理、驱动BDC
    发表于 06-30 06:08

    51单片机步进电机工作原理

    51单片机步进电机工作原理,51单片机步进电机控制程序,本来接触单片机挺久了的,但是一直只是停留在非常初级的认识阶段,本科的时候上过几门课,但是从来没有自己捣鼓过
    发表于 07-08 09:02

    单片机工作原理

    单片机工作原理:1、主要器件cpu(负责运算与控制)、存储器(程序存储在ROM存储器中,临时变量存放在RAM存储器中)、IO(输入、输出),三者相互配合实现单片机的运行。2、同步:多个独立的部分按照
    发表于 11-23 07:25

    单片机工作原理

    单片机工作原理
    发表于 02-21 20:16

    CD刻录机工作原理

    CD刻录机工作原理 CD刻录机工作原理 C
    发表于 07-24 09:16 9457次阅读

    8051单片机工作原理介绍

    8051单片机工作原理 8051单片机工作原理
    发表于 10-28 11:19 43次下载

    氩弧焊机工作原理

    氩弧焊基础知识--------氩弧焊机工作原理
    发表于 11-30 15:58 31次下载

    单片机输入/输出端口的工作原理

    单片机的功能主要是通过向特殊寄存器输送0 或1 二进制数来实现的,所以,了解0和1 的作用对理解单片机工作的基本原理非常重要,下面就以一个程序实例来说明输入/输出端口的工作原理
    发表于 07-21 10:36 1w次阅读
    <b class='flag-5'>单片机</b>输入/输出端口的<b class='flag-5'>工作原理</b>

    通俗易懂的单片机工作原理

    单片机工作原理: 1、主要器件cpu(负责运算与控制)、存储器(程序存储在ROM存储器中,临时变量存放在RAM存储器中)、IO(输入、输出),三者相互配合实现单片机的运行。 2、同步:多个独立的部分
    的头像 发表于 10-21 15:03 3.1w次阅读

    串口 单片机 文件_通俗易懂的单片机工作原理

    单片机工作原理: 1、主要器件cpu(负责运算与控制)、存储器(程序存储在ROM存储器中,临时变量存放在RAM存储器中)、IO(输入、输出),三者相互配合实现单片机的运行。 2、同步:多个独立的部分
    发表于 11-15 11:36 18次下载
    串口 <b class='flag-5'>单片机</b>  文件_通俗易懂的<b class='flag-5'>单片机工作原理</b>

    哈默纳科Harmonic精密行星齿轮箱减速机工作原理

    哈默纳科Harmonic精密行星齿轮箱减速机工作原理详解
    的头像 发表于 01-13 17:21 2069次阅读
    哈默纳科Harmonic精密行星齿轮箱减速<b class='flag-5'>机工作原理</b>

    SMT贴片机工作原理详解

    SMT贴片机工作原理详解
    的头像 发表于 09-04 11:08 2710次阅读

    单片机时钟电路的概念/工作原理/基本结构/作用

    单片机时钟电路是指用于控制单片机工作频率的电路,其主要作用是为单片机提供稳定的时钟信号,保证单片机正常工作
    发表于 09-08 17:08 6177次阅读