单片机学习记录(三)

第6章

1.中断服务子程序与普通子程序有哪些相同之处与不同之处?

答:相同之处:都是让主程序转去执行子程序,执行完后回到主程序;

不同之处:①中断服务子程序是随机的,而普通子程序是事先安排好的;

②中断服务子程序以RETI结束,而普通子程序以RET结束;(RETI除将断点弹回PC外,还要清楚中断优先标志位,以便新的中断请求能被响应)

2.中断响应需要满足那些条件?

答:①有中断请求信号;②中断请求没有被屏蔽;③中断是开放的;

第7章

1.定时器/计数器T1、T0的工作方式2有什么特点?适用于那些场合?

特点:该工作模式为自动重装初始值(即计数到预设的计数值后,会重新开始从初值进行累加计时),这意味着它不需要手动设置或调整参数。这种方式下,定时器的当前值寄存器和预置的值保持不变,直到溢出发生为止。此后它将从头开始新的周期并继续累积时间或者执行其他操作。

使用场合:需要精确测量时间的场合。例如在实时控制和测试系统中,可以用于产生时钟脉冲以及检测特定的系统事件等。

2.THx与TLx(x=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器满后才能刷新?

答:THx与TLx(x=0,1)是特殊功能寄存器构成的计数器;

其内容可以随时用指令更改;

更改后的新值立即刷新

3.如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?

答:晶振为24MHz,则周期为μs;

方式0:μs×213=μs×8192=4096μs

方式1:μs×216=μs×65536=327686μs

方式2:μs×28=μs×256=128μs

5.一个定时器的定时时间有限,如何用两个定时器的串行定时来实现较长的定时?

当一个定时器溢出时,设置另一个定时器初值为0;

6.当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?

用定时器TMO寄存器的D6位"C/T*"来控制T1启动与关闭;

相关推荐
辰海Coding9 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林9 小时前
cp520靶场学习笔记
android·笔记·学习
心中有国也有家10 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
Upsy-Daisy10 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
LuminousCPP12 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师12 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
_李小白13 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟13 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_8187305613 小时前
numpy的学习(笔记)
学习·numpy
GHL28427109014 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt