標(biāo)題:
動(dòng)態(tài)數(shù)碼管
[打印本頁]
作者:
人在江湖128
時(shí)間:
2017-12-18 13:02
標(biāo)題:
動(dòng)態(tài)數(shù)碼管
這是我上個(gè)月做的動(dòng)態(tài)數(shù)碼管顯示課程
里面包含51單片機(jī)源代碼
請(qǐng)大家多多指導(dǎo)
#include "reg52.h"
#include "intrins.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陰 code 代碼 編碼
//void delay(u16 i)
//{
// while(i--);
//}
void DigDisplay()
{
static u8 j=0;
switch(j) //位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(0):
LSA=0;LSB=0;LSC=0;j++; break;//顯示第0位
case(1):
LSA=1;LSB=0;LSC=0;j++; break;//顯示第1位
case(2):
LSA=0;LSB=1;LSC=0;j++; break;//顯示第2位
case(3):
LSA=1;LSB=1;LSC=0;j++; break;//顯示第3位
case(4):
LSA=0;LSB=0;LSC=1;j++; break;//顯示第4位
case(5):
LSA=1;LSB=0;LSC=1;j++; break;//顯示第5位
case(6):
LSA=0;LSB=1;LSC=1;j++; break;//顯示第6位
case(7):
LSA=1;LSB=1;LSC=1;j=0; break;//顯示第7位
}
}
void main()
{
u8 i;
u16 m;
while (1)
{
for(i=0;i<16;i++)
{
P0=smgduan[i];
for(m=0;m<30000;m++) //10000-50000
{
DigDisplay(); //數(shù)碼管顯示函數(shù)
}
}
// delay(500);//100-500
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1