当前位置: 首页 > news >正文

【51单片机单595点阵8按键调节速度方向花样】2022-6-18

缘由单片机595扩展通过按键控制8*8流水灯速度跟方向-后端-CSDN问答

#include "REG52.h"
sbit fx=P1^7;
sbit sd=P1^6;
sbit zx=P1^5;
sbit ds=P1^0;//数据线  595的14脚
sbit sh=P1^1;//数据输入时钟线 595的11脚
sbit st=P1^2;//输出存储器锁存时钟线 595的12脚
unsigned char code dzshuju[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00};
unsigned char code dzwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void QuDong595(unsigned char sj)
{unsigned char aa=8;while(aa--){ds=sj>>7;sj<<=1;//十六进制数据发送sh=1;//上升沿发生移位 上升沿时数据寄存器的数据锁存。有些板子可能需要更长的延时时序可重复写sh=1;多次语句作为延时用不调用函数头文件#include <intrins.h>中的_nop_();sh=0;}st=0;      st=1;//上升沿将数据送到输出锁存器   st=0;
}
void main()
{unsigned char h=0,l=0,xd=0,ys=0,q=0,x=0,dy=0,s=0,d=0,z=0;while(1){if(z==0){QuDong595(~dzshuju[h+q]);P2=~dzwei[(x>0?7-l:l)];}else{QuDong595(dzwei[(x>0?7-l:l)]);P2=dzshuju[h+q];}while(++dy);QuDong595(0xff);if(++l>7)h=l=0;else h=l;//之上实现点阵显示一个字符if(++ys==0)if(++d>s)if(++q>8*2)q=0;else;else d=0;else;//之上实现点阵移动和速度if(fx==0&&++xd==0){if(x==0)x=1;else x=0;while(fx==0);}//之上按键处理调节方向if(sd==0&&++xd==0){if(++s>7)s=0;P3=s;while(sd==0);}//之上按键处理调节速度if(zx==0&&++xd==0){if(z==0)z=1;else z=0;while(zx==0);}//之上按键处理调节转向}
}

 

http://www.dtcms.com/a/264811.html

相关文章:

  • 使用OpenCV训练自有模型的实践
  • 飞算科技:以自主技术创新推动行业数字化升级
  • Java学习第五部分——API部分
  • 【DICOM后处理】qt+vs 实现DICOM数据四视图显示
  • LeetCode--39.组合总和
  • Oracle 数据塑形:行列转换与集合运算
  • QT记事本3——下拉框comboBox、下拉框编码值传给QTextStream类
  • 【BERT_Pretrain】Wikipedia_Bookcorpus数据预处理(二)
  • Electron 快速上手
  • vscode vim插件示例json意义
  • C++ 第四阶段 文件IO - 第一节:ifstream/ofstream操作
  • JavaScript---查询数组符合条件的元素
  • 解决 npm install canvas@2.11.2 失败的问题
  • 【公司环境下发布个人NPM包完整教程】
  • SPI、I2C和UART三种串行通信协议的--------简单总结
  • NLP:文本张量表示方法
  • 【安全工具】SQLMap 使用详解:从基础到高级技巧
  • 【字节跳动】数据挖掘面试题0001:打车场景下POI与ODR空间关联查询
  • C++实现状态机
  • 20250703|Leetcodehot100之739【】今天计划
  • Linux环境下使用 C++ 与 OpenCV 实现 ONNX 分类模型推理
  • 洛谷P2119 [NOIP 2016 普及组] 魔法阵【题解】【前缀和优化】
  • Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330)
  • Javaee 多线程 --进程和线程之间的区别和联系
  • nvm:NodeJs版本管理工具下载安装与使用教程
  • macOS挂载iOS应用沙盒文件夹
  • 飞算 JavaAI 智控引擎:全链路开发自动化新图景
  • 【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
  • 橡胶硬度计在不同领域中的应用
  • mybatis考试