-
矩阵键盘的原理图和基本原理原理图基本原理首先我们要进行扫描,扫描矩阵键盘中每个按键的状态,对与矩阵键盘,我们只能逐行扫描,然后读取列的状态信号。如果R3行输出低电平,那么黄色按键如果有按下动作的话,那读取C2列信号也应该为低电平,而该行上其他没有按下动作的按键的列信号则为高电平。每个按键内部的结构独立按键-矩阵键盘检测每次输入检测是都只保证一个为低电平,其余...[详细]
-
C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识。1位操作下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持以下六种位操作:79c55d0c-080b-11ed-ba43-dac502259ad0.png下面,重点讲解一下位操作在单片机开发中的一些实用技巧。1.1在不改变其他位的值的状况下,对某几个位进行设...[详细]
-
/***************************//*头文件名:LCD液晶驱动*//*Target:m16*//*Crystal:8.0000Mhz*/#ifndef_LCD_H_#define_LCD_H_#includeDELAY.H/*------AVR与LCD连接信息-------------------------------...[详细]
-
IIC应用笔记IIC总线相关知识:1.起始信号:时钟线保持高电平时,数据线上出现由高变低的信号。2.停止信号:时钟线保持高电平时,数据线上出现由低变高的信号。3.数据传输:时钟线为高电平时,数据线上的逻辑状态必须保持一致。时钟线为低电平时,允许数据线上的电平发生变化(即传输)。4.起始信号和停止信号都由主控制器产生,应答信号在每个数据传输后的第9个时钟周期由接收器...[详细]
-
1引言能源是人类社会存在和发展的重要物质基础,随着社会的发展,能源日渐减少,并伴随着环境问题日益突出,使得越来越多的国家把目光投向可再生能源。太阳能作为重要能源之一,以其永不枯竭,无污染等优点,正得到迅速的发展。但是太阳能电池在其工作过程中,由于受环境(主要包括日照强度,温度)的影响,其输出具有明显的非线性特性,造成电池与负载之间的不匹配,从而不能使太阳能最大效率地转化为电能输出。为了实...[详细]
-
在外部中断和中断控制器中,我们首先阐述嵌套向量中断控制器(NVIC),他和处理器核的接口紧紧相连。可以实现低延时的中断处理和处理晚到的中断。主要具有以下几个特点:1.60个可屏蔽中断通道;2.16个可编程的优先等级;3.低延时的异常和中断处理;4.电源管理控制;5.系统控制寄存器的实现。其中每一个STM32系列芯片都会有一个产品向量表,博友们可以在相关产品说明书中查看具体的中断问题...[详细]
-
设计要求:用七段数码管显示数字0~9(代码来源于指导书)#includereg51.hvoidcct_init(void);voiddelay(int);voidDisplayOn7Segment(char);intmain(void){charch='0';//Charactertobedisplayed...[详细]
-
随着社会的发展和人们生活水平的提高,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了很多的方便和享受,同时随着电话在家庭中的普及,利用电话实现家用电器遥控是家用电器未来的发展方向[1]。本文介绍一种基于单片机的电话遥控装置。利用该装置,用户可以通过任意一部双音频电话(包括手机和固定电话)遥控家中的电器。当用户要下班时,可以通过电话,提前打开空调、电饭锅,用户回到家里时,饭煮...[详细]
-
这个程序实现K1D和中国电信机顶盒遥控器解码。刚刚从51单片机转到AVR,也刚刚学习用C编程,一些语句格式纠错搞了一天,终于完成,效果很好。共享给大家。我这里只贴上解码部分的文件,显示部分文件就算了。大家知道的。第一次发帖,请大家鼓励一下!//ICC-AVRapplicationbuilder:2020/3/25//Target:8515TH186_K1D遥控...[详细]
-
STM32定时器是STMCU内部最基础且常用的外设,实际应用尤为普遍。去年,电堂推出了《STM32TIMER基础及常规应用介绍》,为大家梳理了STM32TIMER的庞大内容,涵盖TIMER的基本应用原理、常规应用等。现在将课程内容整理为文章,针对STM32定时器有基本了解的用户,分享具体的应用实现环节及常见问题解决。STM32定时器除了基本计数定时功能外,还对外...[详细]
-
LCD有如下控制线:CS:ChipSelect片选,低电平有效RS:RegisterSelect寄存器选择WR:Write写信号,低电平有效RD:Read读信号,低电平有效RESET:重启信号,低电平有效DB0-DB15:数据线假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多):如果情况如下:DB0-DB15的IO全部为1(表示...[详细]
-
1.硬件图对应的按键分别为PA0,PE4,PE3,PE2。其中KEY_UP按下时,PA0为高电平,因此应设置下拉输入。K1~K3按下时,PE4~PE2为低电平,因此应设置上拉输入。2.按键扫描:首先,按键输入这一从高电平变为低电平的动作才能任为按键按下,并不只是检测到有按键输入就是按键按下。其次,这里需要考虑按键一直处于按下状态时的情况。最后,需要对按键按下进行防抖确认。3...[详细]
-
#includereg51.h#includeintrins.h#includemath.h#includestring.hstructPID{unsignedintSetPoint;//设定目标DesiredValueunsignedintProportion;//比例常数ProportionalConstunsignedint...[详细]
-
voidSysTick_Config(void);//SysTick定时器配置voidDelay_Ms(u32);//定时时间配置voidvoidSysTickHandler(void);//中断定时时间处理函数staticvu32TimingDelay;//中断处理函数//SysTick设置voidSysTick_Config(void){...[详细]
-
这两天一直想着如何去实现一个串口接收缓存。试着用stm32的DMA去实现,但总是不是很方便,自己写了个循环存储的程序,但是总有些问题。今天看到网上的一段代码,感觉自己写的程序就是渣渣,疯狂用条件判断,但没有将这种想法提升到数学方法的层次,只局限于描述现象。特将FIFO的代码复制过来,供学习用。由一个串口接收数据引发的问题与字节缓冲流系统的设计 在一个wifi数据收发...[详细]