- 博客(53)
- 收藏
- 关注
原创 蓝桥杯数码管动态显示
显示日期:#include "reg52.h"unsigned char code SMDD_duanma[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,...
2022-02-08 09:04:42
746
原创 蓝桥杯数码管静态显示
分为段码(a,b,c,d,e,f,g,dp)和公共端可理解为P0口直接控制这个端口了公共端由Y6控制 。Y7控制段码,Y6控制公共端例题:让第一个数码管显示数字6#include "reg52.h"unsigned char code SMDD_duanma[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,...
2022-02-08 09:03:08
606
原创 蓝桥杯蜂鸣器与继电器
N_BUZZ低电平鸣叫给继电器一个低电平。ULN是一个达林顿管,一个驱动管,理解为一个放大的倍数比较大的三极管,IN4,7应输入高电平.例题:让8路LED指示灯闪烁3遍然后熄灭,接着依次点亮LED指示灯,最后依次熄灭指示灯,继电器吸合一会后断开然后依次熄灭LED灯,蜂鸣器鸣叫一会后关闭。#include "reg52.h"sbit HC_138A=P2^5;sbit HC_138B=P2^6;sbit HC_138C=P2^7;void Delay(un.
2022-02-08 08:59:38
465
原创 蓝桥杯单片机Led灯部分
74HC138三八译码器和74HC573锁存器和74HC02或非门P0口通过锁存器来控制单片机138译码器又受到P25,26,27的控制#include "reg52.h"sbit HC_138A=P2^5;sbit HC_138B=P2^6;sbit HC_138C=P2^7;void Delay(unsigned int t){while(t--);while(t--);}void LED_Running(){...
2022-02-08 08:54:11
785
原创 蓝桥杯单片机DS18B20温度读取
流程:①:DS18B20复位。②:写入字节0xcc,跳过ROM指令。③:写入字节0x44,开始温度转换。④:延时700~900ms⑤:DS18B20复位。⑥:写入字节0xcc,跳过ROM指令。⑦:写入字节0xbe,读取高速暂存器。⑧:读取暂存器的第0字节,即温度数据的LSB。⑨:读取暂存器的第1字节,即温度数据的MSB。⑩:DS18B20复位,表示读取数据结束。11:将LSB和MSB整合成为一个16位数据。12:判断读取结果的符号,进行正负温度的数据处理。vo
2022-02-06 22:54:31
4270
2
原创 蓝桥杯单片机DS1302时钟
采用SPI三线接口与MCU进行同步通信,并可采用突发方式一次传送多个字节的时钟参数和RAM数据。日历时钟寄存器有8个存储单元:所以,我们需要三个数组:定义DS1302读操作的日历时钟存储器地址r_add[] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};定义DS1302写操作的日历时钟存储器地址w_add[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};定义DS1302日历时钟的7个配置参数:..
2022-02-06 22:22:56
989
原创 蓝桥杯单片机超声波测距
原理:根据S=V*t;要想测出距离,我们得知道V=340m/s,也就是声速,转换单位就是34000cm/s,时间通过定时器来获取,超声波发出一个声波后,遇到障碍物返回所需要的时间我们除以2就是所要的时间。我们采用定时器0,1T的工作模式:void Timer0Init(void) //100微秒@11.0592MHz{AUXR |= 0x80; //定时器时钟1T模式TMOD &= 0xF0; //设置定时器模式TL0 = 0xAE; //设置定时初值TH0 = 0x
2022-02-05 23:54:03
2286
原创 蓝桥杯NE555定时器与频率测量
使用的是蓝桥杯单片机CT107D实训平台:555定时器内部,有3个5K的电阻分压。NE555是一个纯硬件的设计,一旦电路确定了,其功能也就定了。在蓝桥杯的板子上,555定时器是一个信号发生电路,通过定位器Rb3可改变输出信号的频率。频率就是信号1s产生的信号或者周期。1HZ就是1s有一个信号(脉冲)P34引脚计算外部脉冲的个数,但是有时间要求,1s之内。我们需要两个定时器,一个用来计数,一个用来定时。定时器最多能计时间65.355ms 所以需要先50ms 然后✖20就是1
2022-02-05 22:53:19
3570
1
原创 STM32单片机DMA实验
DMA配置的一般步骤:①:使能DMA时钟RCC_AHBPeriphClockCmd();②:初始化DMA通道参数:DMA_Init();③:使能串口DMA发送,串口DMA使能函数USART_DMACmd();④:使能DMA1通道,启动传输。DMA_Cmd();⑤:查询DMA传输状态:DMA_GetFlagStatus();⑥:获取/设置通道当前剩余数据量:DMA_GetCurrDataConuter();DMA_SetCurrDataCounter();
2021-11-24 20:59:32
860
原创 STM32板子ADC模数转换实验
一般步骤:①:开始PA口时钟和ADC1时钟,设置PA1为模拟输入GPIO_Init();APB2PeriphClockCmd();②:复位ADC1,同时设置ADC1分频因子。RCC_ADCCLKConfig(RCC_PCLK2_Div6);ADC_DeInit(ADC1);③:初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。void ADC_Init(ADC_TypeDef*ADCx,ADC_InitTypeDef*ADC_InitStruct);④:使
2021-11-23 20:14:02
1196
原创 java界面CardLayout实现按键可用
开发一个界面,通过按键可以控制他的移动。import java.awt.BorderLayout;import java.awt.Button;import java.awt.CardLayout;import java.awt.Frame;import java.awt.Panel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class CardLayoutDemo {
2021-11-22 20:46:08
406
原创 STM32定时器中断实验
情况如下:通过定时器中断配置,每500ms中断一次,然后中断服务函数中控制LED实现LED1状态取反(闪烁)[其中,我们可以在里面创新一下,我创新的是蜂鸣器200ms响一次,然后500ms,LED1取反]一般步骤就是:①:使能定时器时钟RCC_APB1PeriphClockCmd();②:初始化定时器,配置ARR,PSCTIM_TimeBaseInit();③:开启定时器中断,配置NVICvoid TIM_ITConfig();NVIC_Init();④:使能定时器T
2021-11-15 21:06:25
920
1
原创 STM32窗口看门狗实验
情景如下:led一闪一灭,当我们按下某个按键时,他就保持亮,不按的话就会闪烁,实现一直按一直亮,不按则闪烁。窗口看门狗实验一般步骤:①:使能看门狗时钟:RCC_APB1PeriphClockCmd();②:设置分频系数WWDG_SetPrescaler();③:设置上窗口值WWDG_SetWindowValue();④:开启提前唤醒中断并分组(可选)WWDG_EnableIT();NVIC_Init();⑤:使能看门狗WWDG_Enable();⑥:喂狗
2021-11-15 19:40:40
3820
原创 STM32独立看门狗实验
情景如下:led一闪一灭,当我们按下某个按键时,他就保持亮,不按的话就会闪烁,实现一直按一直亮,不按则闪烁。基本步骤如下:①:取消寄存器写保护:IWDG_WriteAccessCmd();②:设置独立看门狗的预分频系数,确定时钟:IWDG_SetPrescaler();③:设置看门狗重装载值,确定溢出时间:IWDG_SetReload();④:使能看门狗IWDG_Enable();⑤:应用程序喂狗:IWDG_ReloadCounter();老规矩:还是先写.h
2021-11-13 17:26:48
384
原创 STM32外部中断实验
我们都知道一个板子的外部中断很重要,可以相当于一个“”“开关”“”的作用,就是优先去做这个事情。那么,STM32板子的外部中断是怎样的呢。首先,按照我写代码的顺序,我习惯先写.h文件(一般这种格式都一样,也没什么特别好讲的)#ifndef __EXTI_H#define __EXTI_Hvoid EXTIX_Init(void);#endif然后,开始写.c文件我们记住写外部中断的几个步骤:①:初始化IO口为输入GPIO_Init();②:开启IO口复用时钟RCC_A
2021-11-13 16:32:53
1316
原创 STM32串口通信实例
串口配置的一般步骤:①:串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();串口作为外设,首先要使能时钟,使能串口引脚,譬如使能GPIOA的时钟②:串口复位:USART_Delnit();这一步不是必须的。③:GPIO端口模式设置:GPIO_Init();初始化GPIO④:串口参数初始化:USART_ lnit();⑤:开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)NVIC_lnit();USART_ITConfig();⑥
2021-11-09 21:48:55
5674
原创 STM32蜂鸣器实验
完成这个和之前的跑马灯实验类似,也是①:使能时钟②:初始化GPIO口③:设置延迟函数,电平控制输出。首先,我们先看原理图:我们从这可以看到BEEP用的是GPIOB的PIN8那么我们来先写beep.h文件#ifndef __BEEP_H#define __BEEP_Hvoid BEEP_Init(void);#endif然后写beep.c文件#include "beep.h"#include "stm32f10x.h"void BEEP_Init(voi.
2021-11-07 19:14:58
374
原创 STM32跑马灯实验(寄存器版本)
思路还是:①:使能IO口时钟。②:初始化IO口③:操作IO口,输出高低电平。首先,我们先看原理图找到其中LED0和1的位置,分别对应PB5和PE5的GPIO口。我们第一步,先写led.h文件#ifndef __LED_H#define __LED_Hvoid LED_Init(void);#endif然后来配置寄存器,写led.c文件首先,我们先找到使能时钟寄存器我们需要使用的是GPIOB和E我们将它开启步骤就是:可以搜索RCC然..
2021-11-07 18:20:29
1274
原创 STM32跑马灯实验(库函数版本)
这应该是初学者的第一个实验吧,最简单的一个实验主要思路就是:①:使能IO口时钟。调用函数RCC——APB2PeriphColckCmd()不同的IO组,调用的时钟使能函数不一样。②:初始化IO口模式,调用函数GPIO_Init();③:操作IO口,输出高低电平。GPIO_SetBits();GPIO_ReseBits();首先:先写led.h的代码#ifndef __LED_H#define __LED_Hvoid LED_Init(void);#endif
2021-11-06 17:42:23
662
原创 用java制作一个简单的登录界面
只有一个界面,不能实现什么功能import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class LoginWindow2 extends JFrame { public LoginWindow2()...
2021-11-05 20:03:11
2818
1
原创 Python异常处理机制
情景一:当我们算除法时,如果遇到除数为0时,会有故障产生a=int(input('请输入第一个整数'))b=int(input('请输入第二个整数'))result=a/bprint('结果为:',result)出现故障如下:ZeroDivisionError: division by zero我们可以用try expect 来解决:try:a=int(input('请输入第一个整数'))b=int(input('请输入第二个整数'))result=...
2021-11-05 19:55:43
192
原创 Python函数笔记
Python中函数的一些知识点一:函数的创建和调用二:函数的参数传递三:函数的返回值四:函数的参数定义五:递归函数一:函数的创建和调用函数的创建:def calc(a,b):c=a+breturn cresult=calc(10,20)print(result)二:函数的参数传递位置实参:·根据形参对应的位置进行实参传递关键字实参:·根据形参名称进行实参传递三:函数的返回值例题:输出奇数偶数分好类的def fun(num):...
2021-11-02 19:33:01
141
原创 Python中字符串的相关操作
Python中字符串一:字符串的驻留机制二:字符串的常用操作三:字符串的比较四:字符串的切片操作五:格式化字符串六:字符串的编码转换一:字符串的驻留机制仅保留一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,Python中的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。二:字符串的常用操作①:字符串的查询操作s='hello,hello'print(s.index('lo'))pri
2021-10-29 22:45:12
211
原创 Python中的元组以及集合
Python中的元组和集合一:什么是元组二:元组的创建方式三:元组的遍历四:什么是集合五:集合的创建六:集合的增,删,改,查等操作----------------------------------------------------------------------------------------------------一:什么是元组Python内置的数据结构之一,是一个不可变序列。即没有增,删,改的操作。二:元组的创建方式两种方法第一种:直接小括
2021-10-27 01:23:14
233
原创 Python中字典相关操作
Python中有关字典的相关操作一:什么是字典二:字典的创建与删除三:字典的查询操作s四:字典的增,删,改操作五:字典元素的特点六:字典的生成首先,我们先来看定义:一:什么是字典Python内置的数据结构之一,与列表一样是一个可变序列。以键值对的方式存储数据,字典是一个无序的序列键值对:Scores={‘张三’:100,’李四’:40}一对一对存在的。:前面的是键后面是值。二:字典的创建创建有两种方法:①:使用{}定义字典i={'张三':1
2021-10-27 00:42:59
102
原创 Python中列表的相关操作
我是python小白,今天跟大家分享一下我自己学习python列表的一些知识点列表相当于其他语言中的数组一:列表的创建与删除,二:列表的查询操作,三:列表元素的增,删,改,操作四:列表元素的排序五:列表的生成接下来,开始正题:一:列表的创建①:使用中括号list=['hellp','world',98]②:调用内置函数list()list2=list(['hello','world',98])列表的特点:列表元素按顺序有序排序索引映射唯一个数据
2021-10-26 23:51:56
223
原创 Python中的嵌套循环三个例题
嵌套循环例题1:打印一个三行四列的*for i in range(1,4):for j in range(1,5):print('*',end='\t')print()一个小tips:按住windows键和R键输入notepad字母可以创建一个.txt的文件。例题2:输出9行,每一行对应行数个*for i in range(1,10):for j in range(1,i):print('*',end='\t')print(...
2021-10-25 23:49:16
1566
原创 Python中的break和continue的使用
break语句例题:输入密码:第一种for item in range(3):pwd=input('请输入密码')if pwd=='8888':print('密码正确')breakelse:print('密码不正确')第二种a=0while a<3:pwd=input('请输入密码')if pwd=='8888':print('密码正确')breakelse:...
2021-10-25 21:59:55
276
原创 Python中的简单循环while,for以及range函数
一:range函数,用于生成一个整数序列,创建的三种方法range(stop)创建一个(0,stop)之间的整数序列,步长为1.range(start,stop)range(start,stop)第一种创建方式:r=range(10)print(r)print(list(r))range(0, 10)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]range里面一开始写的是几就是从哪开始。或者自己设置步长r=range(1,10,2)print(r)p
2021-10-25 21:40:37
560
原创 Python的结构基础
学习Pyhon基础,今天是结构基础。程序的组织结构 顺序结构 对象的布尔值 分支结构 ·单分支if结构 ·双分支if...else结构 ·单分支if...elif....else结构 ·多分支if...elif...else结构 ·if语句的嵌套 ·条件表达式5.pass空语句①:顺序结构程序从上到下按顺序执行。②:对象的布尔值Python一切皆...
2021-10-20 20:58:38
186
1
原创 Python中的运算符
我是python小白,我用比较简单的知识分享一下python中的运算符·算术运算符·赋值运算符·比较运算符·布尔运算符·位运算符常用运算符①:算术运算符常见的+,-,*,/,//整除运算,%,**(几次方)。需要注意的是:一正一负的运算是向下取整。print(9//4)#2print(-9//-4)#2print(9//-4)#-3print(9%-4)#-3 公式 余数=被除数-除数*商②:赋值运算符运算顺序,从右向左执行a=3+4;pr..
2021-10-18 22:20:50
144
1
原创 Python数据类型及转换
我是python小白,我将用通俗易懂的操作告诉你python数据类型及转换的知识点。一:首先,它分为int,float,bool,str类型。Int98 float3.1415926 bool True False 最常见的字符串str ‘人生苦短’。①:整数类型intInt可以表示正数,负数,和零n1=90n2=-76n3=0print(n1,type(n1))整数可以表示为2进制,8,10,16进制。print(‘二进制’,0b10101111)prin...
2021-10-17 19:23:48
225
1
原创 Python爬虫爬取数据
我是Python小白,我会用比较通俗易懂的方法告诉你如何去爬取数据。一开始,我们需要pycharm(也就是我们编代码的工具),其次我们需要打开我们需要爬取数据的网页,我以京东鞋子为例。那么,接下来就开始吧首先,我们打开京东,搜索鞋子。随便点进去一个,找到他的评价右击空白处,点检查,出现以下界面时,我们点Network,然后刷新我们找到的京东鞋子界面,就可以看到他出来很多东西,如下图所示这时候,我们打开评论,随便找到一个评论,复制一下,然后找到有一...
2021-10-16 20:37:01
13604
6
原创 C51的串口通信
还记得自己学习51单片机发现有趣的现象,就是你给寄存器上附上一定的值,然后进行一些设置,他就能自动将这个值通过一定的格式去发送,如果用其他单片机或者电脑就可以接受这个数据,实现单片机和其他系统的通信。那么,接下来我讲解一下自己的见解。一:硬件基础通信:就是发送和接受。那我们来看单片机的,有一个TxD,T的话就是Transmit就是发送的意思,那么它的发送端对应的就是P3.1,RxD,R的话就是Receive就是接受的意思,那么它的接受端对应的就是P3.0假设这个就是我们使用的单片机,单片机通
2021-09-17 23:27:24
1090
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人