自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AT24C02 EEPROM的原理与编程

我们同样先发送开启信号,找到地址并且确定写模式,等待反馈之后,再写入地址(EEPROM里有0~255个地址,8个为1位),等待反馈后,跟据我们给定的字符串,和所需要写入的数量,进行写入,反馈完后,延时一会儿就可以停止。读函数也是类似,再确定地址后,再选择读,将我们读到的写道字符串中,如果没读取完就发送应答继续,没读取完就不发生,停止。与之前不同的是,我们读取的是EEPROM中的内容(电子可擦除的ROM),使用存储器。同样,他与PCF8591都是使用iic来进行的。我们先设定要写入的字符串和被写入的字符串。

2024-02-26 14:25:51 149 1

原创 PCF8591的原理与编程

我们在函数中需要先启动总线,再写入地址,等待其反馈,再选通通道,选择读取,将读取的值赋给中间变量并返回,选择不响应之后再停止总线开关。因为在iic上有许多芯片相连,我们就通过第123(A0A1A2)位来进行地址选取,从而找到芯片,使用iic协议,将PCF8591芯片与主芯片相连,就可以通过iic来进行AD/DA转换。我们需要读或写,就通过最后一位来控制,如果是0就是写,1就是读。在写的时候需要按顺序,先确定地址,再进行控制,再去写或读数据。第56位通常为00,第七位为1,第3为0。根据给定的iic头文件。

2024-02-26 00:53:52 488 1

原创 DS18B20温度传感器的原理和应用

先进行初始化,再跳过ROM转换温度,然后再读取数据,将高低8位各赋值给中间变量,再返回16位,高位左移8位,形成温度16位数据。我们只需要根据主芯片发送脉冲,它会返回脉冲,准备就绪,再调用里面温度传感器的数据就可以实现温度计。主要是将得到的数据转换成浮点型,再打印到数码管上。外部有三个引脚,分别接电源,地和IO端。其中主要用到对1就是其中的温度传感器。我们所需要的是对数据进行转换后读取。里面所需要用到的是特殊的延时函数。需要对应延时来进行读取温度数据。为01两个字节,占据16位。内部有ROM和寄存器。

2024-02-25 16:24:18 775 1

原创 DS1302的原理与编程

在写对应时分秒时需要用到设置,先定义中间变量,之后把wp复位允许写入,之后把给定的数组里,三位分别把数分开,转换成16进制,再存入寄存器对应时分秒的位置,最后再把wp赋值1禁止写入。在使用DS1302时我们需要先清零,之后把复位端拉高,产生时钟上升沿,最后才能读取或写入数据,一定要先读或写对应的地址,之后再读或写需要的数据。先设置,再在while里放三个进程,中断里先延迟,再进行毫秒叠加秒,显示对应数组里的数和LED灯。读取函数,先读取寄存器里的地址,把对应数存到中间变量里,再存入数组中去。

2024-02-25 12:35:28 451 1

原创 独立按键的原理和编程

单片机

2024-02-24 00:31:20 207 1

原创 矩阵键盘的原理和编程

主函数中放置关闭外设初始化函数,定时器1初始化函数,打开中断,while循环中放置矩阵按键处理和显示处理函数,最后在中断中放入数码管显示函数。分别是Q(Key_Value),Q非(Key_Old),Q_down(Key_Down)所以只需要先清零之后,再用按键扫描之后就可以实现矩阵键盘的控制。每次扫描完之后将P3的值赋给Value,再左移4位再次扫描。把得到的Q_down(即扫描的到的数据)赋值给显示标志位。就需要把扫描得到值赋给Q,再让Q和Q非异或之后与Q。就完成了矩阵键盘的扫描。利用中断显示就完成了。

2024-02-23 23:53:20 1708 1

原创 针对数码管显示的原理和编程应用

显示数码管,像将P0口消隐,打开Y7,再关闭,之后再位选,1一直往左移,选8位,打开Y6,再进行段选,将转换后的数组赋值给P0,打开Y7,就可以完成数码管的显示了。如图,P0是共用引脚对应段码和位码,Y6和Y7分别对应数码管的位和段,只要把需要的值赋值给P0,然后再将P2对应的Y6和Y7使能端打开就可以实现数码管的显示。首先是把所需的字符转转换为数组中以十六进制保存,如果有.就把0x7f赋值给所需的temp,以便后面显示用。利用定时器1实现数码管的亮灭。主函数,定义数组和字符串。主函数放字符串的转换。

2024-02-20 15:46:22 1003 1

原创 讲清定时器如何去编程

对计数标志位取余之后,如果在>0的情况下取余为0,则说明过了1s。再添加ET1,EA对应开关和总开关之后就可以进入中断。假如实现led从左往右实现二进制流水灯,并且1s切换。注意:如果if函数中只有标志位名称则对应==1。可以再stc-isp中找到对应的初始化函数。然后给计数标志位加1,将进入中断标志位复位。针对于定时器必须有初始化函数的定义。可根据需要找到对应需要的定时器。但是定时器不可能实现1s的定时。再用显示函数实现LED灯的亮灭。就让显示函数标志位加一。先定义进入中断标志位。

2024-02-04 00:48:20 277 1

原创 一次给你讲清楚定时器在单片机里的原理以及如何工作

再看到选择端,从系统时钟输入,根据AUXR_7控制不同分频频率,如果时间长则大多选用12分频,反之则选不分频。就会使隐藏寄存器RL_TL0和RL_TH0进入,完成16位自动重载,再接着对TF0置位就可以进入中断。从图中看到控制端,当GATE为0,TR为0时就可以打开开关控制,进行计数。再接着到TL0 TH0计数,每过一个高低电平的上升沿就会计数,直到溢出。继续打开ET0和EA就可以进入到中断,就和上讲讲的一样了。这就是T0,T1,T2计时器的溢出中断 的原理。所以就来讲一讲它在单片机里有什么功能以及原理。

2024-02-02 01:31:02 203

原创 如何编写中断函数(必备)

以外部中断0和1来举例,我们依次需要打开的开关为IT0,EX0,IT1,EX1,EA.(中断优先级改不变改变都可以)也就是说在编写中断函数时,进行模块化会简化编程,模块化编程思路。得到0010 1010,也就是说,异或0是不变的,异或1是翻转的。我们就可以对于所需位置放1进行翻转,然后就可以实现灯的亮灭了。有两种思路一是传统思路,判断灯的两位是否亮或者灭,再进行翻转。以固定格式把函数放入,再在主函数中引入,就可以使用了。在嵌入式开发中模块化编程是必备的,例如、可是这样写就会写的冗杂。

2024-02-01 19:15:47 661 1

原创 对单片机无比重要的系统————中断系统

将TCON中的IT0置为0或1(由于TCON可以位寻址,故可以直接配置IT0),分别对应上下沿有效和下降沿有效,再将EX0置为1,中断请求往后传递,闭合对应开关EX0,再闭合总开关,调整优先级后(不设置优先级就会以默认优先级经行判断),电路导通,产生中断中断请求,就可以进入中断。主函数开始执行,遇到中断请求跳转到中断源地址,里面寄存着 中断函数的地址,直接跳转到中断函数中,执行完中断函数后,返会中断请求地址处,继续执行主函数,直到结束。可以看到外部中断地址位0013H,这就寄存着中断向量的地址。

2024-02-01 00:57:53 128 1

原创 针对内部RAM中SFR的原理

那我们就可以利用这三位·(bit2,bit1,bit0)来干点别的事,(bit2,bit1,bit0)表示的范围是0~7,即寄存器内部的8bit空间,这样我们把固定为0的这后三位利用起来表示寄存器内部的位偏移的话,这个寄存器就变成可以进行位操作的寄存器了。不同芯片所实现的功能和内部结构是有区别的,所以头文件就会有差异,为了方便查找,就会命名不同 芯片的名字,以名字来区别芯片的作用和功能。我们都知道在写程序时,头文件是必不可少的,可是我们却往往忽视了头文件原理,所以我就来讲讲它具体的深层原理究竟是什么?

2024-01-31 18:45:18 243

原创 ?!每个嵌入式工程师都会经历的历程!?

628对应在单片机里大约为1ms,实现控制ms的延时函数 (i对应65535分之一,628/65535大约为1/100就是1ms)先将P0口都置1,就是熄灭灯,打开Y4使能端,再关闭使能端。再将P0口置零,就是关闭外设,打开Y5使能端,再关闭使能端。先初始化,i对应亮度等级,j对应时间,实现10个亮度调节。P0口对应8个灯,P25P26P27三个口控制Y4Y5。对应ucLed反转使1为亮0为灭,再打开Y4,关闭。今天我们讲的是基于IAP15F2K61S2进行点灯。在进行点亮之前都需要初始化!

2024-01-31 00:25:47 76

原创 一次给你讲清楚74HC573锁存器,74HC02和74HC138译码器在单片机里的原理

总结:我们的目的是点亮LED灯,它们由74HC573锁存器控制,而要控制这个锁存器就必须要启动使能端LE,而LE是由Y4C控制,Y4C是经由74HC02被Y4和WR控制,就根据74HC138译码器中的P25P26P27进行38译码器翻译来控制Y4的高低电平,跳线帽或P42来控制WR的电平,以输出Y4C电平为1D锁存器正常工作,最终实现LED的亮灭。已知有4个锁存器中用到Y4Y5Y6Y7,也就是说我们可以通过控制单片机的P口输出来控制使用哪个锁存器。首先,想要了解74HC573锁存器就要了解锁存器的原理。

2024-01-30 01:16:22 876

原创 给你讲清楚为什么单片机上有CH340?以及CH340的工作原理

CH340的工作原理

2024-01-29 00:04:33 1295

空空如也

空空如也

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

TA关注的人

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