单片机
imxlw00
这个作者很懒,什么都没留下…
展开
-
Arduino —74HC595扩展IO
74HC595介绍74HC595芯片是一个串行输入,并行输出设备。其内部包括一个8位移位寄存器、一个存储器以及三态输出门电路,其中移位寄存器和存储器都有相互独立的时钟。引脚说明VCC、GND为芯片供电管脚,工作电压5V。Q0~Q7这8个引脚是芯片的输出引脚。DS引脚为串行输入引脚。我们需要将数据一位一位的写入该引脚。STCP引脚为锁存引脚。当移位寄存器的8位数据全部传...原创 2020-02-06 17:01:38 · 1200 阅读 · 0 评论 -
8*8点阵引脚图 行列定义
共阳的还是共阴共阴或者共阳确切的说应该是行共阴或者行共阳管脚的定义的点阵后面标有第一脚,但是有的没有标,现在大家默认跟IC的管脚顺序一样,读法是第1脚一般在侧面有字的那一面,字是正向时左边第一脚为1,然后按逆时针排序至16脚,如图示:行列定义行共阴行共阳...原创 2020-02-05 20:52:28 · 9024 阅读 · 0 评论 -
51单片机C语言
使用C语言已成为单片机应用系统开发的趋势。包含文件#include<reg51.h> //包含单片机寄存器的头文件打开Keil的安装目录,在C51文件夹下找到“INC”子文件夹,打开里面的“reg51.h”,可以看到以下定义:/*----------------------------------------------------------------REG51.H...原创 2020-01-08 21:42:34 · 3068 阅读 · 0 评论 -
51单片机的复位电路
单片机通电时,从初始态开始执行程序,称为上电复位。单片机死机时,通过手动按“重启”键使其从初始态开始执行程序,称为手工复位。复位电路是单片机应用电路中的重要组成部分。单片机复位的条件:使单片机的RST端(引脚9的RESET端)加上持续两个机器周期的高电平。例如,若时钟频率为12MHz,每机器周期为1ms,则只需在RST引脚出现2ms以上时间的高电平,就可以使单片机复位。图3-14(a)所示...原创 2020-01-08 21:12:44 · 15260 阅读 · 1 评论 -
点亮一个LED灯
单片机端口对LED灯的控制方法1、拉电流:图中第(1)个连接方式中,单片机输出高电平时,电流方向由单片机输出到外部,称为拉电流,电流由单片机提供,我理解为“外部元件从单片机取电”。2、灌电流:图中第(2)个连接方式中,单片机输出低电平时,电流方向由外部进入单片机,称为灌电流,电流由外部电源提供。默认的 51单片机所有初始化电平信号 都是高电平的为什么必须使用低电平点亮LED灯?P0口...原创 2019-11-30 11:34:37 · 1077 阅读 · 0 评论 -
单片机 I2C总线
I2C总线是Inter-IntegratedCircuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。...原创 2019-05-02 15:12:29 · 1502 阅读 · 0 评论 -
单片机 中断系统
计算机执行某程序时,发生了紧急事件或有特殊请求,CPU暂停某程序的执行,转而去处理上述事件或请求,处理完毕后再重新执行某程序的过程叫做中断。例如当你正在洗衣时,突然手机响了(中断发生),你暂时中断洗衣的工作,转去接电话(中断响应和中断服务),待你接完后,再回来继续洗衣(中断返回),这一过程就是中断。中断系统结构引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中...原创 2019-04-20 22:17:50 · 577 阅读 · 0 评论 -
MCS51 系列单片机灌电流和拉电流简介
拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。灌电流(sink current),对一个端口而言,如果电流方向是向其内部流动的则是“灌电流”,比如一个IO通过一个电阻和一个LED连接至VCC,当该IO输出为逻辑0时能不能点亮LED,去查该器件手册中sink current参数。拉电流(sourcing current)...原创 2019-03-27 14:09:48 · 2242 阅读 · 0 评论 -
共阳极数码管
共阳极数码管一位共阳极LED数码管共10个引脚,其中③、⑧两引脚为公共正极(该两引脚内部已连接在一起),其余8个引脚分别为七段笔画和1个小数点的负极,如图所示。两位共阴极LED数码管共18个引脚,其中⑥、⑤两引脚分别为个位和十位的公共负极,其余16个引脚分别为个位和十位的笔画与小数点的正极,如图所示七段数码管将七个笔画段组成“8”字形,能够显示“09”10个数字和“AF”6个字母,如图1...原创 2019-04-03 21:42:13 · 31552 阅读 · 0 评论 -
金沙滩51单片机按键
独立按键独立按键的扫描#include <reg52.h>sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;sbit LED9 = P0^7;sbit LED8 = P0^6;sbit LED7 = P0^5;sbit LED6 =...原创 2019-03-07 21:16:42 · 1855 阅读 · 1 评论 -
金沙滩51单片机数码管
数码管共有 a、b、c、d、e、f、g、dp 这么 8 个段,而实际上,这 8 个段每一段都是一个 LED 小灯,所以一个数码管就是由 8个 LED 小灯组成的。数码管分为共阳和共阴两种,共阴数码管就是 8 只 LED 小灯的阴极是连接在一起的,阴极是公共端,由阳极来控制单个小灯的亮灭。同理,共阳数码管就是阳极接在一起。数码管的真值表#include &lt;reg52.h&gt...原创 2019-03-04 20:49:57 · 1249 阅读 · 0 评论 -
单片机 AD/DA数模转换
模拟量:自然界连续变化的物理量。所谓连续,包含两个方面的含义;一方面从时间上来说,它是随时间连续变化的;另一方面从数值上来说,它的数值也是连续变化的。这种连续变化的物理量通常称为模拟量。数字量:计算机中处理的是不连续变化的量,离散性的数字量。D/A 数模转换器 (Digital - Analog Convert)A/D 模拟转换器(Analog - Digital Con...原创 2019-05-03 11:05:44 · 8051 阅读 · 0 评论 -
单片机 BDATA
51架构的单片机都有一段可位寻址的区域,位于20H~2FH,总共128位。在C51中编程时,分配的bit型变量以都会定位到这段区域里。如果某个变量声明其存储类型为bdata型,例如:bdata unsigned char xxx则xxx会分配到位寻址RAM内,此时xxx不但可以按照标准的无符号字符型访问,还能通过以下定义分别访问其每一个位。sbit abcd0 = xxx ^ 0;...原创 2019-05-04 14:44:16 · 1099 阅读 · 0 评论 -
单片机 74HC573
74HC573工作原理74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工...原创 2019-04-20 11:35:39 · 32259 阅读 · 2 评论 -
单片机 74HC595
74HC595工作原理74HC595是带有存储寄存器和三态输出的8位串行移位寄存器,移位寄存器和存储寄存器有各自的时钟。每当移位寄存器输入时钟SHCP上升沿来临之时,数据被移出。每当存储寄存器输入时钟STCP上升沿来临之时,数据并行的存储到存储寄存器。如果两个时钟上升沿同时到来,移位寄存器总是要比存储寄存器的提前一个时钟。移位寄存器有一个串行出入(DS)和一个串行标准输出(Q7S)。同时...原创 2019-04-20 15:27:23 · 1593 阅读 · 0 评论 -
单片机 74HC595 实例
1、采用2片595驱动数码管,需要单片机3路IO口根据数码管动态扫描原理进行显示。2、数码管型号:0.36 4位共阳。原理图点亮一个数码管定义IO口sbit DIO = P1^0; //串行数据口sbit S_CLK = P1^2;//移位寄存器时钟sbit R_CLK = P1^1;//输出锁存器时钟发送数据 void main() { //第二个数码管显示0...原创 2019-05-14 22:21:55 · 1958 阅读 · 1 评论 -
单片机 I2C总线通信程序
为保证数据的可靠性,I2C总线的数据传送有严格的时序要求。I2C总线的起始信号、终止信号、发送“0”及发送“I2C起始信号程序void I2cStart(){ SCL = 1; SDA = 1; delay5us(); SDA = 0; delay5us(); }I2C终止信号程序void I2cStop(){ SCL = 0; SDA = 0; SCL = 1;...原创 2019-05-02 15:29:03 · 3749 阅读 · 0 评论 -
单片机 LCD1602
LCD1602为工业字符型液晶,LCD表示LiquidCrystal Display。能够同时显示16 x 2(16列2行)即32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它...原创 2019-05-18 16:12:31 · 7001 阅读 · 0 评论 -
单片机 1602 CGRAM、CGROM及DDRAM的作用
CGRAM : 允许用户自建字模区的空间。从CGROM表上可以看到,在表的最左边是一列可以允许用户自定义的CGRAM,从上往下看着是16个,实际只有8个字节可用。它的字符码是00000000-00000111这8个地址,表的下面还有8个字节,但因为这个CGRAM的字符码规定0-2位为地址,3位无效,4-7全为零(表上的高位)。因此CGRAM的字符码只有最后三位能用也就是8个字节了。等效为0000...转载 2019-05-18 16:14:16 · 3093 阅读 · 0 评论 -
电路板上的A和K 是什么意思,分别是什么英文的简称
若是电极或二极管的标识,A(Anode)表示“阳极”、“正极”,K(Cathode)表示“阴极”、“负极”。原创 2019-05-18 21:16:48 · 18863 阅读 · 0 评论 -
KEIL报错1
C51编译警告“*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL”如果你在用C51编译器出现上面的警告,其实这个只是初学者和粗心者才会犯的错误:没把C文件添加到项目中!...原创 2019-03-04 20:17:57 · 928 阅读 · 0 评论 -
金沙滩51单片机定时器
标准的 51 单片机内部有 T0 和 T1 这两个定时器,T 就是 Timer 的缩写。定时器的寄存器T0和T1的控制由两个8位特殊功能寄存器完成:一个为定时器的方式选择寄存器TMOD用于确定定时器还是计数器工作模式;另一个叫做定时器控制寄存器TCON,可以决定定时器或计数器的启动、停止及进行中断控制。TCONTMOD模式 1,是 THn 和 TLn 组成了一个 16 位的定时器...原创 2019-03-04 20:04:04 · 671 阅读 · 0 评论 -
MCS51 程序存储器(ROM)
程序存储器(ROM)作用:存放程序、表格或常数,具有非易失性特点:片内ROM与片外ROM可有2种组合方案方案1 : 4 KB以内的地址在片内ROM,大于4KB的地址在片外ROM中(图中折线),两者共同构成64KB空间;方案2 :片内ROM被禁用,全部64KB地址都在片外ROM中(图中直线)。2种组合方案由EA引脚的电平状态决定:EA=1时为方案1, EA=0时为方案2R...原创 2019-03-02 09:37:58 · 4569 阅读 · 2 评论 -
MCS51 系列单片的存储器结构
51 系列单片机的内部存储器与一般微型机存储器的配置不同。一般微型机的程序存储器和数据存储器被安排在同一地址空间的不同范围,通常称为普林斯顿结构(统一编址)。而 51 系列单片机的存储器空间被设计成程序存储器和数据存储器两个独立的地址空间,通常称这种形式为哈佛结构(分别独立编址)。51 系列单片机的存储器从物理位置看,有 4 个存储器空间,即片内数据存储器(简称片内 RAM)、片内程序存...原创 2019-03-02 09:37:00 · 933 阅读 · 0 评论 -
MCS51 系列单片机的中央处理器(CPU)
MCS - 5 1 系列单片机的中央处理器(CPU)51 系列单片机的 CPU 是单片机的控制指挥中心。它由运算器、布尔处理器、工作寄存器和控制器组成CPU = 控制器 + 运算器(1)运算器以算术/逻辑运算单元 ALU(Arithmetic and Logical Unit)为核心,由暂存器 1、暂存器 2、累加器 ACC(Accumulator,简称 A)、B 寄存器、布尔处理器...原创 2019-03-02 09:11:20 · 5425 阅读 · 0 评论 -
MCS51单片机的型号与组成
MCS - 5 1 系列单片机简介MCS - 5 1 单片机型号命名规则MCS - 5 1 系列单片机的结构原理MCS - 5 1 系列单片机的中央处理器(CPU)控制部件原创 2019-03-01 19:39:04 · 2734 阅读 · 0 评论 -
单片机 -长时间定时
设系统时钟频率为12MHZ,编程实现从P1。1输出周期为1s的方波。由于定时时间较长,一个定时/计数器不能直接实现,可以定时/计数器T0产生周期性为10ms的定时,然后用一个寄存器R2对10ms计数50次或定时/计数器T1对10ms计数50次实现。系统时钟为12MHZ,定时/计数器T0定时10ms,计数值N为1000,只能选择方式1,方式控制字为00000001B(01H) ,初值X:X=...原创 2019-02-28 16:15:02 · 3450 阅读 · 0 评论 -
单片机 -定时/计数器的初始化编程及应用
定时/计数器的编程1.根据要求选择方式,确定方式控制字,写入TMOD寄存器,配置好工作模式。2.根据要求计算定时/计数器的计数值,在求得计数初值,写入初始化寄存器 。3.根据需求,开放定时/计数器中断选项4.设置 TCON,通过 TR0 置 1 来让定时器开始计数。5.等待定时时间到,如果查询处理编写查询程序判断溢出标志,溢出标志等于1,如果中断方式处理,编写中断服务程序。计算如何...原创 2019-02-28 15:19:39 · 14332 阅读 · 1 评论 -
单片机 -定时器计数器工作原理及工作方式
时钟周期时钟周期 T 是时序中最小的时间单位,具体计算的方法就是 1/时钟源频率,假如单片的晶振是 11.0592M,那么对于我们这个单片机系统来说,时钟周期=1/11059200 秒。2:状态周期在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。即两个时钟周期=状态周期机器周期机器周期是 12 个时钟周期,也就是 12/11059200...原创 2019-02-28 10:52:07 · 6211 阅读 · 1 评论 -
KeilC51使用教程
1 点击桌面上的Keil uVision4图标,出现启动画面:2. 点击“project — New uVision Project”新建一个工程:3. 给这个工程取个名, 然后保存, 工程的后缀为uvporj。4.弹出一个框,在CPU类型下我们找到并选中5.加入C8051起动码6. 建立一个源程序文本7. 编写C语言程序8.保存文件9.把刚创建的源程序文件加入到工...原创 2019-02-27 21:23:03 · 24675 阅读 · 4 评论 -
MCS51 数据存储器(RAM)
51 系列单片机的数据存储器分片内 RAM 和片外 RAM 两部分。通常片内数据存储器有 128B,对应的地址范围是 00H~7FH;增强型片内数据存储器有 256B,对应的地址范围是 00H~0FFH。片外数据存储器 RAM 最多可扩展至 64KB,地址范围为0000H~0FFFFH。256B 片内数据存储器空间,可分为两个部分。低 128B RAM 区(00H~7FH)与一般型单片机的...原创 2019-03-02 10:01:40 · 8846 阅读 · 0 评论 -
MCS-51单片机外部引脚及总线接口
(1)I/O 口基本特性51 系列单片机有 4 个 8 位并行 I/O 接口,并行就是所有各位数据同时并排传输的方式,每一个接口都有数据输出锁存器、输入缓冲器和输出驱动器。锁存器作为特殊的寄存器属于端口,具有端口地址。每一个接口只有一个端口,对单片机而言就不再区分两者,我们把 4 个接口和其中的锁存器都统一标记为 P0~P3,简称为 P0 口、P1口、P2 口和 P3 口。所有端口都可以作为通...原创 2019-03-02 10:26:39 · 5321 阅读 · 0 评论 -
MCS51 系列单片机的最小系统
让单片机工作的前提是为它添加必要的外围电路以构成单片机最小系统。初学者可能对单片机最小系统感觉很神秘,其实单片机最小系统很简单,就是能使单片机工作的最少的器件构成的系统。最小系统虽然简单,但是却是大多数控制系统所必不可少的关键部分。对于 MCS-51 系列单片机,其内部已经包含了一定数量的程序存储器和数据存储器,在外部只要增加电源电路、时钟电路、复位电路,并对特殊引脚做相应处理即可构成单片机最...原创 2019-03-02 11:42:18 · 8630 阅读 · 2 评论 -
金沙滩51单片机LED 流水灯程序
我们学了点亮一个 LED 小灯,然后又学了 LED 小灯闪烁,现在我们要进一步学习如何让 8 个小灯依次一个接一个的点亮,流动起来,也就是常说的流水灯。先来看 8 个 LED的核心电路图,如图 4-12。采用字节操作方式点亮LED灯P0,代表了 P0.0到 P0.7 的全部 8 个位。比如我们写 P0 = 0xFE;转换成二进制就是 11111110B,所以点亮 LED字节操作为:#inc...原创 2019-03-03 20:30:13 · 4248 阅读 · 0 评论 -
金沙滩51单片机LED 闪烁程序
点亮 LED 小灯的程序我们完成了,就是让 LED = 0。熄灭小灯的程序也很简单,就是 LED = 1。点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁了。#include<reg52.h>sbit LED = P0^0;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;s...原创 2019-03-03 18:52:03 · 1299 阅读 · 0 评论 -
金沙滩51单片机74HC138 三八译码器的应用
在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有 32 个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如 74HC138这个三八译码器,图 3-15 是 74HC138 在我们原理图上的一个应用。从这个名字来分析,三八译码器,就是把 3 种输入状态...原创 2019-03-03 18:44:57 · 1473 阅读 · 0 评论 -
金沙滩51单片机点亮一个LED灯
我用的开发板型号是金沙滩51单片机IDE是keil4,普通的C语言环境。#include <reg52.h> //包含特殊功能寄存器定义的头文件sbit LED = P0^0; //位地址声明,注意:sbit必须小写、P大写!sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = ...原创 2019-03-03 18:25:16 · 719 阅读 · 0 评论 -
KEIL 注解和去注解 快捷键添加
KEIL 注解和去注解 快捷键添加方法:菜单栏Edit --&gt; Configuration --&gt; Shortcut Keys:1, 例如设置 注解快捷键: Ctrl+/2, 例如设置 去注解快捷键: Ctrl+\查看设置好的快捷键:Keil-&gt;Edit-&gt;Advanced中有两项: Comment Selection /Uncomment Selection...转载 2019-03-03 18:06:45 · 1776 阅读 · 0 评论 -
MCS51单片机的输入/输出接口应用
P1口为例点亮LED点亮led灯,如果让灯点亮,引脚必须低电平。P1口输出0,内部总线写0,Q非为1,场效应管导通,意味着单片机端口接地,led灯形成回路,灯就亮了。LED灯灭P1口输出1,内部总线写1,Q非为0,场效应管截止,通过内部的上拉电阻,单片机端口为高,灯就灭了。输入要想把外部的状态读进去,需要对端口先置1,外部接了一个按键,按键没有按下,通过上拉电阻,引脚读进去...原创 2019-03-06 10:40:57 · 975 阅读 · 0 评论 -
金沙滩51单片机数码管的动态显示
我们的目标是实现秒表功能,只不过这次有 6 个位了,最大可以计到 999999 秒。#include &lt;reg52.h&gt;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;unsigned char code LedChar[] = { ...原创 2019-03-05 21:18:50 · 1299 阅读 · 0 评论