- 博客(23)
- 收藏
- 关注
原创 51单片机DS1302
DALLAS公司推出的。采用SPI三线接口与MCU进行同步通信,并可采用突发方式一次传送多个字节的时钟参数和RAM数据。附加31字节的静态RAM。简单来说,DS1302可以理解为一个电子手表,里面带有一个31字节的RAM内存。在DS1302中有两块存储器:日历时钟寄存器和静态RAM存储器。前者用于记录实时时间,后者用于记录其他数据。
2025-03-15 14:04:24
221
原创 C语言 数组、指针
例:char ch [5] = {'a','b','c','d','e'};//定义了一个数组名为score的一维数组,由40个元素构成,每个元素的类型都是int。<类型标识符> *<标识符> //表明<标识符>是存放<类型标识符>类型变量的地址变量。其中元素的取用:对于第一个元素的取只有,score[0]和score[1],其中两个分别是。//ptr是被说明的对象,*表示ptr的类型是指针类型。格式:<类型说明符> <数组名> <常量表达式>数组的访问:<数组名> <下标表达式>
2025-03-13 20:14:57
477
原创 C语言运算符
(加)、-(减)、*(乘)、/(除)、%(取余)、++(加一)、--(减一): #若除数和被除数都是整数,则只取整数部分。如6 / 4 = 1#若除数和被除数中只要有一个是实数,则结果是double型,如6 / 4.0 =1.5:求出%两侧的整型数据整除后的余数,如6 % 4 = 2,因为6除以4的余数是2既可以做前缀,也可以做后缀#++i,先使 i 加一,再取 i 的值#i++,先取 i 的值,再使 i 加一注: #要求%的操作数必须是整型。# /和%的操作数不能为0。
2025-03-12 13:23:39
304
原创 STM32TIM定时中断
.TIM(Timer)定时器<.定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断<.16位计数器预分频器自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时<.不仅具备基本的定时中断功能,而且还包含等多种功能<.根据复杂度和应用场景分为了高级定时器(TIM1/TIM8)、通用定时器(TIM2/TIM3/TIM4/TIM5)、基本定时器(TIM6/TIM7)三种类型。
2025-03-05 20:43:31
238
原创 STM32 EXTI外部中断
EXTI(Extern Interrupt)外部中断EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序支持的触发方式:上升沿/下降沿/双边沿/软件触发支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(用pinA0,就不可以用pinB0)16个GPIO Pin,外加PVD输出、RTC闹钟、IUSB唤醒、以太网唤醒触发响应方式:中断响应/事件响应。
2025-03-04 20:06:38
604
原创 51单片机串口通信
并行:数据的各位同时发送或接收,每个数据为使用一条导线。串行:数据一位接以为地顺序发送或接收串行通信有SPI、IC、UART等多种,最常见最通用的是指UART,大多数情况下,串口通信指的就是三种。RS485总线是半双工的通信制式。:需要使用同一个时钟,以数据块为单位传送数据。:每个设备都有自己的时钟信号,通信中双方的波特率要保持一致,以字符为单位进行数据帧传送,一次传送一个帧。
2025-02-28 08:10:52
249
原创 GPIO输出
GPIO(General Purpose Input Output)通用输入输出口*可配置为8种输入输出模式*引脚电平:0V~3.3V,部分引脚可容忍5V*输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器模拟通信协议输出时序等*输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。
2025-02-25 08:39:16
240
原创 51单片机定时器与计数器
(1)有两个16位可编程定时/计数器——T0和T1(2)既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能(3)定时器计数器有很多种工作方式,T0有4种工作方式,T1有3种工作方式。(4)定时计数时间到时溢出,使相应的溢出位置位,可以通过查询或者中断方式来处理。
2025-02-23 19:09:52
670
原创 STM32简析
注意:供电电压是2.0-3.6V,51单片机使用的是5V ,USB输出电压也是5V,不可以直接给它供电,需要加上稳压芯片。2.片上资源/外设NVIC:管理中断优先级SYsTick:定时,任务切换,delay函数RCC:其他的外设在上电的情况下默认是没有时钟的,所以需要RCC时钟,先使能RCC,外设才会工作。GPIO:通用IO口,可以用来点灯,读取按键等红色:电源相关引脚蓝色:最小系统相关引脚绿色:IO口、功能口相关引脚S:代表电源I:代表输入O:代表输出IO:代表输入输出。
2025-02-21 14:57:33
210
原创 中断系统与外部中断
内核与外设之间的主要交互方式有两种:轮询和中断。轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件;中断系统使得内核具备了应对突发事件的能力。在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行。这种程序在执行过程中由于外界的原因而被中间打断的情况,称为中断。中断服务函数:内核响应中断后执行的相应处理程序。
2025-02-20 18:28:11
257
原创 矩阵键盘的基本操作
1.首先将其他所有行和列全部置1,第一行置0,然后依次检测各列,是否为0。有则为第一行,和那一列。没有就再检测下一行,然后依次各列。2.定义一个number,哪一行,哪一列,number就是对应的数字。注意:上图第一列和第二列,是P4。头文件没有关于P4的地址,所以要先定义P4地址。
2025-02-20 17:25:57
171
原创 独立按键的基本操作
按键S5和S4为控制键,按键该键点亮指定的LED指示灯,松开后熄灭。按下S7点亮L1指示灯,L1点亮后,S6不响应操作,S5控制L3,S4控制L4,再次按下S7,L1指示灯熄灭,S6可可响应操作。按下S6点亮L2指示灯,L2点亮后,S7不响应操作,S5控制L5,S4控制L6,再次按下S6,L2指示灯熄灭,S7可可响应操作。2.需要定义一个状态,状态初始为0,当我们给L1点亮之后,给状态赋值为1。S7和S6未按下时,即L1或L2未点亮时S5和S4不响应操作也就是未作LED灯区域选择时,控制键不能操作。
2025-02-18 18:53:23
305
原创 数码管动态显示
想要显示“2025--月份”就要不断循环显示每一位。所以要先定义每一位显示的东西,和单个数码管自由显示函数。<月份不断显示的话,十位就用month/10,个位就用month%10。动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。<首先还是给出段码,然后选择138译码器通用代码。<再来一个消除开始噪音的,也就是初始化。
2025-02-18 15:00:34
202
原创 led蜂鸣器与继电器控制
在CT107D单片机综合训练平台上实现蜂鸣器与继电器的基本控制,首先让8路LED指示灯闪烁3遍后熄灭,接着依次点亮LED指示灯,继电器吸合一会后断开,然后依次熄灭LED指示灯,蜂鸣器鸣叫一会后关闭,程序循环实现上述功能。N UBZZ 蜂鸣器管脚给低电平就叫,高电平就不叫。
2025-01-23 21:57:18
197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人