基于51单片机+74LS138译码器+8位共阴数码管时钟设计—按键修改时间
基于51单片机+74LS138译码器+8位共阴数码管时钟设计—按键修改时间基于51单片机+74LS138译码器+8位数码管时钟设计—按键修改时间
通过74LS138译码器+8位共阴数码管配合实现时钟设计
为什么强调8位的数码管一定要是共阴的,因为,如果是采用共阳的8数码管是没法实现对数码管的每一个位进行控制的,这是由于74LS138输出特性所决定的。
采用74LS138译码器可以节省4个IO的出来,除了节省IO口还有另外一个重要的原因就是单片机的驱动能力有限,在设计的过程当中,最好是单片机只负责运算和信号处理,驱动的事情交给其他专业的协同芯片来完成,不同芯片都有自己的专攻领地。
📺例程一仿真演示:
配合74HC245缓存器来使用效果,至于为什么还需采用外围的芯片驱动,请看上面的信息。
🎬例程二仿真演示:
📝程序代码:(例程一)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626 ...
【Proteus仿真】三极管组成的H桥驱动直流电机正反转可控
【Proteus仿真】三极管组成的H桥驱动直流电机正反转可控【Proteus仿真】三极管组成的H桥驱动直流电机正反转可控
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657/\*三极管组成的H桥驱动直流电机正反转可控\*/#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit K1 = P3^0;//正转sbit K2 = P3^1;//反转sbit K3 = P3^2;//停止sbit LED1 = P0^0;//指示灯sbit LED2 = P0^1;sbit LED3 = P0^2;sbit MA = P1^0;//电机控制引脚sbit MB = P1^1;void main(void){ LED1 ...
51单片机 1602液晶显示的DS1302实时时钟+Proteus仿真
51单片机 1602液晶显示的DS1302实时时钟+Proteus仿真51单片机 1602液晶显示的DS1302实时时钟+Proteus仿真
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \*\*\*\*\*\*\*\*\*\*\*\*\* ...
51单片机 4×4键盘矩阵控制条形LED显示+ Proteus仿真
51单片机 4×4键盘矩阵控制条形LED显示+ Proteus仿真51单片机 4×4键盘矩阵控制条形LED显示+ Proteus仿真
Proteus仿真
Keil工程导入的是汇编文件
实例代码
注意这是通过汇编代码写的程序,文件后缀格式是.asm格式
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155// 矩阵键盘控制 ...
51单片机 24C02器件读写+Proteus仿真
51单片机 24C02器件读写+Proteus仿真51单片机 24C02器件读写+Proteus仿真
Proteus仿真
Proteus器件选型注意事项
IIC存储器件选择24C02C,选择其他的容量的或者其他型号的存储器件无法仿真出实际的效果。
器件列表
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* ...
51单片机 74LS148扩展中断+ Proteus仿真
51单片机 74LS148扩展中断+ Proteus仿真51单片机 74LS148扩展中断+ Proteus仿真
🎬Proteus仿真
🔖74LS148:8 线-3 线优先编码器
74LS148是带有扩展功能的8-3线优先编码器,它有8个信号输入端,3个二进制码输出端,一个输入使能端,一个选通输出端和一个扩展端。
0-7 编码输入端(低电平有效)
EI 选通输入端(低电平有效)
A0、A1、A2 三位二进制编码输出信号即编码 输 出 端(低电平有效)
GS 片优先编码输出端即宽展端(低电平有效)
EO 选通输出端,即使能输出端.
📓中断扩展实现将74LS148的GS引脚,接到单片机的外部中断引脚上。
📝程序代码123456789101112131415161718192021222324252627#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit LED = P1^0;void EX\_IN ...
51单片机 外部中断0触发蜂鸣器+Proteus仿真
51单片机 外部中断0触发蜂鸣器+Proteus仿真51单片机 外部中断0触发蜂鸣器+Proteus仿真
Proteus仿真
为了体现仿真观看效果,在蜂鸣器旁边并了一组led,触发的时候,导通NPN三极管。
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*实验现象:下载程序后,操作 K3 按键使 D1 状态取反1,单片机-->buzzer&交通灯模块P20-->D12,单片机--> ...
51单片机 外部中断1触发蜂鸣器+Proteus仿真
51单片机 外部中断1触发蜂鸣器+Proteus仿真51单片机 外部中断1触发蜂鸣器+Proteus仿真
相关篇《51单片机 外部中断0触发蜂鸣器+Proteus仿真》
Proteus仿真
为了体现仿真观看效果,在蜂鸣器旁边并了一组led,触发的时候,导通NPN三极管。
自己添加蜂鸣器注意选择有源蜂鸣器,设置修改蜂鸣器属性,将电压改为5V驱动。
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*实验 ...
51单片机 定时器流水灯+Proteus仿真
51单片机 定时器流水灯+Proteus仿真51单片机 定时器流水灯+Proteus仿真
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142/\*定时器流水灯\*/#include<reg51.h> //宏定义#define uchar unsigned char #define LED P0 //全局变量uchar Time;void main(void){ uchar data1=0xfe; TMOD = 0x01; //选择工作方式1 TH0 = 0x3C; //设置初始值,定时50MS TL0 = 0xB0; EA = 1; //打开总中断 ET0 = 1; //打开定时器0中断 TR0 = 1; //启动定时器0 while(1) { LED = data1; if(Time >=10) //0.5s进入if内进行移位 { Time = ...
51单片机 将按键状态反馈到led亮灭状态+Proteus仿真
51单片机 将按键状态反馈到led亮灭状态+Proteus仿真51单片机 将按键状态反馈到led亮灭状态
Proteus仿真
实例代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED1 = P0^0; sbit LED2 = P0^1;sbit LED3 = P0^2;sbit LED4 = P0^3;sbit K1 = P1^0;sbit K2 = P1^1;sbit K3 = P1^2;sbit K4 = P1^3;void DelayMS(uint x){ uchar t; while(x--) { for(t=120;t>0;t--); }}void main(){ P0=0xff; P1=0xff; while( ...
