keil uvision5开发C51相关的笔记

本文是关于C51单片机开发的笔记,重点介绍了Keil uvision5的使用,包括sbit与" "^" 的组合、中断函数的定义、定时器/计数器的模式控制寄存器TMOD以及中断开启方法。还讨论了蜂鸣器的分类、定时器中断处理和程序设计框架。同时,讲解了8051常用寄存器、中断向量表、Keil调试技巧以及串口通讯的TTL、232、485三种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从单片机基础到程序框架(连载) - 单片机论坛,单片机技术交流论坛 - 21ic电子技术开发论坛

阅读笔记

1.关键词sbit和符号“^”的组合类似宏定义:

sbit P1_4=P1^4; //变量P1_4就和P1.4关联起来了

2.51系列单片机,最短的单周期指令是由12个“心跳个数”组成,

假如51单片机是晶振频率12MHz,那么心跳速度就是1/12000000,

所以一个单周期指令的节拍时间就是:心跳个数*心跳速度 = 12*1/12000000 = 1微秒;

这种情况下假如定时器的16位模式,最大值是65535,因此最大定时值就是65.535ms

  1. 中断函数:
  1. 无返回值,也不能带参数;
  2. 函数名后面需要紧跟关键字interrupt,说明是中断函数;
  3. 关键字interrupt后面要跟中断号,说明说明这个服务函数是为那个中断服务的;

  4)格式:void   函数名称() interrupt  中断号

中断的开启:中断的总开关EA + 局部开关(比如定时器0中断的开关ET0),两个必须同时打开;中断允许

5.定时器/计数器 模式控制寄存器TMOD

  GATE    C/T    M1    M0

定时器开启和停止由两个开关决定:1)GATE是定时器是否受“其他外部开关”影响的标志位;2)自身原配开关(定时器0的自身原配开关是TR0,可以启动定时器的中断);

C/T 计数器/定时器;

6.定时中断里面关键词:1)1ms, 1ms是系统时钟的节拍来源;2)互斥量;3)volatile;volatile是针对编译器的;

7.初始化注意事项:

1)单片机系统初始化SystemInitial(),这里主要放对上电瞬间要求高需要立即处理的,比如控制继电器

2)延时Delay(10000)---为3)做准备

3)外设初始化PeripheralInitial(),主要用来处理不要求上电立即处理的外设芯片和模块,如液晶屏、存储芯片、时钟芯片等等,这些芯片在上电的瞬间,内部自身、外部的电压稳定都需要一点时间,只有过了这一点时间,这些芯片才处于正常的工作状态,也只有这情况下,单片机才能跟它们正常通讯

8. 蜂鸣器分类:

有源蜂鸣器:通电响,断电停。驱动电路有NPN(高电平导通,低电平关闭)和PNP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值