![](https://img-blog.csdnimg.cn/20200707153526541.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
单片机技术分享
以51单片机为基础,用通俗幽默的语言介绍单片机的整个体系架构,穿插介绍经典案例,和广大读者一起学习交流。
背影lmc
中国农业大学自动化专业本科,保研到北京理工大学宇航学院,从事无人机飞控算法的研究。喜欢单片机、编程。
展开
-
51单片机I2C协议设计案例
1 I2C协议介绍1.1 I2C总线的物理拓扑结构I2C总线物理上有SDA和SCL以及上拉电阻组成,这两条线分别叫做串行数据线和串行时钟线。通过对两条线的时序控制完成I2C协议信号的传递。在空闲状态,两根线被上拉电阻拉高。I2C协议为半双工通信,仅有一根数据线。1.2 I2C总线特征I2C总线上的每一个设备都可以作为主设备或者从设备(一般把CPU带I2C总线接口的模块作为主设备,其他设备作为从设备)。总线上的每一个设备都对应唯一的地址,I2C总线上挂接的设备总数量受最大点燃400pF和设备地址的限原创 2020-08-21 10:45:50 · 438 阅读 · 0 评论 -
Simulink代码生成(以生成STM32代码为例)
所需工具1、 MATLAB 2018b2、 STM32硬件支持工具下载连接:https://www.stmcu.org.cn/document/detail/index/id-2160533、 STM32CUBEMX(用于配置STM32资源)下载连接:https://www.stmcu.org.cn/document/detail/index/id-2149842和3仅仅是在生成c语言中作为一个必须辅助的工具,具体详细的用法后续介绍。操作流程软件安装三个软件的安装都没有特殊要求,根据提示即原创 2020-08-18 14:22:56 · 3308 阅读 · 1 评论 -
51单片机LM016L液晶显示实例
先上仿真图,图比较简单,一个51单片机最小系统,加上一个LM016L液晶显示器,需要注意的是,实际的LM016L芯片内部有上拉电阻,但是仿真中是没有的,如果用P0口传输数据的话,需要给P0口接上拉电阻。然后上代码,有详细的注释,就不多解释了。#include<reg51.h>#include<intrins.h>//引脚定义sbit RS=P2^0;sbit RW=P2^1;sbit E=P2^2;sbit BF=P0^7;void delay1ms(){原创 2020-08-16 10:45:43 · 21684 阅读 · 4 评论 -
(蓝桥杯单片机组)基于DS18B20的51单片机温控系统设计实例
1 DS18B20介绍简介:DS18B20是美国DALLAS半导体公司推出得第一片支持“单总线”接口的温度传感器,具有微型化、低功耗、抗干扰能力强、易配处理器的优点,可直接将温度转化成穿行数字信号。特性:(1) 适应电压范围宽:3.0~5.5V范围内。(2) 单线接口方式,仅需一根数据线。(3) 多点组网,多个芯片连接在唯一的三线上。(4) 不需要外围器件,高度集成化。(5) 测温范围-55度-125度,-10度到85度内的精确度可达0.5度。(6) 可编程分辨率9~12位,对应精度位0.原创 2020-08-14 14:38:09 · 1588 阅读 · 0 评论 -
基于DAC0832的51单片机DA转换电路设计实现
基于DAC0832的51单片机DA转换电路设计实现1、 ADC0832芯片引脚介绍主要性能:8位分辨率电流建立时间1us数据输入可以采用双缓冲、单缓冲或直通方式输出电流线性度可在满量程下调节逻辑电平输入与TTL兼容单一电源供电(+5V~+15V)低功耗,20mW该芯片为20引脚双列直插式,引脚定义如下:Rfb:反馈电阻端,芯片内部与Iout1接有一个15k的电阻Iout1:电流输出端,当输入全为1时候,电流最大。Iout2:电流输出端,其值与Iout1端电流和为常数。XREF:原创 2020-08-11 11:17:03 · 8107 阅读 · 2 评论 -
51单片机AD转换
51单片机AD转换电路设计实现关于AD转换的原理,大家在《数字电子技术》中已经学过,这里做过多的介绍,本文介绍一款经典的8位AD转换芯片ADC0804,基于51单片机设计AD转换电路,并完成测量值的转换。1 芯片引脚介绍CS:片选信号,低电平有效,即CS=0时候芯片才能正常工作,单独一个ADC0804芯片时候直接置零。当有多个芯片时候可以通过片选信号实现分时复用。WR:低电平有效,当WR信号由高到低时候实现一次ADC转换。RD:低电平有效,RD=0时候可以读取数据。Vin+:模拟电压输入端。原创 2020-08-09 16:09:45 · 20543 阅读 · 2 评论 -
51单片机按键检测--独立按键与矩阵键盘
按键可以说是51单片机项目开发的一个重要组件了,它是作为51单片机IO口输入的一种重要方式。我们可以通过按键控制单片机执行相应的程序,得到我们想要得效果。51单片机的按键输入主要有两种,一种是独立按键,每个按键对应一个IO口,通过循环或者中断去检测,这种方法常用于按键个数较少得时候。如果按键的个数较多,每个按键都分配一个IO口,会占用大量的资源,所以就有了矩阵键盘。矩阵键盘是通过单片机扫描键盘的每行每列,通过行和列唯一确定按键的编号,下面对这两种方法进行介绍。1 独立按键Proteus仿真电路图途中原创 2020-07-20 21:33:40 · 3415 阅读 · 0 评论 -
51单片机数码管静态与动态显示
数码管简述这是一个数码管内部电路原理图,ah每个数字代表一个发光二极管,v是公共端,可以接地或者电源,对应共阴极和共阳极接法。ag段数码管用来显示数字,h显示小数点。为了便于封装,数码管的外部一共10个引脚,5和10连在一起接公共端,其余各对应一个发光二极管:例如,如果我们想显示数字“0”,那么就需要a~f这六个数码管亮;如果显示数字“1”,那么就需要b、c两个数码管点亮,以此类推。一般情况下,单片机的IO口和数码管的连接方式如下:如果我们将数码管接到P1口上,显示数字“0”的话,那么P1口的八原创 2020-07-16 21:21:20 · 4183 阅读 · 0 评论 -
STC系列51单片机延时程序汇总
答应大家得福利来啦,这一期我就给大家分享一下STC系列51单片机得延时程序汇总。11.0592MHz晶振(延时1ms):(1)Y1指令集适用于SCT89C系列,STC90C系列、STC89LE系列、STC90LE系列void Delay1ms() //11.0592MHz{ unsigned char i, j; _nop_(); i = 2; j = 199; do { while (--j); } while (--i);}(2)Y3指令集适用于STC12C系列、原创 2020-07-15 09:08:03 · 7650 阅读 · 2 评论 -
51单片机的时钟(文末小惊喜)
51单片机的时钟(文末小惊喜)初学单片机的人可能会有这样的疑问,单片机是怎么样工作的?它为什么能够按照我写的程序执行?而且一步都不会出错?这个问题想必困扰大家很久了,今天我就来跟大家聊聊为什么单片机能够工作。学过数字电子技术的同学可能知道时序电路这个东西,它是不是就是按照预定的步骤一步步的执行呢?每来一个脉冲,时序电路就会变换一次状态,只不过他的逻辑很简单,功能也很简单。但是呢,复杂的东西往往都是由简单的东西构成的。单片机也是这样的,每来一个脉冲,它内部的复杂时序电路就会变换状态,进而执行相应的操作。只不原创 2020-07-12 12:50:23 · 2228 阅读 · 0 评论 -
51单片机的IO口和寄存器
当我们拿到一块单片机时,我们首先看到的是他的外观,就像下边这样的:当然对于51单片机来说,最常用的还是第一种样式的,这种叫做PDIP封装。在单片机上有很多小针(管脚),这些就是单片机用来输出数据,控制其他设备的工具。那么这些管脚是怎么工作的呢?当然是用程序!可是程序是软件,而这些管脚是硬件,它们之间有啥关系啊?这就是涉及到51单片机的内部结构了,学过数字电子技术的同学知道,集成电路的结构太复杂了,简单的逻辑与或非还行,什么锁存器、时序电路、组合电路简直让人头疼。请先不要害怕,51单片机虽然也是个很复杂原创 2020-07-10 16:21:34 · 7919 阅读 · 2 评论