STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx

上传人:b****2 文档编号:14772033 上传时间:2022-10-24 格式:DOCX 页数:8 大小:15.53KB
下载 相关 举报
STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx_第1页
第1页 / 共8页
STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx_第2页
第2页 / 共8页
STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx_第3页
第3页 / 共8页
STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx_第4页
第4页 / 共8页
STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx

《STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx》由会员分享,可在线阅读,更多相关《STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

STC15单片机基于74HC595和TM1637的两种LED程序文档格式.docx

bitflag=0;

voidTimer0_config(unsignedintms);

voidmain()

{

unsignedchartmpbuf[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

P2M1&

=0xF8;

P2M0&

Timer0_config

(1);

EA=1;

while

(1)

{

if(flag)

{

flag=0;

Select_Position(tmpbuf);

}

}

}

voidDisplay_byte(unsignedchardat)

unsignedcharmask;

for(mask=0x80;

mask!

=0;

mask>

>

=1)

{

if((dat&

mask)==0)

DIO=0;

else

DIO=1;

SCLK=0;

SCLK=1;

voidSelect_Position(unsignedchar*buf)

{

staticunsignedcharj=0;

staticunsignedchari=0;

//for(j=0;

j<

4;

j++)

//{

rec[j]=*(buf[i]+led_code);

Display_byte(rec[j]);

Display_byte(led_num[j]);

i++;

j++;

i=i&

0x0F;

j=j&

0x03;

RCLK=0;

RCLK=1;

//}

//voidSelect_Position(unsignedchar*buf)

//{

////staticunsignedchark;

////staticunsignedchari;

//unsignedcharj;

//unsignedcharrec;

//rec=*(buf[j]+led_code);

//Display_byte(rec);

//Display_byte(led_num[j]);

////i=i&

////k=k&

//

//RCLK=0;

//RCLK=1;

//}

//}

voidTimer0_config(unsignedintms)

unsignedlongtmp;

tmp=11059200/12;

tmp=(tmp*ms)/1000;

tmp=65536-tmp;

TH0=(unsignedchar)(tmp>

8);

TL0=(unsignedchar)tmp;

TMOD&

=0xF0;

AUXR&

=0x7F;

ET0=1;

TR0=1;

 

voidTimer0_interrupt()interrupt1

unsignedinttmr10ms;

tmr10ms++;

if(tmr10ms>

=500)

tmr10ms=0;

flag=1;

/******************************************************/

//第二种(TM1637):

//TM1637程序:

#include"

Library.h"

voidDelay_us()

_nop_();

_nop_();

voidStart()

CLK=1;

DIO=1;

Delay_us();

DIO=0;

CLK=0;

voidStop()

bitWrite_btye(unsignedchardat)

bitack;

for(mask=0x01;

mask<

<

CLK=0;

if(dat&

mask)

Delay_us();

ack=DIO;

Delay_us();

CLK=0;

return~ack;

voidWrite_dat(unsignedchar*dat,unsignedcharlen)

do{

Start();

ack=Write_btye(0x40);

}while(!

ack);

Write_btye(0xC0);

while(len>

0)

Write_btye(*dat++);

len--;

}

Start();

Write_btye(0x8F);

//Ï

Ô

Ê

¾

¿

ª

Stop();

//main.c

unsignedcharcodecodenum[16]={

0x3F,0x06,0x5B,0x4F,

0x66,0x6D,0x7D,0x07,

0x7F,0x67,0x77,0x7C,

0x39,0x5E,0x79,0x71

//unsignedcharcodebuf[4]={0x39,0x5E,0x79,0x71};

unsignedchari=0;

=0xFC;

P2M0&

Write_dat(codenum+i,4);

i++;

if(i>

=13)

{

i=0;

}

}

tmp=MAIN_Fosc/12;

//Library.h

#ifndef_Library_H

#define_Library_H

#defineMAIN_Fosc11059200L

sbitCLK=P2^1;

sbitDIO=P2^0;

voidWrite_dat(unsignedchar*dat,unsignedcharlen);

#endif

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1