標(biāo)題:
單片機(jī)小系統(tǒng)板的花樣流水燈
[打印本頁]
作者:
陳小手43970
時(shí)間:
2017-10-11 23:48
標(biāo)題:
單片機(jī)小系統(tǒng)板的花樣流水燈
控制P37 P21 P22 P23 P16 P17控制流水燈
單片機(jī)源程序如下:
/***************************************
小系統(tǒng)板的花樣流水燈
流水燈只接P37 P21 P22 P23 P16 P17
***************************************/
#include <STC15F2K60S2.H>
#include "intrins.h"
#include "led.h"
#include "delay.h"
/***************************************/
typedef unsigned int uint;
typedef unsigned char uchar;
/***************************************/
void initial();
void Delay1000ms();
void led_dr_light_on(uchar m);
void led_dr_light_off(uchar m);
void writedate(uchar dat1);
void delay(uchar m);
void Delay1000ms();
void Delay500ms();
void Delay300ms();
void Delay100ms();
void Delay500us();
void style_one();
void new();
/***************************************/
uchar code tab_zeor[6]={0x00,0x00,0x00,0x00,0x00,0x00};
uchar code tab[6]={0x01,0x02,0x04,0x08,0x10,0x20};//0000 0001、0000 0010、0000 0100、0000 1000、0001 0000、0010 0000
uchar code tab_new[8]={0x01,0x02,0x04,0x08,0x10,0x20,0X40,0X80};//0000 0001、0000 0010、0000 0100、0000 1000、0001 0000、0010 0000
uchar code tab_one[14]={0xaa,0xaa,0x55,0x55,0xaa,0xaa,0x55,0x55,0xff,0xff,0x00,0x00,0xff,0xff};//1010 1010 aa 0101 0101 55
uchar code tab_two[17]={0x21,0x12,0x0c,0x12,0x21,0x12,0x0c,0x12,0x21,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff};
uchar code tab_three[25]={0x21,0x00,0x12,0x00,0x0c,0x00,0x12,0x00,0x21,0x00,0x12,0x00,0x0c,0x00,0x12,0x00,0x21,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff};
/***************************************/
void main()
{
uint i=0;
initial();
while(1)
{
//new();
style_one();
}
}
/***************************************
函數(shù)名:initial
功能:初始化程序
說明:
入口參數(shù):無
返回值:無
***************************************/
void initial()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P6M0 = 0x00;
P6M1 = 0x00;
P7M0 = 0x00;
P7M1 = 0x00;
P37 = 0;
P21 = 0;
P22 = 0;
P23 = 0;
P16 = 0;
P17 = 0;
P0=0;
}
/***************************************
函數(shù)名:led_dr_light_on
功能:控制燈亮
說明:輸入m的值,使第m個(gè)燈亮
入口參數(shù):m
返回值:無
***************************************/
void led_dr_light_on(uchar m)
{
switch(m)
{
case 0: P37=1; break;
case 1: P21=1; break;
case 2: P22=1; break;
case 3: P23=1; break;
case 4: P16=1; break;
case 5: P17=1; break;
}
}
/***************************************
函數(shù)名:led_dr_light_off
功能:控制燈滅
說明:輸入m的值,使第m個(gè)燈滅
入口參數(shù):m
返回值:無
***************************************/
void led_dr_light_off(uchar m)
{
switch(m)
{
case 0: P37=0; break;
case 1: P21=0; break;
case 2: P22=0; break;
case 3: P23=0; break;
case 4: P16=0; break;
case 5: P17=0; break;
}
}
/***************************************
函數(shù)名:writedate
功能:識(shí)別輸入的字節(jié)
說明:輸入字節(jié),使該字節(jié)對(duì)應(yīng)的1亮,0滅
入口參數(shù):dat1
返回值:無
***************************************/
void writedate(uchar dat1)
{
uint temp1,i=0;
for(i=0;i<6;i++)
{
temp1=dat1 & 0x01;
if(temp1 != 0)
led_dr_light_on (i); //亮
else
led_dr_light_off (i); //滅
dat1 >>= 1;
}
}
/***************************************
函數(shù)名:style_one
功能:樣式一
說明:花樣流水
入口參數(shù):無
返回值:無
***************************************/
void style_one()
{
uint i;
for(i=0;i<6;i++)
{
writedate(tab[i]);
Delay100ms();
}
initial();
Delay100ms();
for(i=0;i<6;i++)
{
writedate(tab[5-i]);
Delay100ms();
}
initial();
Delay100ms();
for(i=0;i<14;i++)
{
writedate(tab_one[i]);
Delay100ms();
}
initial();
Delay100ms();
for(i=0;i<17;i++)
{
writedate(tab_two[i]);
Delay100ms();
}
initial();
Delay100ms();
for(i=0;i<25;i++)
{
writedate(tab_three[i]);
Delay100ms();
}
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
小系統(tǒng)板.zip
(36.62 KB, 下載次數(shù): 5)
2017-10-11 23:48 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1