基于stc15f2k60s2芯片单片机编程(流水灯)
蓝桥杯stc15f2k60s2芯片编程(流水灯)(1)简单的流水灯左移之后右移
#include <stc15f2k60s2.h>
#include <intrins.h>
sbit BUZZ=P0^6;
sbit RELAY=P0^4;void delay10ms(unsigned int);
void main ()
{unsigned char n;P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;P0=0xfE;
while(1)
{for(n=0;n<7;n++){P0=_crol_(P0,1);delay10ms(50);
}
for(n=0;n<7;n++)
{P0=_cror_(P0,1);delay10ms(50);
}
}
}void delay10ms(unsigned int c)
{unsigned char a,b;for(;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);
}
(2)较高级流水灯
从两边向中间流,然后从中间向两边流①
#include <stc15f2k60s2.h>
#include <intrins.h>void Delay500ms();
void main(){unsigned char code abile[]={0x7E,0xBD,0xDB,0xE7,0XE7,0XDB,0XBD,0X7E};
unsigned char l;
// LED=0X81;
P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
while(1)
{for(l=0;l<8;l++){P0=abile[l];
Delay500ms();}
}
}
void Delay500ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 22;j = 3;k = 227;do{do{while (--k);} while (--j);} while (--i);
}
从两边向中间流,然后从中间向两边流②
#include <stc15f2k60s2.h>
#include <intrins.h>
unsigned char i;
void Delay500ms();
void main()
{P2=0XA0;P0=0X00; P2=0X80;P0=0XFF;while(1){for(i=0;i<4;i++)
{P0=0xff<<i&0xff>>i;delay500ms();} for(i=4;i>0;i--){P0=0xff<<i&0xff>>i;delay500ms();} }
}
void Delay500ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 22;j = 3;k = 227;do{do{while (--k);} while (--j);} while (--i);
}
(3)通过独立按键控制流水灯流动速度
#include <stc15f2k60s2.h>
#include <intrins.h>
void Timer0Init();
unsigned int a,n,i,qq;
void Delay1ms();
void anjian();
sbit S7=P3^0;
sbit S6=P3^1;
sbit S5=P3^2;
sbit S4=P3^3;void main()
{P2=0XA0;P0=0X00;Timer0Init();while(1){ anjian();qq=0XFE;qq=_crol_(qq,i);P2=0X80;P0=qq;}
}
void Timer0Init(void) //1??@11.0592MHz
{AUXR |= 0x80; //?????1T??TMOD &= 0xF0; //???????TL0 = 0xCD; //??????TH0 = 0xD4; //??????TF0 = 0; //??TF0??TR0 = 1; //???0????EA=1;ET0=1;
}
void ding() interrupt 1
{a++;if(a==n){a=0;i++;if(i>8)i=0;}
}
void anjian()
{if(S7==0){Delay1ms();if(S7==0){a=0;n=300;}while(!S7);}if(S6==0){Delay1ms();if(S6==0){a=0;n=600;}while(!S6);}
if(S5==0){Delay1ms();if(S5==0){a=0;n=900;}while(!S5);}
if(S4==0){Delay1ms();if(S4==0){a=0;n=1200;}while(!S4);}
}
void Delay1ms() //@11.0592MHz
{unsigned char i, j;_nop_();_nop_();_nop_();i = 11;j = 190;do{while (--j);} while (--i);
}
基于stc15f2k60s2芯片单片机编程(流水灯)相关推荐
- 基于stc15f2k60s2芯片单片机编程(时钟DS1302)
**stc15f2k60s2芯片编程(时钟DS1302)** main.c函数 #include <STC15F2K60S2.H> #include <intrins.h> # ...
- 基于stc15f2k60s2芯片单片机编程(数码管)
**蓝桥杯stc15f2k60s2芯片编程(数码管)** ** ** (1)数码管显示01234567 ** ** #include <stc15f2k60s2.h>unsigned ch ...
- 基于stc15f2k60s2芯片单片机编程(串口+超声波)
通过单片机发送当前超声波测量的距离给串口1显示 (感谢广东某大神的帮助) #include <stc15f2k60s2.h> #include <intrins.h>void ...
- 基于stc15f2k60s2芯片单片机编程(闹铃)
用定时器中断写时钟加调节 1)关闭蜂鸣器.继电器等无关外设: 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒. A.时间显示格式 2 3 - 5 9 - 5 ...
- 基于stc15f2k60s2芯片单片机编程(秒表)
用定时器做一个秒表,精确到0.1,S7按下,开始计时,S6按下清零 #include <stc15f2k60s2.h> #include <intrins.h> void Ti ...
- 基于stc15f2k60s2芯片单片机编程(EEPROM24C02实验)
主函数 #include <stc15f2k60s2.h> #include <intrins.h> #include <12.h> void shumaguan( ...
- 单片机c语言 流水灯 教案,单片机控制流水灯讲课教案.doc
单片机控制流水灯 前言 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁.LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市 ...
- 基于 NIOS-II 软核的流水灯
基于 NIOS-II 软核的流水灯 一.实验介绍 (一)实验目的 (二)实验内容 (三)实验原理 (四)实验器件 二.硬件设计 (一) 新建一个工程 (二) Qsys 系统设计 (三)完成 Qsys ...
- 51单片机:流水灯蜂鸣器控制
//51单片机:流水灯&蜂鸣器控制 //bglei@nuaa.edu.cn 2022/8/28<流水灯&蜂鸣器控制> #include<reg52.h> #in ...
- Proteus:单片机 LED流水灯模拟
题目概述: 单片机LED流水灯. 编程: #include <reg51.h> #include <intrins.h> #define uint unsigned int # ...
最新文章
- 华为mate40pro更新鸿蒙时间,确认入网!鸿蒙系统将首发mate40Pro4G版,华为旧旗舰也迎来升级...
- CBM——IT与业务融合的重要途径
- Hibernate的基本操作数据库,增加,修改,删除,查询
- 【Top】Plan (updating...)
- TDSQL 全时态数据库系统 -- 典型案例
- CSS如何让DIV的宽度随内容的变化
- java 搭建个人博客_Spring boot 搭建个人博客系统(一)——整体思路
- java笔_JAVA笔试题(基础一)
- Linux下的python.......安装
- Mongodb JAVA API
- C++ 定时器使用和停止
- wps使用endnote报告参数错误
- java 开发中相对路径的参照物是什么,参照路径的配置,以及相对路径前加不加(/)反斜杠区别
- 科创板IPO申报期间新增技术认定,研发费用真实性被质疑,这公司注册阶段终止审核
- 八、Kubernetes 网络和负载均衡
- [转载]windows搭建cloudreve对接OneDrive教程
- 安卓玩机搞机技巧综合资源---MIUI14全机型首版下载链接 刷机方法 获取root步骤【十二】
- 查看电脑(服务器)ip地址与名称
- NYOJ-506 洗澡
- postgresql查询锁表以及解除锁表