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 的声调

相关推荐
续写烂尾2 小时前
SD NAND存储实测:正点原子STM32精英板SDIO读写验证全流程
stm32·单片机·嵌入式硬件
zlinear数据采集卡4 小时前
USB HS 480M高速传输与SRAM记录仪:DABM-D223数据存储系统全解析
arm开发·嵌入式硬件·fpga开发·开源
wuyk5554 小时前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
Crkylin5 小时前
Cortex-M SysTick系统滴答定时器详解
单片机·嵌入式硬件
Hello_Damon_Nikola5 小时前
AC7911从入门到精通
开发语言·嵌入式硬件·物联网·php
gscsded6 小时前
AUTOSAR CanTp 模块学习笔记
单片机·嵌入式硬件·汽车
Hello_Damon_Nikola6 小时前
扰流筋从原理到应用
人工智能·单片机·嵌入式硬件
某林2126 小时前
从“仿真能跑”到“真机能走”:一套轮腿机械狗强化学习系统的工程化实践
人工智能·stm32·嵌入式硬件·架构·机器人·机械狗
luiyarch7 小时前
IP8到底是什么?
嵌入式硬件·车载系统
hongmai6668887 小时前
ESP32-WROVER-B-N8R8:8MB PSRAM加持的经典双核模组,现在还值得选吗?
单片机·嵌入式硬件·物联网·智能路由器·risc-v