51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭
51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭
先上proteus仿真图:
74HC245:八路数据缓冲器
📝程序代码:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253/\*6个独立式按键控制LED移动\*/#include <reg51.h>typedef unsigned char uint8;typedef unsigned int uint16;void delay(uint16 x) //按键的延时函数,用于消抖{uint16 i,j; for(i = x; i > 0; i --) for(j = 114; j > 0; j --);}uint8 i = 0,k = 0,j = 0;void Move\_LED(){if ((P1 & 0x01) == 0x ...
51单片机通过按钮控制步进电机正反转角度
51单片机通过按钮控制步进电机正反转角度51单片机通过按钮控制步进电机正反转角度
🌿通过按钮控制电机顺时针或逆时针旋转:
📝程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104#include<reg51.h>#include<string.h>#include<stdio.h>#include<intrins.h>#include<stdlib.h>#define INT8U unsigned char#define INT16U unsigned intsbit FFW_KEY=P3^0;sbit REV_KEY=P3^1;sbit STOP_KEY ...
【Proteus仿真】基于51单片机的步进电机正反转调速系统控制
【Proteus仿真】基于51单片机的步进电机正反转调速系统控制【Proteus仿真】基于51单片机的步进电机正反转调速系统控制
🌼先上图:
⛳程序说明在这里插入图片描述代码更新(2022年6月17日)
原来运行仿真时,正转和反转按钮没有起到作用,在main.c文件中的void KeyService()按键服务函数中添加了相关语句。使用原文下载的资源文件时,注意按照下面添加相关语句即可。
📑仿真说明
原文件所使用的版本是8.3版本,如果使用V8.12版本进行运行仿真时,需要注意:将步进电机的电压属性参数修改为默认的12V,以及给供电标签添加+12v的标签才可以正常启动,否则运行仿真时无法转动。
更新版的资源(基于proteus8.12平台)
123链接:https://pan.baidu.com/s/1SKPyTiIhyR8x1R7TSQqhrQ 提取码:lrip
建议使用该资源,下面的那个为原始资源,没有做变更,请须知。
12345678910111213141516171819202122232425262728293031323334353637vo ...
arduino UNO利用74hc595控制8个LED状态(方式一)
arduino UNO利用74hc595控制8个LED状态(方式一)arduino UNO利用74hc595控制8个LED状态(方式一)
先上proteus仿真图:
📝流水灯程序:12345678910111213141516171819202122int ST = 8;//ST CP of 74HC595int SH = 12;//SH CP of 74HC595int DS = 11; //DS of 74HC595void setup () { pinMode(ST, OUTPUT); //锁存引脚设置 pinMode(SH, OUTPUT); //时钟引脚设置 pinMode(DS, OUTPUT); //数据引脚设置}void loop() {for (int i = 7; i >= 0; i--) { digitalWrite(ST, LOW);shiftOut(DS,SH,MSBFIRST,0xcc); //0xcc是代表16进制数,也可以直接写10进制数,cc十进制就是204,二进制表示:110 ...
51单片机4x4矩阵键盘扫描+数码管显示
51单片机4x4矩阵键盘扫描+数码管显示51单片机4x4矩阵键盘扫描+数码管显示
个位闪烁感在这篇文章已经修复《51单片机4x4矩阵键盘扫描+数码管显示(二)(修bug篇)》
材料:AT89C52、2位数码管、74HC595、
Proteus仿真
实例代码(先行后列扫描法)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127#include<reg52.h>#include "intrins.h"sbit ST=P2^0;//定义74HC595移位 ...
51单片机4x4矩阵键盘扫描+数码管显示(三)
51单片机4x4矩阵键盘扫描+数码管显示(三)51单片机4x4矩阵键盘扫描+数码管显示(二)
演示效果
材料:AT89C52、2位数码管、74HC595、
Proteus仿真
《先列后行扫描法》
方法二:先列后行扫描法实例代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117#include<reg52.h>#include "intrins.h"sbit ST=P2^0;//定义74HC595移位寄存器sbit SH=P2^2;sbit DS=P2^1;sbit P25=P2^5;//数码管十位显示sbit P2 ...
51单片机4x4矩阵键盘扫描+数码管显示(二)(修bug篇)
51单片机4x4矩阵键盘扫描+数码管显示(二)(修bug篇)51单片机4x4矩阵键盘扫描+数码管显示(二)(修bug篇)
修正上一篇文章显示效果《51单片机4x4矩阵键盘扫描+数码管显示》闪烁,消隐处理,优化。
材料:AT89C52、2位数码管、74HC595、
Proteus仿真
在调试效果的时候,总想着在数码管位显示之间加延时来消除那种视觉上的闪烁,效果不理想,后面直接在数码管显示完后,直接让数码管做断电信号处理,也就是让P25和P26拉低,但是还是需要在位和位显示直接加一定的延时。
实例代码(先行后列扫描法)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121 ...
51单片机+4位数码管利用定时器秒计数
51单片机+4位数码管利用定时器秒计数51单片机+4位数码管利用定时器秒计数
仿真图
程序源码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include<reg51.h>unsigned int number =0;unsigned char qian,bai,shi,ge; unsigned char code Seg_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴0-F段码,加code是存在rom里面void delay(unsigned int n);//@12MHz晶振 void Seg\_display(unsigned int val) ...
51单片机+4位数码管计时器按键可调节
51单片机+4位数码管计时器按键可调节51单片机+4位数码管计时器按键可调节
4位数码管秒计时,采用定时器
proteus仿真
源代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128#include<reg51.h> //单片机头文件 #define uint unsigned int#define uchar unsigned char#define CF P0 //宏定义 uint sec=0; //数码管显示同步定义数值sec 后面还会讲 ...
51单片机8x8矩阵键盘+数码管+74HC595+Proteus仿真
51单片机8x8矩阵键盘+数码管+74HC595+Proteus仿真51单片机8x8矩阵键盘+数码管+74HC595+Proteus仿真
硬件:AT89C52、74HC595、2位数码管、64个按键、74HC245、
两路数码管显示,实际应用电路只需一路即可,为了验证数码管多种方式驱动方式。
Proteus仿真:
实例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614 ...
