AT89C51/2
文章平均质量分 55
dedsec0020
这个作者很懒,什么都没留下…
展开
-
6.0 动态数码管 _ [AT89C51/2] [从零开始的单片机]
数码管简介上一个实验是静态数码管实验,动态和静态所用的数码管都一样,在开发板上是2个四位一体的共阴数码管,唯一的区别是要不断更改输入的电平,从而达到动态的效果。这里所说的动态并不完全是动态。这里的动态是说输入的电平时刻都在改变,这是动态,但是在数码管上显示出来的是多个数字,这些数字并不能变,按这样来说并不是动态的。多位数码管简介这里就要说到“段”和“位”了。对于“位”,我们使用的数码管就是2给四位一体的共阴极数码管,“四位”即指四个“8”,下面就是一位数码管:对于“段”,段是从属于上面的位,上图原创 2022-03-27 15:48:08 · 7717 阅读 · 0 评论 -
5.0 静态数码管 _ [AT89C51/2] [从零开始的单片机]
数码管介绍数码管即发光二极管,有的时七段,有的是八段,八段的二极管比七段的多了一小段二极管"dp"(为下一节"动态数码管"及段选埋伏笔)。一般把能显示一个数字"8"的二极管叫做一位(位选的伏笔),如果有8个8能全部显示出来,叫做8位数码管,当然也有1~7位的数码管。下面用数字表出数码管的8个"段":数码管显示原理——共阳极\共阴极输送电平的区别数码管内部电路如图,左侧为共阳极原理图,右侧为共阴极原理图。要想让数码管输出数字"0",就要使除了"g""dp"之外的二极管全部点亮即可。以输出数原创 2022-03-23 19:06:55 · 1863 阅读 · 0 评论 -
4.0 蜂鸣器 _ [AT89C51/2] [从零开始的单片机]
蜂鸣器介绍蜂鸣器分为压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器需要电压、一定频率的脉冲信号;电磁式蜂鸣器需要电源即可。开发板上面是压电式蜂鸣器,是无源蜂鸣器(无振荡电路),因此可以手动改变蜂鸣器的频率产生不同音色、音调,而改变高低电平占比可以改变声音大小。硬件设计压电式蜂鸣器需要的电压不可能由单片机的I/O口提供,因为I/O口的驱动能力很弱(加上上拉电阻也不强),在开发板原理图上:开发板原理图中,P2^5引脚直接连接蜂鸣器,并不是直接连接单片机,也没有先连接到三极管放大,还使用UNL2003芯原创 2022-03-22 14:07:48 · 1786 阅读 · 0 评论 -
3.0 LED流水灯实验 _ [AT89C51/2] [从零开始的单片机]
LED闪烁回顾LED闪烁本质就是把LED的输入端不断更改高低电平即可。记得延时函数!LED流水灯是什么?LED流水灯就是使8个发光二极管逐个点亮,显而易见,需要LED闪烁为基础、8个LED输出规律有8个LED,则有8个引脚(I/O口),要同时控制8个引脚,有两种方法可行。通过编写LED的二进制位数转换为十六进制得到的表。原理如下:原理图LED LED LED LED LED LED LED LED 1 1 1 1 1 1 1 0 0xfe 1 1原创 2022-03-22 12:31:05 · 1140 阅读 · 0 评论 -
2.0 LED闪烁实验 _ [AT89C51/2] [从零开始的单片机]
LED原理回顾LED接通时,就是LED的正极负极接通,即高电平和低电平接通。LED从恒亮变为闪烁要使LED从恒亮变为闪烁,就要使输入的电平在0和1之间循环。当然,循环不是简简单单在0和1之间变化就好,因为人眼的余晖效应,灯光消失时在人眼中还会存在一段时间。因此,LED亮灭之间要有一段时间的延迟。需要编写延时函数。延时函数void delay(u16 i)//延时函数 相当于(int 数字){ while(i--);//输入的数字在while死循环内递减}程序主体#include &l原创 2022-03-22 09:57:07 · 942 阅读 · 0 评论 -
1.0 点亮第一个LED _ [AT89C51/2] [从零开始的单片机]
1.0 点亮第一个LED _ [AT89C51/2] [从零开始的单片机]LED电路这是开发板上面LED的原理图,相同引脚是连接在一起的(虽然原理图上是分开表示)。如图,这些LED是共阳极,因此,只需给想要点亮的LED相应的引脚输入低电平即可使电路导通,LED点亮。点亮第一个LED上面说过,要点亮一个LED,就要对相应的LED输入低电平,即输入"0",#include "reg52.h"sbit LED1=P2^0; //将 P2.0 管脚定义为 LED1void main(){L原创 2022-03-22 09:47:01 · 753 阅读 · 0 评论