单片机学习记录(三)

第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启动与关闭;

相关推荐
醇氧1 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
敲敲了个代码2 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
Pandora_4173 小时前
cursor学习
学习
崇山峻岭之间4 小时前
Matlab学习笔记02
笔记·学习·matlab
Kiri霧4 小时前
Range循环和切片
前端·后端·学习·golang
hssfscv6 小时前
Javaweb 学习笔记——html+css
前端·笔记·学习
Mr.Jessy6 小时前
JavaScript高级:深浅拷贝、异常处理、防抖及节流
开发语言·前端·javascript·学习
博客胡6 小时前
Python-fastAPI的学习与使用
学习·fastapi·ai编程
HyperAI超神经6 小时前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
知识分享小能手7 小时前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu