基于51单片机的多彩霓虹灯控制系统proteus仿真
仿真电路图:
基于51单片机,8个LED组成流水灯,通过一个按键切换模式
部分代码:
#include<reg51.h>void delay(unsigned char ms) //延时函数
{unsigned char i,j,k,n;for (k=0;k<ms;k++)for(i=0;i<20;i++) for(j=0;j<13;j++) for(n=0;n<2;n++);
} void code shanshou0() //显示模式函数 { P1 = 0xff;
}
void code shanshou1()
{unsigned char i,j;j=0x01;for(i=0;i<8;i++)
{P1=~j;delay(20000);j<<=1;
}
}
void code shanshou2()
{P1=0Xaa;delay(100);P1=~0Xaa;delay(100);/* unsigned char i,j;j=0x55;for(i=8;i>0;i--)
{P1=~j;delay(50000);j<<=1;
}*/
}
void code shanshou3()
{ char a;a=8;P1=0x7f;while(a--){delay(40);P1=(P1>>1)+0x80;}/*unsigned char i,j,n;j=0x01;for(i=0;i<8;i++){for(n=0;n<3;n++){P1=~j;delay(20000);P1=0xff;delay(20000);}j<<=1;}*/
}
void code shanshou4()
{char a,b;char x; x=3;P1=0xe7;delay(40);while(x--){a=P1&0xf0; //获取P1口高4位b=P1&0x0f; //获取P1口低4位a=(a<<1)+0x10;b=(b>>1)+0x08;P1=a+b;delay(40);}/*unsigned char i,j,n;j=0x55;for(i=0;i<8;i++){for(n=0;n<3;n++){P1=~j;delay(20000);P1=0xff;delay(20000);}j<<=1;}*/
} void code shanshou5()
{P1 = 0x00;delay(20);P1=0xff;delay(20);
}
unsigned char i=0; //切换显示函数用变量
sbit key = P0^2; //按键接口
void (* shanshou)() = shanshou0; //指向函数的指针 用于切换显示模式 初始化显示方式0void key_scan()
{TR0 = 0;TH0 = 0x3c;TL0 = 0xb0; TR0 = 1;key = 1;delay(1);if (key == 0 ) {delay(10); //按键消抖if (key == 0 ){i++;if(i>5) i=0;switch(i){case 0 : shanshou=shanshou0;break;case 1 : shanshou=shanshou1;break;case 2 : shanshou=shanshou2;break;case 3 : shanshou=shanshou3;break;case 4 : shanshou=shanshou4;break;case 5 : shanshou=shanshou5;break; } while( key == 0) //防止按一次键读取多个值delay(10); }}
}void timer0 () interrupt 1
{key_scan();
}void main()
{TMOD = 0x01;TH0 = 0x3c;TL0 = 0xb0;EA = 1;ET0 = 1;TR0 = 1; while(1){shanshou(); }}/* #include<reg51.h>void delay(unsigned char ms) //延时函数
{unsigned char i,j,k,n;for (k=0;k<ms;k++)for(i=0;i<20;i++) for(j=0;j<13;j++) for(n=0;n<2;n++);
} void code xianshi0() //显示模式函数 其中code是表示放在程序区 可以不要{ P0 = 0xff;
}
void code xianshi1()
{unsigned char i,j;j=0x01;for(i=0;i<8;i++)
{P0=~j;delay(50000);j<<=1;
}
}
void code xianshi2()
{unsigned char i,j;j=0x55;for(i=8;i>0;i--)
{P0=~j;delay(50000);j<<=1;
}
}
void code xianshi3()
{ unsigned char i,j,n;j=0x01;for(i=0;i<8;i++){for(n=0;n<3;n++){P0=~j;delay(20000);P0=0xff;delay(20000);}j<<=1;}}
void code xianshi4()
{unsigned char i,j,n;j=0x55;for(i=0;i<8;i++){for(n=0;n<3;n++){P0=~j;delay(20000);P0=0xff;delay(20000);}j<<=1;}}
附:http://www.jh-tec.cn/archives/7474
基于51单片机的多彩霓虹灯控制系统proteus仿真相关推荐
- 基于51单片机的智能路灯控制系统proteus仿真原理图PCB
功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前时间/环境光强/工作模式 2.支持路灯故障检测 3.工作时间内(17~24时),两个路灯同时点亮,24时以后,B路灯 ...
- 基于51单片机的智能水龙头控制系统proteus仿真原理图PCB
功能介绍: 0.本系统采用STC89C52作为单片机 1.液晶实时显示当前的设定温度/实际温度/水龙头状态和水流量 2.按键可开关水龙头,当温度低于设定温度时,启动加热控制继电器,给水加热, 当加热到 ...
- 【011】基于51单片机的低频信号发生proteus仿真与实物设计
一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...
- 基于51单片机的LCD1602电子钟闹钟proteus仿真设计
本设计是基于51单片机的LCD1602电子钟闹钟proteus仿真设计 源码+仿真+原理图+器件清单 仿真软件版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编 ...
- 【004】基于51单片机的音乐播放器proteus仿真设计
一.压缩包资料内容(私信获取) (1).基于51单片机的音乐播放器proteus仿真设计一份: (2).基于51单片机的音乐播放器proteus仿真设计keli源代码一份: (3).基于51单片机的音 ...
- 【006】基于51单片机的简易电子计算器Proteus仿真设计
一.压缩包资料内容(私信获取) (1).基于51单片机的简易电子计算器proteus仿真设计一份: (2).基于51单片机的简易电子计算器proteus仿真设计keli源代码一份: (3).基于51单 ...
- 基于stm32单片机智能温控风扇控制系统Proteus仿真
资料编号:103 下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...
- 基于51单片机的八路电压表采集Proteus仿真(源码+仿真+原理图+全套资料)
资料编号:110 程序语言:C语言 仿真软件:Proteus8.9版本 功能讲解如下: 利用单片机及其外围器件(A/D转换器等)实现一款简易电压表,实现以下功能: 1 电压表能够进行8路模拟电压测 ...
- 基于51单片机火灾监测自动灭火装置Proteus仿真
资料编号:167 下面是相关功能视频演示: 167-基于51单片机火灾监测自动灭火装置Proteus仿真(源码+仿真+全套资料) 功能讲解: 采用51单片机作为控制CPU,采用ADC0832采集火 ...
最新文章
- nginx upstream 调度策略
- 【算法】算法岗需要顶会才能入场?
- 使用代码设置Item级的权限(权限总结1)
- TCP文件上传Java_Java 理解TCP通信案例:文件上传案例
- 玩生死狙击找不到服务器怎么办,生死狙击手游进不了游戏解决方法 生死狙击手游进游戏诀窍...
- FD.io——助你创新更高效、更灵活的报文处理方案
- VBS中Sub与Function的区别[资料]
- 什么是数据脱敏,数据脱敏有哪些方式
- unity3d 双人巡逻兵网络游戏
- php调用手写板,手写板使用起来方便、快捷 其原理你知道吗?
- 论文笔记:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
- nc 自开节点做参照_NC6period;3常见问题记录
- 【精简操作】Mathtype安装出现错误“53”/未找到.wll文件/选项卡灰色等问题
- html直角三角形怎么实现,直角三角形怎么画
- ICS-GNN:Lightweight Interactive Community Search via Graph Neural Network
- android tv 菜单键,Android TV开发总结(三)构建一个TV app的焦点控制及遇到的坑
- 20年研发管理经验谈(四)
- 设计模式(Java随笔)—生成器模式
- linux搭建dlna媒体服务器,[ubuntu]dlna平台搭建(在家里,寝室搭建自己的影音平台)...
- ionic android 禁止截屏设置
热门文章
- 华为荣耀linux系统,中国国产操作系统来了,华为荣耀笔记本首度搭载
- html结合css实现浏览器展示3D相册
- 文件路径 (/mnt/sdcard/...) 、Uri路径(content://media/external/...)
- Java变量初始化顺序
- 阿里巴巴的采源宝你知多少?
- CPU、GPU、TPU是个啥?
- 搭建Eclipse PHP开发环境
- C++知识进阶之#defines使用优化
- 湖南软件工程自考本科总结
- Attention机制中 Q、K、V分别从哪里来?