51单片机数码管动态显示c语言程序,基于51单片机的74HC164驱动六位数码管动态显示程序...

#include

#include

#define uchar unsigned char

#define uint unsigned int

//74HC164

sbit CLK=P1^0;&nBSP;       // μíμçÆ½μ½¸ßμçÆ½±ßÑØ′¥·¢

sbit MOSI=P1^1;         //         êy¾Yêäèë

unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,

0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};        //12òõêyÂë1ü

unsigned char DS_data[6];

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

oˉêy1|Äü:êyÂë1üé¨ÃèÑóê±×óoˉêy

oˉêy1|Äü:Ñóê±1ms

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

void delay1ms()

{

unsigned char i,j;

for(i=0;i<10;i++)

for(j=0;j<33;j++)

;

}

void separatEDAta(unsigned long dat)         // datÎa6λêy

{

DS_data[0]=dat%10;

DS_data[1]=dat/10%10;

DS_data[2]=dat/100%10;

DS_data[3]=dat/1000%10;

DS_data[4]=dat/10000%10;

DS_data[5]=dat/100000%10;

}

void write_164(unsigned char dat)

{

unsigned char i;

for(i=0;i<8;i++)

{

CLK=0;

if(dat&0x80)  MOSI=1;

else          MOSI=0;

CLK=1;

dat<<=1;

}

}

void display()

{

unsigned char i;

for(i=0;i<6;i++)

{

write_164(Tab[DS_data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值