基于51单片机的花样心形型流水灯proteus仿真

2023-11-03 01:59

本文主要是介绍基于51单片机的花样心形型流水灯proteus仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

硬件设计

(末尾附文件)

仿真图如下:
基于51单片机,多个LED组成的硬件电路
在这里插入图片描述

程序设计

#include<reg52.h> 
#define uchar unsigned char
uchar flag=200;
///
uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移  向下
uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移  向上
uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移	 向下
uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移  向上
uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移  向下
uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};
uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};
uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};
uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};
uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void shansuo();
void xl();
///
void delay(void)   
{unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++)	   ;}
///void hy1(void)  //点亮状态逆时针旋转90度(一个一个灭)
{unsigned char i;for(i=0;i<8;i++) {P0=Tab11[i];P1=Tab22[i];P2=Tab11[i];P3=Tab22[i];delay();}for(i=0;i<8;i++) {P0=Tab44[i];P1=Tab55[i];P2=Tab44[i];P3=Tab55[i];delay();}
}
///void hy2(void)  //暗中逆时针转360。(一个一个点亮)
{unsigned char i;for(flag=250;flag>0;flag=flag-50){P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++) {P0=Tab11[i];delay();}for(i=0;i<8;i++) {P2=Tab11[i];delay();}for(i=0;i<8;i++) {P3=Tab22[i];delay();}for(i=0;i<8;i++) {P1=Tab22[i];delay();}}
flag=250;
}void hy3(void)  //点亮中逆时针转360°(一个一个灭)
{unsigned char i;flag=50;P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i<8;i++) {P0=Tab44[i];delay();}for(i=0;i<8;i++) {P2=Tab44[i];delay();}for(i=0;i<8;i++) {P3=Tab33[i];delay();}for(i=0;i<8;i++) {P1=Tab33[i];delay();}flag=150;
}
///void hy4(void)  //点亮状态顺时针旋转90度(一个一个灭)
{unsigned char i;for(i=0;i<8;i++) {P1=Tab11[i];P0=Tab22[i];P3=Tab11[i];P2=Tab22[i];delay();}for(i=0;i<9;i++) {P1=Tab6[i];P0=Tab5[i];P3=Tab6[i];P2=Tab5[i];delay();}
}
/void hy2_1(void)  //暗中逆时针转90度。(一个一个点亮)
{unsigned char i;flag=200;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<9;i++) {P0=Tab11[i];delay();}flag=110;for(i=0;i<9;i++) {P2=Tab11[i];delay();}flag=80;for(i=0;i<9;i++) {P3=Tab22[i];delay();}flag=80;for(i=0;i<9;i++) {P1=Tab22[i];delay();}
}void hy2_2(void)  //暗中逆时针转180度。(一个一个点亮)
{unsigned char i;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++) {P0=Tab11[i];delay();}for(i=0;i<8;i++) {P2=Tab11[i];delay();}P0=0xff;P2=0xff;for(i=0;i<8;i++) {P3=Tab22[i];delay();}for(i=0;i<8;i++) {P1=Tab22[i];delay();}P1=0xff;P3=0xff;
}
///void hy2_3(void)  //暗中向下180。(一个一个点亮)
{unsigned char i;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++) {P0=Tab11[i];P1=Tab11[i];delay();}for(i=0;i<8;i++) {P2=Tab11[i];P3=Tab11[i];delay();}
///flag=100;for(i=0;i<8;i++) {P2=Tab33[i];P3=Tab33[i];delay();}for(i=0;i<8;i++) {P0=Tab33[i];P1=Tab33[i];delay();flag=200;}
}
///void hy2_4(void)  //暗中逆时针转360。(一个一个点亮)
{unsigned char i;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++) {P0=Tab11[i];P3=Tab22[i];delay();}for(i=0;i<8;i++) {P2=Tab11[i];P1=Tab22[i];delay();}
///flag=100;
for(i=0;i<8;i++) {P0=Tab44[i];P3=Tab5[i];delay();}for(i=0;i<8;i++) {P2=Tab44[i];P1=Tab5[i];delay();}flag=200;
}

.

文件仅供参考:

链接:https://pan.baidu.com/s/14rN-I12wxD0tKT9pHYeoNQ
提取码:2l80

.

这篇关于基于51单片机的花样心形型流水灯proteus仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334799

相关文章

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。 当然也可以选择只使用一个电阻。 软件程序设计 正常流水LED灯 因为要用到多个GPIO引脚,所以最好把所有的GPI

代码训练营 Day26 | 47.排序II | 51. N-皇后 |

47.排序II 1.跟46题一样只不过加一个树层去重 class Solution(object):def backtracking(self,nums,path,result,used):# recursion stopif len(path) == len(nums):# collect our setresult.append(path[:])return for i in range(

基于stm32的河流检测系统-单片机毕业设计

文章目录 前言资料获取设计介绍功能介绍具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机设计精品

Matlab simulink建模与仿真 第十章(模型扩展功能库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、模型扩展功能库中的模块概览         注:下面不会对Block Support Table模块进行介绍。 二、基于触发的和基于时间的线性化模块 1、Trigger-Based Linearization基于触发的线性化模块 (1)每次当模块受到触发时,都会调用linmod或者dlinmod函数