![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
51单片机学习
文章平均质量分 67
海上Bruce
这个作者很懒,什么都没留下…
展开
-
51单片机入门_江协科技_35~36_OB记录的自学笔记_AD与DA转换(XPT2046)
AD一般转换电压,一般正比关系0255数值(8位)35.3. 硬件电路上图开发板上原理电路,右图PWM上图ADC0809芯片和DAC0832芯片图ADC0809介绍:START开始转换,EOC结束转换,CLOCK时钟信号,OE输出使能,ADDA~ADDC对应8路IN输入选择,A/D转换(内部核心转换电路)DAC0832介绍:D0~D7是8位数字输入,8位输入寄存器+8位DAC寄存器构成多路输入;35.4. 运算放大器•运算放大器(简称“运放”)是具有很高放大倍数的放大电路单元。原创 2024-04-24 10:56:07 · 1475 阅读 · 0 评论 -
51单片机入门_江协科技_33~34_OB记录的自学笔记_LED呼吸灯与PWM直流马达调速
33.1. 直流电机介绍•直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转•直流电机主要由永磁体(定子)、线圈(转子)和换向器组成•除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等33.2. 电机驱动电路33.3. PWM介绍。原创 2024-04-18 08:13:22 · 476 阅读 · 0 评论 -
51单片机入门_江协科技_31~32_OB记录的自学笔记_LCD1602液晶显示屏
31.1. LCD1602介绍•LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符•显示容量:16×2个字符,每个字符为5*7点阵31.2. 引脚及应用电路接线D0~D7与单片机P口高低位对齐31.3. 内部结构框图CGRAM CGROM类似段码表,RAM可写,ROM不可写;DDRAM用户可写,DDRAM40x2,比屏幕大,但是前16映射屏幕;原创 2024-04-17 10:14:51 · 658 阅读 · 0 评论 -
51单片机入门_江协科技_29~30_OB记录的自学笔记_DS18B20温度传感器
29.1. DS18B20介绍•DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点•测温范围:-55°C 到 +125°C•通信接口:1-Wire(单总线)•其它特征:可形成总线结构、内置温度报警功能、可寄生供电(2个供电引脚,1个数据引脚,一个数据线+一个GND也可以实现工作)•热敏电阻就是模拟温度传感器,通过AD采集芯片,将模拟的电压值转换为温度,需要AD转换读取温度;原创 2024-04-16 13:01:33 · 1529 阅读 · 0 评论 -
51单片机入门_江协科技_27~28_OB记录的自学笔记_AT24C02数据存储&秒表
27.1. 存储器介绍27.2. 存储器简化模型介绍,存储原理27.3. AT24C02介绍•AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息•存储介质:E2PROM•通讯接口:I2C总线•容量:256字节27.4. AT24C02引脚及应用电路,VCC接电源,A0~A2和GND接地,WP写保护接地,上拉电阻在单片机接口位置已经接好,开发板原理图中就不需要接了。原创 2024-04-12 14:01:34 · 2696 阅读 · 0 评论 -
51单片机入门_江协科技_25~26_OB记录的笔记_蜂鸣器教程
25.1. 蜂鸣器介绍•蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号•蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器(开发板上用的无源蜂鸣器)•有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定•无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音25.2. 驱动电路三极管驱动集成电路驱动,开发板ULN2003D,Proteus有器件,开发板BZ接P2^5引脚。原创 2024-04-09 21:56:55 · 1341 阅读 · 0 评论 -
51单片机入门_江协科技_23~24_OB记录的笔记DS1302时钟
23.1. DS1302介绍•DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能•RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片23.2. DS1302引脚定义和应用电路23.3. DS1302内部结构框图23.4. 寄存器定义23.5. 时序定义23.6. BCD码。原创 2024-04-07 14:04:04 · 1129 阅读 · 0 评论 -
51单片机入门_江协科技_21~22_OB记录的笔记
21.1. LED点阵屏介绍•LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等•LED点阵屏分类按颜色:单色、双色、全彩按像素:88、1616等(大规模的LED点阵通常由很多个小点阵拼接而成)21.2. 显示原理•LED点阵屏的结构类似于数码管,只不过是数码管把每一列的像素以“8”字型排列而已。原创 2024-04-05 17:54:39 · 1239 阅读 · 0 评论 -
51单片机入门_江协科技_21.2_74HC595 在Proteus中模拟8x8点阵屏环境搭建
1.3. 如果不确定8x8点阵屏的接口(因为需要翻转点阵屏),可以先插入一个点阵屏,并直接接电源与接地,模拟看一下点阵屏的输入输出(P0)端口;1.1. 因为连接单片机P0口作为点阵屏负极(行选),所以需要先在P0口上接上上拉电阻RESPACK 8,1k欧姆阻值,并在排阻上接电源;1. 为了在proteus中模拟学习江协科技51单片机教程,需要在proteus中搭建74HC595驱动8x8点阵屏的仿真环境;1.2. 插入74HC595芯片和8x8点阵屏,注意各个端口连接号码;原创 2024-04-05 15:19:49 · 860 阅读 · 0 评论 -
51单片机入门_江协科技_21.1_开发板USB口连接建议
1. 目前我自己用的普中A2版本的开发板,操作失误导致在开发板连接电脑并通电的情况下误将跳线帽触碰到开发板的3.3V与GND,导致USB口浪涌,2个电脑上面的USB口烧毁,开发板暂时没有任何问题,电脑USB口现在只是接通后有电,但是没有数据传输功能。2. 后续考虑需要在淘宝上面买个类似这种USB隔离器对开发板与电脑的USB口进行隔离保护,暂时还未收到货,等到货后看是否影响开发板与电脑的连接与程序下载。3. 同时8x8点阵屏测试需要将开发板此处跳线帽接GND_OE,否则点阵屏不工作;原创 2024-04-05 12:20:38 · 720 阅读 · 0 评论 -
51单片机入门_江协科技_19~20_OB记录的笔记
19.1. 串口介绍:•串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。•单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。•51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。19.2. 串口硬件电路。原创 2024-04-04 17:32:52 · 975 阅读 · 0 评论 -
51单片机入门_江协科技_20.1_Proteus串口仿真
3. win7虚拟机中需要打开控制面板,然后找到设备管理器并打开,找到如图所示的COM端口,可能事COM1与COM2端口,需要修改为COM3与COM4端口,修改方法为选中需要修改的端口,点击鼠标右键,点击属性,在弹出的对话框中点击高级,在另一个弹出的对话框中找到COM3,此时是从COM1修改为COM3,同理将COM2修改为COM4;1.为了解决51单片机学习过程中在Proteus中的串口仿真的问题,需要在Proteus中建立串口仿真的环境(目前Proteus安装在Win7x64虚拟机环境中;原创 2024-04-03 14:56:42 · 915 阅读 · 0 评论 -
51单片机入门_江协科技_17~18_OB记录的笔记
17.1.定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成,无需占用CPU外围IO接口;定时器作用:(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作;(2)替代长时间的Delay,提高CPU的运行效率和处理速度,因为delay程序占用CPU资源,同时导致CPU无法处理外部诸如按键的操作;(…)17.2. STC89C52 定时器相关扩展阅读:STC89C52的介绍手册。原创 2024-04-02 13:55:21 · 1021 阅读 · 1 评论 -
51单片机入门_江协科技_15~16_OB记录的笔记
15.1. 矩阵键盘介绍•在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式•采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态15.2. 扫描的概念:•数码管扫描(输出扫描)原理:显示第1位→显示第2位→显示第3位→……,然后快速循环这个过程,最终实现所有数码管同时显示的效果•矩阵键盘扫描(输入扫描)原理:读取第1行(列)→读取第2行(列) →读取第3行(列) → ……,然后快速循环这个过程,最终实现所有按键同时检测的效果•以上两种扫描方式的共性:节省I/O口。原创 2024-04-01 13:37:37 · 623 阅读 · 0 评论 -
51单片机入门_江协科技_13~14_OB记录的笔记
•模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等13.2. 模块化编程结构框图13.3. 模块化编程注意事项•.c文件:函数、变量的定义•.h文件:可被外部调用的函数、变量的声明•任何自定义的变量、函数在调用前必须有定义或声明(同一个.c)•使用到的自定义函数的.c文件必须添加到工程参与编译。原创 2024-03-29 12:43:47 · 885 阅读 · 1 评论 -
51单片机入门_江协科技_11~12_OB记录的笔记
11.2. LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件:11.3. 一位数码管的引脚定义和介绍;共阴极连接,共阳极连接。11.4. 对于单个数码管(以共阴极为例),公共端3,8接地称为位选,如果需要点亮相应的数码管显示具体数据,就需要相应的ADP的段码为 1011 1110B;共阳极的数码管正好相反;11.5. 四位数码管介绍;11.6. 如果需要4位数码管(以共阴极数码管为例)的第3位(从左往右数)显示1,则数码管的位选码为1101B;原创 2024-03-28 11:22:19 · 921 阅读 · 0 评论 -
51单片机入门_江协科技_1~10_OB记录的笔记
江协科技51单片机学习1~10_OB笔记原创 2024-03-27 15:14:09 · 879 阅读 · 1 评论 -
单片机C语言入门_2.0_C语言运算符应用
先设置两个字符型变量a和b,分别赋值为76和19,计算它们相乘的结果为1444,等于十六进制数0x05A4,在程序中用变量c存储结果。变量c高八位的十六进制数为05,转二进制为0000 0101,变量c的低八位的十六进制数为A4,转二进制为1010 0100,对应P0.7~P0.0 LED位从高到低,二进制0的LED灯亮,1的LED灯灭。因为相乘结果是16位的,如果在八位口P0上显示,只能拆成高八位和低八位分别显示,为区别高八位和低八位,在它们分别点亮的间隙让P0的LED全灭,延时1s。原创 2024-03-11 12:50:11 · 429 阅读 · 0 评论 -
单片机C语言入门_1.5_8LED灯循环移位点亮
这条指令的功能是将字符c循环左移b位.循环左移的作用是,当循环左移执行移动一位时,依次将字符c的各位向高位移动一位,并且将移出的最高位移到最低位中.这个函数包含在<intrins.h>头文件中,如果在程序中用到这个函数时,必须在程序的开头包含这个头文件,因为头文件中有该函数的具体说明,这样在编写的程序中才可以用到这个函数.代码是用右移指令,亮的LED灯是从下往上( P0.7~P0.0 )依次循环移动,Proteus测试没问题;依旧采用P0.0~P0.7接8个LED的电路,程序上面做相应的调整。原创 2024-03-07 15:30:12 · 1169 阅读 · 0 评论 -
单片机C语言入门_1.4_8LED灯依次点亮_移位指令
2. 因为单片机相应LED灯珠连接位置0的时候相应位置的LED灯点亮,程序中使用移位命令后,是用0补位,如果开始P0端口赋值0xFF(LED灯全灭),移位命令循环的结果就是这8个LED灯珠依次点亮的效果,不是1.3节中只有一个亮的LED灯按照顺序移动的效果;依旧采用P0.0~P0.7接8个LED的电路,程序上面做相应的调整。3. Proteus虚拟测试没问题。(右移从P0.7开始逐个亮起)原创 2024-03-07 14:06:00 · 1626 阅读 · 0 评论 -
单片机C语言入门_1.3_8LED流水灯程序
1. Proteus依旧采用P0.0~P0.7接8个LED的电路,程序上面做相应的调整。P0.0点亮 = 1111 1110B=0xFE;P0.1点亮 = 1111 1101B=0xFD;P0.2点亮 = 1111 1011B=0xFB;P0.3点亮 = 1111 0111B=0xF7;P0.4点亮 = 1110 1111B=0xEF;P0.5点亮 = 1101 1111B=0xDF;P0.6点亮 = 1011 1111B=0xBF;P0.7点亮 = 0111 1111B=0x7F;原创 2024-03-06 16:53:22 · 1207 阅读 · 1 评论 -
单片机C语言入门_1.2_8个LED接P0口间隔点亮
1. Proteus中绘制8个LED灯珠与单片机的P0.0~P0.7口连接,对应单片机端口赋值为0时处于高电位,对应端口LED不亮,反之对应单片机端口赋值为1时处于低电位,对应端口LED亮起,8个LED对应二进制数就是01010101B,转16进制0x55赋值P0。3. 双击Proteus单片机,导入hex程序文件仿真测试通过,点亮的LED为蓝色。原创 2024-03-06 14:08:52 · 660 阅读 · 1 评论 -
单片机C语言入门_1.1_P0.1引脚LED间隔1s闪烁
2. 程序设计考虑建立mDelay延迟1s子函数,P0_1引脚反复取反赋值实现亮灭控制;1. Proteus内部电路同1.0中LED点亮的电路;原创 2024-03-01 14:13:01 · 689 阅读 · 1 评论 -
单片机C语言入门_1.0_点亮P0.1引脚LED
2. Proteus 中电路布局如下;MCU用AT89C52,电阻500欧姆,电源默认5V。1. 结合《单片机C语言轻松入门》书籍的介绍和Proteus仿真;4. Proteus导入程序并仿真执行,验证程序通过;原创 2024-03-01 12:53:56 · 477 阅读 · 1 评论 -
搭建51单片机仿真模拟平台
51单片机,虚拟机,仿真原创 2024-02-29 12:56:23 · 714 阅读 · 0 评论