51单片机学习精要:理论与实践
需积分: 0 64 浏览量
更新于2024-09-15
收藏 108KB DOC 举报
"单片机复习资料,涵盖了51单片机的重要知识点,包括奇偶校验、串行通信、I2C总线、寻址方式、中断系统、堆栈操作、寄存器组、定时计数器、中断标志复位、键盘与显示接口设计、BCD码和补码计算、中断优先级以及键盘扫描等内容。"
1. 奇偶校验原理是用于检测数据传输过程中错误的一种简单方法,通过计算数据位中1的数量是奇数还是偶数,并在传输中添加一个校验位来确保总数为奇或偶。
2. 比特率是指数据传输的速率,即每秒传输的二进制位数;波特率是指信号传输速率,即单位时间内载波信号变化的次数,通常用于衡量调制解调器的速率。
3. I2C总线字节传送与应答时数据传送格式是起始信号、从设备地址+读写位、数据传输、应答位和停止信号的组合,其中主设备发送数据,从设备接收或回应数据。
4. 串行口方式0收发过程中,TB8和RB8用于数据的附加位,如奇偶校验位或数据扩展位;奇偶校验可以通过设置寄存器位来定义,使得数据位和TB8/RB8中1的个数为奇数或偶数。
5. 方式1下,51单片机串行口接收时,RI标志位用于指示接收是否完成,SM2用于多机通信;数据在接收到第9位时被装载到SBUF,根据RI和SM2的状态决定是否清除RI并装载新数据。
6. 51单片机的寻址方式包括直接寻址、立即寻址、寄存器寻址、直接间接寻址、相对寻址、变址寻址等;其寻址空间包括片内RAM、片外RAM、片内ROM和特殊功能寄存器。
7. LCALL指令执行后,返回地址存放在堆栈中,SP减2后存放高8位,再减2存放低8位;因此,如果(SP)=30H,执行LCALL XADD后,返回地址为2222H,返回后(SP)=2Eh。
8. 扩展80C31的片外RAM和ROM,需要使用地址译码器进行地址选择,6264的地址范围是0000H-3FFFH,27128的地址范围是4000H-FFFFH。
9. 81C55键盘及显示接口设计中,要实现显示3,需配置81C55的输出数据,并监控输入端口以识别键按下;无键按下识别通常通过延时循环和多次读取端口来去抖。
10. 51单片机的基本型SFR(特殊功能寄存器)包括21个可位寻址的寄存器,如P0-P3、SCON、TMOD等。
11. 8031、8032、8051在上电或复位时,所有寄存器都会被清零,中断允许寄存器IE和IP除外。
12. 51单片机中断标志通过执行对应的中断清除指令(如CPL、MOV等)或者通过中断服务子程序中的软件清除。
13. 内部定时器/计数器T0和T1的结构包含计数器、预置寄存器、控制逻辑等,工作方式2、3支持自动重载,且在方式2下T0和T1可以作为8位定时器使用。
14. 作为计数器使用时,要读取51单片机定时计数器的当前值,需在读取前先禁止中断,防止在读取过程中中断导致计数值改变。
15. 89C51中可间接寻址的寄存器包括DPTR和四个B银行的寄存器R0-R7。
16. 51单片机的堆栈区只能设置在片内RAM的高128字节(07H-7FH),遵循“先进后出”的原则,SP始终指向栈顶,初始值通常为FFH。
17. 当RS1RS0=10时,当前工作寄存器组是第二组,R0的地址为10H;通过修改RS1和RS0的值可以切换寄存器组。
18. 使用T0方式2进行脉宽测量,TMOD设置应为02H,保证T0工作在模式2,同时通过指令MOV TMOD, #02H ; MOV TH0, #初值 ; MOV TL0, #初值启动计数。
19. 中断申请标志通过执行中断服务子程序后自动复位,外部中断通过INT0或INT1引脚上的下降沿触发,撤销中断需清除中断标志。
20. 补码10010110的真值是-54,如果是BCD码,其真值是54;-89的补码是11010001。
21. 键盘扫描方法包括逐行扫描和列扫描,非编码键盘去抖通常使用延时函数配合多次检测来实现;行列扫描是通过交替检测行线和列线的电平变化来确定按键位置。
22. 中断优先级是指中断源的处理顺序,中断响应时间是从中断发生到CPU开始执行中断服务程序的时间,中断受阻发生在同一优先级的中断或更高优先级中断正在处理时。
23. 81C55的RAM和I/O口地址取决于地址译码电路,通常在00H-7FH范围内,具体数值需要根据实际电路设计来确定。设计81C55的键盘和显示接口,需要配置81C55的控制字,并结合51单片机的IO端口进行数据交换和中断处理。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-06-03 上传
john895388013
- 粉丝: 0
- 资源: 1
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍