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

相关推荐
吠品4 小时前
智谱开源 ZCode 之后,真正的考试才开始
单片机·嵌入式硬件·1024程序员节
Chery11406 小时前
高速ADC与精密DAC怎么选?DP9230D与DP8532D应用解析
嵌入式硬件·物联网·射频工程
小李不想当小白9 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米9 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
尼喃10 小时前
662K/65Z5三脚稳压芯片规格书—PW6566B33/B30引脚功能
嵌入式硬件
创界工坊工作室10 小时前
63-基于STC89C52霍尔传感器的智能化电能表设计
stm32·单片机·嵌入式硬件·51单片机·proteus
智购科技自动售货机厂家11 小时前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
Zwawa13 小时前
从 printf 到曲线:把数据送上 VOFA+
c语言·单片机·嵌入式
意法半导体STM3213 小时前
【官方原创】LAT6048 如何扩大MP2的A35核和M33核共享内存
stm32·单片机·嵌入式硬件·内存映射·stm32mp2
en.en..13 小时前
STM32(F429)启动模式与两种烧录方式
stm32·单片机·嵌入式硬件