自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 51单片机学习/直流电机驱动

连接其Gnd的这个二极管叫做续流二极管,正常启动的时候IN口给零(低电平),电流从VCC口顺着三极管向下驱动电机。但电感有一种特性,它会保证流过电感的电流保持不变,但是上面的电路已经断开从而会形成很强的对抗,感应出高电压来使它有电流,导致io口被击穿。续流二极管的存在让电流可以向上得到释放,从而保护电路。如果将电机直接连在单片机io口上难以驱动并且会损伤io口,所以在io口和单片机之间加一个驱动电路,这是两种常见的驱动电路。H桥:连通两个对角的三极管,另外对角的两个三极管断开,形成一个可以通过电机的电路。

2023-09-09 23:11:40 346 1

原创 51单片机学习/串口向电脑发送数据&电脑通过串口控制LED

接收数据时当RI=1,这时候SBUF里已经有数据了只需要用P2显示出来,RI和TI都会触发中断,他们共用一个通道,所以需要用if判断一下。选择模式一所以SM0是0,SM1是1 ,还用不上SM2先赋成0,REN根据是否需要接收数据而设0或1,暂时先设0,TB8和RB8用不上先设成0,TI和RI先初始化为0,现在是0100 0000,转换成16进制是0X40。输入F0,发送数据后LED亮左四个灯,输入00,发送数据后LED全亮,输入FF,发送数据后LED全灭,以此类推( 16进制大小写随意)。

2023-08-24 00:20:43 1087 1

原创 51单片机学习/串口通信

DB9比较老少见,传送数据, VGA另一种串口,传送视频比较新。笔记本已无串口接口,多用USB,另一端连接串口线路,和单片机连接.如果两个设备都是独立供电那不连VCC也可以,如果设备2独立供电设备1没有,连一个VCC为设备1供电。TTL电平和RS232电平传送距离十几米,RS485电平传送距离一千多米,且更稳定。串口是单片机的内部资源不需要外部,比如LED数码管来协作。

2023-08-15 23:51:36 90 1

原创 51单片机学习/按键控制流水灯模式&定时器时钟

void main中调用一下初始化函数,那么定时器其实就已经开始工作了,在下面另建一个中断函数(与普通函数不同的是后面要加一个小尾巴interrupt),上电初始化后进入while(1),运行一毫秒之后跳转到中断函数,中断函数执行完之后再跳转回到while(1)中。但这个中断最大只能记65毫秒,想要记一秒需要另外建一个函数,所以建立unsigned inCount,每一次中断都让ount++,建立if语句,当T0Count大于等于1000时进入if函数,把T0Count清零并显示小灯间隔1秒的亮灭。

2023-08-15 21:31:36 1083 1

原创 51单片机学习/定时器

从定时器每来一个脉冲,计数系统就+1直到最大值65535(闹钟只能定在大值),那么在下一个脉冲就会产生溢出,计数器回到零。溢出时会置一个标志位TF0(time flag),有这个标志位它就会向中断系统申请中断。不同电路完成不同功能。系统时钟若为12MHz,若开关连12分频,则输出频率为1MHz,则一个周期为1微秒。小三角为非门,0、1置换;蘑菇为或门,含1则1;最右面为与门,有0则0。T0 Pin:计数器功能,时钟可以由内部系统也可以外部引脚来提供。下面一个小开关,这一位给1为counter连接在下面,

2023-08-14 17:50:29 255

原创 51单片机学习/独立按键

如上为最右端灯亮的左移过程,在函数中则每次左移lednum,最后取反则为最左端灯亮后向右移的过程。注意上电初始化,如果直接让P2等于0会全部灯亮,0x01是最右端灯亮,取反后最左端灯亮。添加另一个方向的移动,每按下K2键右移一位。使lednum--即减少左移位数,从而实现右移效果。通过按下按键和松开按键后各延时二十毫秒,可以跳过按键抖动时间。当按下按键K1,D1灯亮,否则D1灯灭.

2023-08-13 23:26:32 130 1

原创 51单片机学习/矩阵键盘密码锁

实现功能:仅用前三排矩阵按键即前十位,while中首先将确定出来的按键数字赋给KeyNum,当KeyNum被赋予了数字也就是按键按下的时候,进入第一个if。(防止循环刷新速度过快导致显示数字肉眼看不到)当按下按键的数字小于10进入第二个if,密码获取的方式例为0000输入1,变为0001,接着输入2变为0010、0012,接着输入3为0120、0123,一直向左推,到第五位。然后让按键11充当确认键,密码正确显示ok(错误显示err),然后清零并显示0000,可继续重复输入密码。

2023-08-13 21:42:41 275 1

原创 51单片机学习/矩阵键盘

按行扫描:先选行再选列四行中只能将一行设为0,即为选中。然后再进行列的选择,同样设为0即为选中。例如:P16和P2为0其余为1,则选中了第二行第二列的S6。输出:一端是1,一端是0为选中;输入:两端都是0为选中.弱上拉模型:1到0输出,电流大容易流动,所以低电平驱动大。1.将delay文件和LCD 1602文件添加到工程目录中。右键点击可进行快捷输入的修改或添加。Functions可以列出所有函数。由于引脚冲突,会采取按列扫描。

2023-08-13 00:00:49 56 1

原创 51单片机学习/LCD1602调试工具

1.拿到编程文件后按ctrl C将两个文件选中,然后复制到自己的工程文件下面,然后再source中添加已存在的文件。形成一个小秒表,前三位是001开始,然后闪烁002 003 004......2.先建一个基础框架,然后进行注释部分的操作,开始调试。显示一下1+1看看程序正确不正确(应等于3)(include里大小写随意)

2023-08-12 14:58:43 44 1

原创 51单片机学习/模块化编程

3. south group里再建一个新文件,选择header(.h文件),建立好之后发现没有出现在工程目录里。可以选择“添加已经存在的文件”,如图,在下方把过滤器勾选掉选择查看所有文件,然后选中点h文件。1. #include <***.H> 是在安装目录里寻找点H文件,#include " ***.H " 是在自己程序的文件里寻找点h文件.2. 首先在south group里面继续添加一个新文件(.c文件),可以取名叫delay,然后把这部分函数粘贴过来。4.书写.h文件:中间的声明记得加分号。

2023-08-10 22:24:07 194 1

原创 51单片机学习/数码管

可将两线短路,若LE连低电平,数据从B往A 传送,图示将VCC和LE相连,那么LE连接高电平,数据从A往B传送。有返回类型则需要加return,运行过程为:8赋给x,然后display x(对 x进行各种操作),返回6给整个函数体也就是Fun(8),然后赋给a,最终使a得到上面返回的数字6。CC2:一个电容,104:指容量,10 0000pF(法拉 F=1000mF=1000uF=1000nF=1000pF),数码管上亮着的字母应在P0记作1,不亮的为 0,因为数码管端为低电平。

2023-08-09 19:51:28 83

原创 51单片机学习/点灯

初始为1111 1111,想让第一个灯亮则应为01111 1111,计算时是倒着来的即1111 1110,换算为16进制为0xfe;同理,若想让第二个灯亮应计算1111 1101,换算完为0xfd。OE:out enable输出使能端;上面带一横杠表示只有在低电平时生效;d是输入端 q是输出端;从左到右 阳极到阴极。

2023-08-08 22:01:46 82

空空如也

空空如也

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

TA关注的人

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