|
最新八位串行595數(shù)碼管資料,分享一下
0.png (69.62 KB, 下載次數(shù): 75)
下載附件
2017-3-29 20:14 上傳
測試芯片 STC89C52
DIO接 P1.0 RCK接P1.1 SCK接P1.2 上電 數(shù)碼管會顯示時鐘
單片機(jī)源程序:
- #include <AT89X51.H>
-
- unsigned char code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- unsigned char code segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
- unsigned char disbuf[8]={0,0,0,0,0,0,0,0};
- //-----------------------------------------------------------------------------
- // 函數(shù)原形定義
- #define uchar unsigned char
- void main (void); // 主函數(shù)
- void LED4_Display (void); // LED顯示
- void LED_OUT(uchar X); // LED單字節(jié)串行移位函數(shù)
- unsigned char code LED_0F[]; // LED字模表
- sbit DIO = P1^0; //串行數(shù)據(jù)輸入
- sbit RCLK = P1^1; //時鐘脈沖信號——上升沿有效
- sbit SCLK = P1^2; //打入信號————上升沿有效
- //-----------------------------------------------------------------------------
- // 全局變量
- uchar LED[8]; //用于LED的8位顯示緩存
- //*****************************************************************************
- // 主程序
- //
- void main (void)
- {
- LED[0]=1;
- LED[1]=2;
- LED[2]=3;
- LED[3]=4;
- LED[4]=5;
- LED[5]=6;
- LED[6]=7;
- LED[7]=8;
- while(1)
- {
- LED4_Display ();
- }
- }
- void LED4_Display (void)
- {
- unsigned char code *led_table; // 查表指針
- uchar i;
- //顯示第1位
- led_table = LED_0F + LED[0];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x01);
- RCLK = 0;
- RCLK = 1;
- //顯示第2位
- led_table = LED_0F + LED[1];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x02);
- RCLK = 0;
- RCLK = 1;
- //顯示第3位
- led_table = LED_0F + LED[2];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x04);
- RCLK = 0;
- RCLK = 1;
- //顯示第4位
- led_table = LED_0F + LED[3];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x08);
- RCLK = 0;
- RCLK = 1;
- //顯示第5位
- led_table = LED_0F + LED[4];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x10);
- RCLK = 0;
- RCLK = 1;
- //顯示第6位
- led_table = LED_0F + LED[5];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x20);
- RCLK = 0;
- RCLK = 1;
- //顯示第7位
- led_table = LED_0F + LED[6];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x40);
- RCLK = 0;
- RCLK = 1;
- //顯示第8位
- led_table = LED_0F + LED[7];
- i = *led_table;
- LED_OUT(i);
- LED_OUT(0x80);
- RCLK = 0;
- RCLK = 1;
- }
- void LED_OUT(uchar X)
- {
- uchar i;
- for(i=8;i>=1;i--)
- {
- if (X&0x80) DIO=1; else DIO=0;
- X<<=1;
- SCLK = 0;
- SCLK = 1;
- }
- }
- unsigned char code LED_0F[] =
- {// 0 1 2 3 4 5 6 7 8 9 A b C d E F -
- 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
- };
復(fù)制代碼
0.png (43.61 KB, 下載次數(shù): 58)
下載附件
2017-3-29 20:14 上傳
下載:
最新八位串行595數(shù)碼管資料.zip
(91.49 KB, 下載次數(shù): 54)
2017-3-26 15:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|