自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 蓝桥杯51单片机-ds1302的应用

对于基本计时应用,重点关注的是日历时钟寄存器。设定时间参数就是往这些寄存器写入内容,读取实时时间也是从这些寄存器读出数据。通过上面的控制字格式,大家就可以明白为什么DS1302读寄存器和写寄存器的地址是不一样的了,因为这个地址包含了读写控制位。为了方便程序设计,我们把读寄存器地址、写寄存器地址和日历时钟寄存器方面用三个数组定义。DS1302有关日历和时钟的寄存器有12个,我们最常用的有7个。DS1302是美国DALLAS公司推出的高性能、低功耗的实时时钟。,但BCD码表示的是整数。日历时钟数据读取函数。

2024-03-17 16:37:24 195

原创 蓝桥杯51单片机-常用函数

2.初始化开发板函数。

2024-03-14 13:28:02 167

原创 蓝桥杯51单片机-AT24C02模块(EEPROM)的应用

A0-A2是在I2C总线协议中识别AT24C02的器件地址,高4位是生产厂家规定器件地址为1010(不可更改),而A0-A2器件地址有三位,也就是说在I2C总线系统中,最多识别到8个AT24C02串行时钟信号引脚(SCL):在 SCL 输入时钟信号的上升沿将数据送入 EEPROM 器件,并在时钟的下降沿将数据读出。串行数据输入/输出引脚(SDA):SDA 引脚可实现双向串行数据传输。该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。写保护引脚。

2024-03-12 20:44:27 661

原创 蓝桥杯51单片机-串口通信的基本原理和应用

基本功能:系统上电初始化之后,单片机向上位机发送两个字节:0x5a和0xa5,然后等待接收上位机的数据,每接收到一个字节后,在该字节的基础上加然后返回给上位机。,因此,如果使用串口通信,则定时器1就不能做其他用途,在初始化串行接口模块的时候,除了要配置SCON寄存器之外,还有根据波特率参数设置定时器1的技术初值。 计算机的串行通信接口是RS-232的标准接口,而单片机的UART接口则是TTL电平,两者的。进行设置,否则是无法进行串口数据收发的,对于传统的89C52单片机,则不需要这个步骤。

2024-03-10 16:24:22 397

原创 蓝桥杯51单片机-PWM脉宽调制信号的发生和控制

我们以LED1为例,因为在CT107D平台上,LED在低电平点亮,高电平熄灭,所以在PWM中,低电平相当于高电平,高电平相当于低电平,默认状态下L1=1,当我们按下按钮,L1=0,PWM_duty=10,即在0-10为低电平,10-100为高电平,相当于10%占空比。pwm的调节作用来源于对“占周期”的宽度控制,“占周期”变宽,输出的能量就会提高,通过阻容变换电路所得到的平均电压值也会上升,“占周期”变窄,输出的电压信号的电压平均值就会降低,通过阻容变换电路所得到的平均电压值也会下降。

2024-03-10 15:56:18 873

原创 蓝桥杯51单片机-定时器的基本原理和应用

假设单片机的外部晶振为12MHz,那么,经过12分频后输入计数器的计数脉冲为1MHz,即每个脉冲的周期为1us。),再输入一个计数脉冲,计数器便会溢出回零,并且计数器的溢出是TCON寄存器的TF0或TF1位置1,同时向内核提出中断请求。如果定时/计数器工作于定时模式,则表示间隔定时时间到,如果工作与计数模式,则表示计数值已满。基本功能:利用定时/计数器TO的模式1实现间隔定时,每隔1秒LED1闪烁一下,也就是点亮0.5秒,熄灭0.5秒;在定时/计数器的程序设计中,通常有两个函数:初始化函数和中断服务函数。

2024-03-09 16:58:18 1283

原创 蓝桥杯51单片机-中断系统与外部中断应用

如果比作我们的房子,EA相当于总电闸,其他ES,ET1,EX1,ET0,EX0相当于每个房间的电闸。我们把EX0当作我们自己的房间,如果要使用我们自己房间的电,那么既需要打开总电闸,又需要打开自己房间的电闸EX0,即。首先我们需要将P32引脚定义成外部中断功能,根据原理图,我们看到P32连接的是INT0,即外部中断0,我们要使用外部中断0,就要使用初始化函数和中断服务函数。以上为我们需要用到的模块,我们使用独立按键,需要用盖帽将J5的2,3短接,即连接中间和右边的排针。{ ----函数体---- }

2024-03-09 16:17:22 450

原创 蓝桥杯51单片机-矩阵键盘扫描原理和基本应用

每一列我们都设为高电平,而在行里,只有第一行是低电平,其他行是高电平,根据原理图,当我们随机按下第一行的一个按键S7,S11,S15,S19时,那它对应的列也会被拉低,变成低电平,而其他列一直保持高电平,此时我们就能通过哪一列为低电平来判断是哪个按键被按下。也就是说,当执行以上代码时,按键的行先被确定,默认为第一行,再通过哪一列为低电平判断按键的列,当这两个部分都被确定好之后,那么是哪个按键被按下我们就能得知了,明白这些之后,我们就能很轻松地完成基本功能,以下是代码。烧录进单片机后就能看到现象了。

2024-03-08 20:58:40 408 1

原创 蓝桥杯51单片机-独立按键的基本操作

那么当按键按下时P30为低电平,我们可以作为判断按键按下的条件,防抖动一般可以采用延时函数解决,而判断是否松开,我们可以从P30的状态判断,如果P30一直为低电平,则表明一直在按住,如果松开,则为高电平,我们可以用while函数来实现,至此这三个条件都实现,那么我们可以来实现基本功能。按键按下时端口的状态;我们从这几点出发,以S7为例,它一边端口为GND,一边端口为P30,因为。基本功能:按下S7点亮L1指示灯,松开按键熄灭,S6点亮L2指示灯,S5点亮L3指示灯,S4点亮L4指示灯,都是松开熄灭。

2024-03-07 20:01:55 284 1

原创 蓝桥杯51单片机-共阳极数码管的显示

共阴不带小数点0-F段码为:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};共阳带小数点0-F段码为:{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};我们要点亮数码管,分为两步,一个是输入编码(段选),一个是选择公共端(位选),即位置。可以在数码管的第7个位置显示5。

2024-03-07 17:38:56 2189 2

原创 蓝桥杯51单片机-蜂鸣器和继电器的基本控制

接下来我们一步步分析如何实现,根据原理图,我们发现控制蜂鸣器和继电器与LED的控制大同小异,可以参考上一篇博客,唯一的区别在于多了一个ULN2003,它的OUT1-OUT8是将IN1-IN8进行取反操作,其中OUT5和OUT7分别为继电器和蜂鸣器。为例,首先这行代码先对P2进行了与操作(当A,B都为1时,其值为1,否则为零),我们拆开来看。我们可知,与操作是将P2.7,P2.6,P2.5初始化为0,其他端口置1。再看或操作(当A,B都为0时,其值为0,否则为1)以上为控制蜂鸣器和继电器的基本模块。

2024-03-07 15:02:21 393

原创 蓝桥杯51单片机-LED指示灯的基本控制

所以需要Q1-Q8输出低电平,我们要保证OE端为低电平、LE端为高电平,D1-D8为低电平,即P0端口全部为0,接下来我们一步步分析。OE已经接地,默认为低电平,这个条件已经满足。然后是LE端,我们看到它的网络标号是Y4C,我们需要它为高电平,而它的电平取决于74HC02四输入或非门,以下为或非门真值表。结合原理图分析,我们需要Y4C输出为高电平,那么得保证它的输入端都为0,WR我们可以理解低电平,那么我们需要保证Y4为低电平,而Y4的电平取决于74HC138译码器。其中X为叉号,表示无关,

2024-03-06 19:53:41 447

原创 蓝桥杯51单片机基本概述

单片机扩展接口如图 1 所示,其中 00~07 对应单片机的 P0 口,P10~P17 对应单片 机的 P1 口,P20~P27 对应单片机的 P2 口,P30~P37 对应单片机的 P3 口,ALE 对应单 片机的 ALE 管脚(ALE 管脚同时接载 Atmega16 单片机的 AREF 管脚上)。1、2 短接:选择 UART 功能,USB 接口用作串行通信。5、3 短接,6、4 短接:选择红外发射/接收功能。1、3 短接,2、4 短接选择超声波测距功能。1、2 短接:选择 51 系列单片机。

2024-03-06 15:24:43 385

原创 STM32HAL库+proteus仿真 1.点亮LED灯+流水灯

翻转端口电平,如果是高就变低,如果是低就变高。双击stm32,传入hex文件 (路径在 \MDK-ARM\LED)2.配置stm32cubemx,其他步骤和上面一样,只需修改端口。3.proteus仿真(笔者使用proteus8.15)传入即可看到D1到D8循环点亮,是不是很简单呢?然后仿真,可以看到LED被点亮o(* ̄︶ ̄*)o。1.建立stm32cubemx工程文件。选择stm32f103c8t6。根据仿真,LED低电平点亮。

2023-07-25 19:37:05 889

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除