51单片机入门(2)

一、GPIO

Genral Purpose Input Output,通用目的输入输出

输出模式:给定引脚电平,控制引脚高低电平的变化

推挽 输出

开漏输出 LED 数码管

复用 推挽

复用 开漏

输入模式: 检测引脚电平变化

上拉 输入

下拉 输入

浮空 输入

模拟 输入

例:利用按键和数码管实现按哪个键数码管就显示几

二、中断

1、概念:当CPU执行某个任务时,外界发生了一个紧急事件,要求CPU放下当前的任务,转而去执行这个更为紧 急的事件,执行完紧急事件后再回到原来被打断的地方 继续向下执行

2、中断源:打断CPU执行当前任务的源头/事件

5个:外部中断0、外部中断1、定时器0、定时器1、串口

外部中断:引脚电平的变化所引发的中断(P3_2 P3_3)

3、中断优先级:CPU去执行中断任务时,会去比较多个中断的优先级,优先去执 行优先级更高的中断

51单片机中最多允许中断嵌套两层

4、中断 处理流程:

(1)中断源发出中断请求

(2)检查CPU是否响应中断(总开关)及该中断源被屏蔽(子开关)

(3)比较中断优先级

(4)保护现场

(5)执行中断服务函数

(6)恢复现场

5、中断向量表:本质就是一个数组 ,数组中存放的是中断服务函数入口地址

6、中断向量:本质上是一个标号, 可以通过标号在中断向量表中找到中断服务函数的入口地址

练习:利用外部中断0实现P32引脚接地(产生下降沿时)数码管加1

三、定时器

timer0 计数器0 16位模式定时器 65535 自增型定时器

timer1 计数器1

12MHZ -> 定时器

11.0592MHZ -> 波特率

分频器: 12MHZ / 12 = 1MHZ

11.0592MHZ / 12 = 0.9216MHZ

时间: 1 / 1MHZ = 1us

1 / 0.9216MHZ = 1.085us

用定时器0定时1ms:

1ms = 1000us

1000us / 1us = 1000

1000us / 1.085us = 922

初值:65535 - 1000 = 64535 12MHZ

65535 - 922 = 64,613 11.0592MHZ

练习:利用定时器0中断实现每隔0.5秒LED翻转一次

四、PWM:

1、脉冲宽度调制,能够使引脚 产生一个方波

2、PWM可以让引脚电平周期性进行翻转

3、PWM周期:一个PWM方波所经历的时间(从上升沿/下降沿到下一个上升沿/下降沿所经 历的时间)

4、PWM占空比:高电平在一个周期内所占的比例

五、蜂鸣器

有源蜂鸣器:内部会存在震荡源,上 电后蜂鸣器会发出固定频率的声音

无源蜂鸣器:内部不存在震荡源,上 电后不会发出声音,需要给定一个震荡

震荡源

波 -> 音调不同 高音 高频 低音 低频 音量 -> 振幅大小

例:频率:200HZ,占空比:50%,利用定时器使蜂鸣器发出声调

定时器定时时间:1 / 200HZ = 0.005s

0.005 / 2 = 0.0025s

12MHZ * 10 ^ 6 = 12,000,000HZ

12分频: 12,000,000 / 12 = 1000 000HZ

时间:1 / 1000 000HZ = 0.000001s

计数次数: 0.0025s / 0.000001s = 2500

初值:65535 - 2500 = 63035

练习:利用定时器0中断实现蜂鸣器发出400HZ 的声调

相关推荐
智者知已应修善业1 小时前
【51单片机初始化D5-D8亮,每按键按下D1到D4全亮,再按下恢复,如此循环】2024-3-26
c++·经验分享·笔记·算法·51单片机
踏着七彩祥云的小丑2 小时前
嵌入式测试第 32 天:升级测试:固件OTA升级、断点续传、回滚测试
单片机·嵌入式硬件·学习
点灯小铭2 小时前
基于单片机与DAC0832的双路波形信号发生系统设计
数据库·单片机·mongodb·毕业设计·课程设计·期末大作业
sramdram3 小时前
基于MCU微控制器的电子血压计应用解决方案
单片机·嵌入式硬件·mcu·mcu微控制器
Szime3 小时前
AD9218 国产替代方向:双通道 10 位 105MSPS ADC 选型支持
单片机·嵌入式硬件·fpga开发·汽车
凡人叶枫3 小时前
Effective C++ 条款15:在资源管理类中提供对原始资源的访问
linux·开发语言·c++·stm32·单片机
数智工坊3 小时前
机器人控制总线深度解析:CAN与EtherCAT,谁在决定机器人的稳定性?
嵌入式硬件·学习·机器人
张海森-1688204 小时前
库里搜索函数 api接口__grep命令
单片机
mmmayang4 小时前
从简单的 CC 显示器入门嵌入式
嵌入式硬件·计算机外设
xxwxx__5 小时前
51单片机定时器/计数器中断详解(T0和T1)——从入门到精通
c语言·单片机·嵌入式硬件·51单片机