自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习日志-C51-红外遥控密码锁

主程序,接收到数值标志,则将其按键转为对应数值,IR_RPT设置为确认键,IR_POWER设置为取消键,IR_VOL_MINUS设置为回退键,设置为四位密码,密码正确播放音乐,错误播放警示音,按下任意按键警示音结束。现象:密码锁借助LCD1602显示,红外遥控按键输入密码,成功后蜂鸣器播放音乐,失败后蜂鸣器播放警示音。起始信号为13.5ms,接收0信号为1120微秒,接收1信号为2250微秒,连发信号为11.25ms。失败警示音部分,不断翻转蜂鸣器接口,相当于给其接上震荡电源,从而实现发声。

2024-06-24 16:39:54 755

原创 学习日志-C51-数码管秒钟-I2C

写入数据:每个从机的地址是唯一的,AT24C02地址为1010,为了确定与哪个从机通讯,需要发送7位地址码,在发送一位读写位,写入为0,然后一位为接收应答信号,是由从机发送给主机,如果从机接收到了信息,则会回复0,然后8位为寄存器地址,接收成功回复0,然后8位为具体要写入的数据,接收成功回复0,最后一位为停止位。接收应答:在发送完一个字节之后,主机在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)(由从机发出主机接收)同步、半双工,带数据应答。

2024-06-20 18:37:37 1152

原创 学习日志-C51-DS1302可调时钟

在DS1302的时钟寄存器中,内容是BCD码格式,因此在写入时要将十进制转换为BCD码,读取时将BCD码转化为十进制。命令字:在进行读写前都要先获得命令字,确认读取命令以及地址,写入最后一位为0,读取最后一位为1。写入数据:SCLK上升沿即可获得读写地址,8个周期后获得完整命令,在下一个上升沿即可写入数据。读取数据:SCLK上升沿即可获得读写地址,8个周期后获得完整命令,紧接着的下降沿可读取数据。另外在进行写入操作时,注意解除写保护,写入完毕后在恢复写保护。BCD码转十进制:十进制=BCD/16。

2024-06-16 15:09:54 646

原创 学习日志-C51-点阵LED显示动画

因而先将SER赋值,SRCLK每经过一个上升沿,数据寄存器存入一位,先输入的为高位,经过8次后,经过一个RCLK的上升沿,将寄存器的数据输出到QH~QA,使得点阵LED的行数据可以选中,然后进行列扫描即可。然后就可以绘制自己想要的图形,绘制结束之后在取模方式处选择C51即可,则在下方点阵生成区得到对应数据,填到Animation处即可。SRCLK:11号引脚,上升沿时数据寄存器的数据移位,QA>>QH。RCLK:12号引脚,上升沿时移位寄存器的数据进入数据存储寄存器。SER:14号引脚,数据输入端。

2024-06-14 16:43:39 451

原创 学习日志-C51-串口通信

异步:无CLK引脚,以固定格式的数据帧进行传输,一帧一帧进行传输,要求双方为相同的传输速度。以0为起始位,1为停止位,需要多用两位进行传输,有效传输效率为80%,因而传输效率低。使用串行通信模式1时,其波特率可变,可变的波特率由定时器1提供,因而也需要对定时器1进行初始化,其初始化可参考定时器一节。半双工:数据可以在双方传输,但同一时刻只能单方传输,发送数据的同时不能接收数据,一根传输线。同步:双方都有时钟引脚,双方的时钟引脚连接在一起,信息帧为一次通信传送的数据,传输效率高。(1)串口初始化函数。

2024-06-13 21:54:48 458

原创 学习日志-C51-定时器时钟

TMOD:编程方式寄存器,使用定时器0,则需配置低4位:工作在模式1,则M1为0,M0为1,工作在定时器模式,则C/T为0,GATE为0,TR0为1则定时器启动,无需INT0配合使用,则TMOD=0000 0001。EA为总开关,只有EA为1,中断系统才可使用,其他为各个中断源分开关,置1,允许中断请求,EA=1,中断开放(总开关),ET0=1,定时器0允许产生中断。启动定时器,每过一个机器周期(12MHZ,则为1微秒),初值寄存器(TH0,TL0)自动加1,直到记满溢出。并清除溢出,将TF0置0.

2024-06-11 13:41:45 704

原创 学习日志-C51-矩阵键盘与LCD1602

P13、P12、P11、P10四列中选取一个赋值为0,其余为1,在读取行P17、P16、P15、P14的电平状态,按下即低电平。P17、P16、P15、P14四行中选取一个赋值为0,其余为1,在读取列P13、P12、P11、P10。LCD1602代码等可在我的资源处自行下载,或者UP主江协科技处下载。学习日志-C51-矩阵键盘与LCD1602简易密码锁。采用逐行或者逐列扫描,即可读取任意一个按键状态。可利用上述函数实现相关显示。的电平状态,按下即低电平。

2024-06-08 14:44:11 448

原创 学习日志-C51-数码管

数码管com端为共阴极,因而在段选时设置abcdefg各段为高电平即为点亮。如0,即为g低电平,其余高电平,则为0011 1111,即0x3F。0~9即为0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f。使能端:G1、G2A、G2B,当G1高电平,G2A、G2B低电平时才可被使能。输入端P22、P23、P24,通过控制三个管脚的01状态,可输出8种不同值。共八个数码管,因此可以使用138译码器完成数码管的位选。输出端:共八个输出端,分别对应输入的一种状态。

2024-06-08 09:34:18 291

原创 学习日志-C51-独立按键控制LED状态

学习日志-C51单片机独立按键控制LED状态(B站江科协)P20口为低电平(0)即为点亮。当K1为按下,即P31为0。

2024-06-06 13:18:01 118

矩阵键盘简易密码锁源码

包括LCD1602调试工具代码,感谢UP主江协科技,可配套我的学习日志学习

2024-06-08

空空如也

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

TA关注的人

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