【Proteus仿真】51单片机+直流电机正反转控制
【Proteus仿真】51单片机+直流电机正反转控制【Proteus仿真】51单片机+直流电机正反转控制
🎬Proteus仿真演示:
📝程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include<reg52.h>sbit Key_UP=P1^2; //正转按键sbit Key_DOWN=P1^3;//反转按键 sbit Key_STOP=P1^4;//停止键 sbit ZZ=P1^0;//控制端sbit FZ=P1^1;//控制端sbit BEEP = P1^6; //蜂鸣器控制端口P36 unsigned char KeyV,TempKeyV; void Delay(unsigned int ii){unsigned int jj;for(;ii>0;ii--)for(jj ...
【Proteus仿真】51单片机驱动LCD1602显示DS18B20序列号
【Proteus仿真】51单片机驱动LCD1602显示DS18B20序列号【Proteus仿真】51单片机驱动LCD1602显示DS18B20序列号
程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751 ...
【Proteus仿真】简易51单片机时钟,带闹钟功能,可调整时间
【Proteus仿真】简易51单片机时钟,带闹钟功能,可调整时间【Proteus仿真】简易51单片机时钟,带闹钟功能,可调整时间
Proteus仿真效果图
简易电子钟 功能简介
数码管段选为P1口 数码管段选P3口 蜂鸣器P27 按键P20–P23.
数码管显示目前时间;
实现四个按键操作控制;
复位后内定数码管显示时间为00:00:00;
具有闹钟和整点报时功能.
按键1(KEY1)模式选择
正常模式
时钟时调整(时钟数码管闪)
时钟分调整(分钟数码管闪)
闹钟时调整(时钟+秒钟数码管闪)
闹时钟分调整(分钟+秒钟数码管闪)
源代码实现12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810 ...
【基础知识】C51单片机变量定义
【基础知识】C51单片机变量定义【基础知识】C51单片机变量定义
摘自《IAP15W4K58S4单片机的存储器与应用编程》主编:丁向荣;主审:姚永平;
在使用一个变量或常量之前,必须先定义该变量或常量,指出其数据类型和存储器类型,以便编译系统为其分配相应的存储单元。 在C51中定义变量的格式为:[存储种类]数据类型[存储器类型]变量名表
1231. auto int data x;2. char code y=0x22;
行号1中,变量x的存储种类、数据类型、存储器类型分别为auto、int、data。行号2中,变量y只定义了数据类型和存储器类型,未直接给出存储种类。在实际应用中,“存储种类”和“存储器类型”是可选项,默认的存储种类是auto(自动);如果省略存储器类型,则按Keil C编译器编译模式SMALL、COMPACT、LARGE所规定的默认存储器类型确定存储器的存储区域。C语言允许在定义变量的同时给变量赋初值,如行号2中对变量的赋值。
(1)变量的存储种类 变量的存储种类有4种,分别为auto(自动)、extern(外部)、static(静态)和reg ...
Arduino UNO + 74HC595流水灯+按键控制+Proteus仿真
Arduino UNO + 74HC595流水灯+按键控制+Proteus仿真Arduino UNO + 74HC595流水灯+按键控制+Proteus仿真
Proteus仿真
相关篇《Arduino UNO学习74HC595使用,循序渐进过程》
当然这只是一种流水灯的效果,如果需要其他的流水灯效果,只要稍微修改一下需要发送的数值即可实现,因为74HC是串转并的。
本案例按键控制的方法是,按一下启动流水灯,再按一下,就停止流水灯。按键采用中断控制方法,方便简洁,响应速度快。
如果74HC595的OE引脚接Arduino UNO的6号引脚,那么就是上电启动后自动开始流水灯效果
如果74HC595的MR引脚接Arduino UNO的6号引脚,那么就是上电启动后不会自动开启流水灯,需要按一次按键来触发流水灯效果。
实现代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#define ST 8 ...
Arduino UNO+DS1302+ MAX7219驱动8位共阴数码管显示时间+Proteus仿真【改进版】
Arduino UNO+DS1302+ MAX7219驱动8位共阴数码管显示时间+Proteus仿真【改进版】Arduino UNO+DS1302+ MAX7219驱动8位共阴数码管显示时间+Proteus仿真【改进版】
相关篇《Arduino UNO + DS1302 + TM1638时间显示+Proteus仿真二》
改进版内容:之前的版本需要使用物理自锁按键来控制日期和时间的切换。改进后,利用的是点动的物理按键即可。触发方式,以前是将按键检测信号放到loop循环里面轮询检测,改进后的采用中断触发方式,像Arduino UNO板子支持外部中断引脚有2和3号引脚,ESP8266除了一些特殊引脚外,其他引脚都支持。
所需库
DS1302库将和源程序一起打包。
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808 ...
【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
Proteus仿真
所需库
Rtc_Pcf8563库
LiquidCrystal库
编译信息
1234567使用 1.0 版本的库 Wire 在文件夹: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire 使用 1.0.3 版本的库 Rtc_Pcf8563 在文件夹: C:\Users\Administrator\Documents\Arduino\libraries\Rtc_Pcf8563 使用 1.0.7 版本的库 LiquidCrystal 在文件夹: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal "C:\\Users\\Administrator\\AppDat ...
Arduino UNO 利用3个IO口 + TM1638+驱动8位数码管显示+24个独立按键
Arduino UNO 利用3个IO口 + TM1638+驱动8位数码管显示+24个独立按键Arduino UNO 利用3个IO口 + TM1638+驱动8位数码管显示+24个独立按键
✨这几天没干什么事情,专门研究TM1638按键扫描功能。在之前使用TM1638作为数码管单独驱动显示,还是很顺利的,看到还自带按键扫描功能,这个非常不错,可以省掉3X8的矩阵键盘,虽然不一定能使用的上,差不多能把这个芯片的功能基本都榨干了,因为是使用的共阴数码管驱动,所以会有SEG8-SEG10的3个引脚没有使用到。
🔖本实例编程没有使用库,后面有时间将移植到Keil开发的工程环境当中。
🎉本程序仿真过程当中还存在bug,运行一段时间过后,数码管会不显示,有可能是软件自身的bug问题,但是不排除代码跑飞的问题,还有待完善的地方:按键需要按下一定时间才有数码管才有响应。
⛳仿真说明- 程序编译没有问题
加载文件
关于数码管驱动内容我就不做介绍了,主要讲解按键扫描功能。
✅键扫描和按键复用功能
按键扫描矩阵为3×8bit,也就是3X8矩阵,一共24个独立按键,这个按键矩阵键盘 ...
【Proteus仿真】4-16译码器(74HC154 )流水灯
【Proteus仿真】4-16译码器(74HC154 )流水灯【Proteus仿真】4-16译码器(74HC154 )流水灯
Proteus仿真演示
74HC154简介
74HC154;74HCT154是一种高速硅栅CMOS器件,与低功耗肖特基TTL(LSTTL)引脚兼容。 74HC154解码器接受四个活动的高二进制地址输入并提供16个互斥的活动低输出。双输入使能门可以用来选通解码器,以消除输出上的正常解码“小故障”,或者可以用来扩展解码器。 使能门有两个输入,必须接低电平,以使能输出。 74HC154可以通过使用使能输入之一作为多路复用数据输入来用作1-到16的解复用器。 当另一个启用输入为LOW时,寻址输出将遵循应用数据的状态。
74HC154功能图
逻辑功能图
引脚图
真值表
供电参数
仿真资源和程序源码以及数据手册资料
123链接:https://pan.baidu.com/s/1055dXTKsHzXnKdNIAbCs4Q 提取码:iefm
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、 ...
【Proteus仿真】6位数码管计时器(0-10^5)
【Proteus仿真】6位数码管计时器(0-10^5)【Proteus仿真】6位数码管计时器(0-105)
Proteus仿真
仿真难点,如何控制数字显示时不闪屏问题数码管第一位显示的是100毫秒递增+1的模式,2-6位是每秒计数,程序源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273/\*6位数码管计时器\*/#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar Count;sbit Dot = P0^7;uchar code DSY_CODE[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar D ...
