
51单片机
青烨慕容
这个作者很懒,什么都没留下…
展开
-
89C51使用0.96 OLED显示屏
89C51使用0.96 OLED显示屏1、电路原理2、代码2.1、关于字体图片取模3、显示效果4、下载链接 好长时间都没有使用51了,因为一些莫名的原因看了看51,瞬间感觉不忘初心啊,还是熟悉味道。这次是使用7脚OLED显示屏。因为51可以使用Proteus软件进行仿真,所以最后我会附上仿真和代码。 51单片机使用的LCD1602的显示屏相对来说是比较多的,需要LCD1602的可以看我这篇博客https://blog.youkuaiyun.com/weixin_45488643/article/details原创 2020-09-05 17:08:57 · 7097 阅读 · 2 评论 -
89C51使用ADC0808模数转换
89C51使用ADC0808模数转换1、基本要求简介:1.1、采用中断方式,利用ADC0808实现8路模拟输入信号依次进行A/D转换。1.2 、采用查询方式,利用ADC0808实现8路模拟输入信号依次进行A/D转换。2、ADC0808简介3、中断/查询方式3.1 、采用中断方式3.1.2、电路原理图3.1.3、代码3.1.4 、效果图3.2、 采用查询方式3.2.1、电路原理图3.2.2、代码3.2.3 、效果图1、基本要求简介:1.1、采用中断方式,利用ADC0808实现8路模拟输入信号依次进行A/D原创 2020-07-02 21:29:04 · 24339 阅读 · 7 评论 -
AT89C51使用DAC0832数模转换,波形发生器
DAC0832波形发生器DAC0832简介电路构建单片机代码效果截图 使用51单片机和DAC0832构建按键波形发生器,按下不同的按键能够产生不同波形,可以产生波形为阶梯波、三角波、方波、正弦波。DAC0832简介 DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式。 1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模原创 2020-06-19 17:02:21 · 18309 阅读 · 47 评论 -
AT89C51使用I2C总线扩展AT24C02
I2C总线扩展AT24C04AT24C04简介电路原理图C代码仿真效果 使用C51扩展24C04,在24C04中写入数据"Qing Ye Mu Rong!",再从24C04中读取"Qing Ye Mu Rong!"并保存在C51内存之中。LED灯亮表示写入成功,根据存取状态返回值判断。AT24C04简介24C02是一个2K位串行CMOS 的EEPROM,内部含有256个8位字节。引脚简介: VCC和VSS是芯片的电源和地,电压的工作范围为:+1.8V~+6.0V。 A0、A1、A2是原创 2020-06-13 00:26:03 · 2239 阅读 · 0 评论 -
AT89C51并行I/O端口扩展及I2C串行总线扩展(8255)
并行I/O端口扩展及I2C串行总线扩展8255A控制字简介电路原理图汇编代码C代码仿真结果 利用单片机51的并行I/O端口扩展,实现51与8255的PA端口按方式0输出,PB口按方式0输入,将PB口外接8个开关的状态通过PA口外接的LED灯反应出来。8255A控制字简介 8255工作之前必须初始化,需要将方式控制字写入控制字寄存器中,指定端口工作方式。有关8255A详细资料电路原理图汇编代码 ORG 0000HPORTA EQU 7CFFH ;8255PA口地址PORTB原创 2020-06-12 23:52:49 · 6124 阅读 · 0 评论 -
AT89C51使用定时器数码管4位显示,每1s数码管数字加1,可以显示0-9999
每秒显示的数字加1,并在数码管上显示出来。程序要求: 定时器定时,数码管显示时间,并且数码管数字显示每1s数字加1,显示0-9999。 使用74LS373控制I/O口,可以节省I/O口。74LS373简介: 74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变,当...原创 2020-05-07 18:19:33 · 8197 阅读 · 0 评论 -
C51单片机温湿度传感器DTH11使用
LCD1602显示温湿度传感器DTH11的温度与湿度。DTH11简介:DTH11实物 DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。 DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 ...原创 2020-05-07 15:52:26 · 25635 阅读 · 48 评论 -
51单片机使用LCD1602显示DS18B20温度传感器温度
使用LCD1602显示DS18B20温度传感器温度。关于DS18B20和LCD的原理,我就不再叙述了,大家自行查找,网上可以找到好多。 使用Proteus仿真。(需要仿真和Keil工程文件的可以留言,看到回复)需要的元件: AT89C51、LCD1602、DS18B20。电路原理图:主函数代码:#include <reg52.h>#include<DS18...原创 2020-05-07 11:29:31 · 43139 阅读 · 101 评论 -
使用74LS245驱动8×8LED点阵屏显示数字
使用8×8LED点阵屏显示数字。点阵取模使用软件PCtoLCD2002取模软件,使用74LS245驱动点阵。取模方式:阴码、列行式、顺位、C51格式。取模软件的设置:电路原理图:代码:/* 名称:8X8LED点阵显示数字 说明:8X8LED点阵屏循环显示数字0~9,刷新过程由定时器中断完成。*/#include<reg51.h>#include<intr...原创 2020-05-06 10:52:57 · 6777 阅读 · 0 评论 -
89C51 ADC0832模数转换与LCD1602显示
ADC0832模数转换与LCD1602显示。ADC0832 是一种8 位分辨率、双通道A/D转换芯片。ADC0832特点: 8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在0~5V之间; 工作频率为250KHZ,转换时间为32μS;芯片接口说明:CS_ 片选使能,低电平芯片使能。CH0 模拟输入通道0,或作为IN+/-使用...原创 2020-05-06 09:56:52 · 14379 阅读 · 11 评论 -
C51使用定时器中断产生PWM方波信号
使用定时器中断产生PWM方波信号,完成50个频率为1KZ的矩形脉冲输出,P20端口接LED闪烁,用于演示。 矩形脉冲频率为1KZ,周期则为1ms, 中断为0.5ms, 所以T0: TH0=(65536-500)/256, TL0=(65536-500)%256。使用示波器观察输出信号波形。电路原理图:代码:/* 用定时/计数器 T0 输出引脚 P1.4 延...原创 2020-05-06 09:29:16 · 10530 阅读 · 5 评论 -
51单片机双向通信实例
通过甲机按键控制点亮乙机LED灯,通过控制乙机按键向甲机发送数字,并且使用数码管显示。电路原理图:甲机代码:#include<reg51.h>#define uchar unsigned char#define uint unsigned int sbit LED1=P1^0;sbit LED2=P1^3;sbit K1=P1^7;uchar Operatio...原创 2020-05-06 09:16:53 · 9585 阅读 · 8 评论 -
AT89C51定时器/计数器的使用
AT89C51单片机内有定时器/计数器 T0、T1 共2个定时/计数器,有4种工作方式。每个定时器/计数器( T0 和 T1),在特殊功能寄存器 TMOD 中都有一个控制位,它选择 T0 和 T1 为定时器还是计数器。TMOD 用于控制 T0 和 T1 的工作方式定时器/计数器 4 种工作方式C/ T :计数工作方式/定时工作方式选择位C/ T =0,设置为定时工作方式。C/ T...原创 2020-05-05 17:52:59 · 18066 阅读 · 0 评论 -
AT89C51单片机外部中断使用和使用74LS373控制I/O口
利用单片机 AT89C51 的外部中断 0 和中断 1, I/O 口,对 LED 和数码管分别进行控制。以实现按键 K0 时 LED 灯亮灭闪烁,按键 K1 时做 LED 左和右流水运动。无按键操作时偶数位数码管显示 0-F。使用74LS373可以节省I/O口74LS373简介: 74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q...原创 2020-05-05 17:08:22 · 5513 阅读 · 0 评论 -
利用74LS373对 LED 和数码管分别进行控制,数码管显示所亮 LED 的位置
利用单片机 AT89C51 的 I/O 口,对 LED 和数码管分别进行控制。以实现 LED灯做流水运动,数码管显示所亮 LED 的位置。使用74LS373可以节省I/O口74LS373简介: 74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变,当LE为低电平时,D...原创 2020-05-05 12:58:52 · 8418 阅读 · 0 评论 -
89C51数码管循环显示数字0~15
89C51数码管循环显示数字0~15,使用Proteus经行仿真。需要材料: 数码管、AT89C51、最小系统电路、代码如下://-----------------------------------------------------------------------------------//程序名: SMG7-4//程序功能:P0端口输出,一位数码管循环显示0~15/...原创 2020-05-05 12:41:17 · 6770 阅读 · 2 评论 -
51单片机点亮LED和使用定时器中断控制蜂鸣器发声
初学51单片机第一个实验一般都是以点亮LED灯开始,以下是使用Proteus仿真软件的实验效果。 实验需要仿真仪器: 示波器、LED、电压表、蜂鸣器、AT89C51实验电路图:实验代码:#include <reg52.h>#define uchar unsigned char#define uint unsigned intuint i = 0;sbit b...原创 2020-05-05 12:09:47 · 12919 阅读 · 4 评论 -
解决Keil与Proteus无法联机调试问题和详细的联机调试过程
解决Keil与Proteus无法联机调试问题和详细的联机调试过程 自己在学习过程中遇到的问题,记录一下。 打开Keil 调试,居然发现没有 Proteus VSM Monitor-C51 Driver,这就有点不好搞了,不过不要紧,可以自己手动添加。以下是添加Proteus VSM Monitor-C51 Driver 过程: 首先下载 VDM51.dll 这个文件,这个文件自己...原创 2020-05-05 11:25:23 · 9732 阅读 · 9 评论