|
- #include "reg51.h"
- #include "tm1638.h"
- void DelayMs(unsigned int ms);
- void DelayMs(unsigned int ms)
- {
- unsigned int i,j;
- for(i=0;i<ms;i++)
- for(j=0;j<200;j++);
-
- }
- void main(void)
- {
- unsigned char i;
- init_TM1638(); //初始化TM1638
- for(i=0;i<8;i++)
- Write_Data(i,dis[10]); //初始化寄存器
- /***************************************
- 選中GRID1 令第一位數碼管顯示0
- 第二位數碼管顯示1
- ......
- 下面是各數碼管編號
- 0xC0,0xC2,0xC4,0xC6,0xC8,0xCA,0xCC,0xCE
- 下面是各LED編號
- 0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCD,0xCF
- ****************************************/
- while(1)
- {
- for(i=0;i<8;i++){
- Write_Data(0xC0+i*2,dis[i]); //輪顯各數碼管
- DelayMs(200); //輪顯各LED
- Write_Data(0xC0+i*2+1,0xff);
- DelayMs(500);
- }
- Write_Command(0x80);
- DelayMs(500);
- init_TM1638();
- }
- }
復制代碼- #ifndef _TM1638_H
- #define _TM1638_H
- #include "reg51.h"
- //TM1638模塊引腳定義
- sbit DIO=P1^3; //數據線
- sbit CLK=P1^2; //時鐘線
- sbit STB=P1^1; //片選線
- //共陰數碼管顯示代碼
- unsigned char code dis[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
- 0x7F,0x6F,0x00};
- void TM1638_Write(unsigned char Data) //寫數據函數
- {
- unsigned char i;
- for(i=0;i<8;i++)
- {
- CLK=0;
- DIO=Data&0x01;
- Data>>=1;
- CLK=1;
- }
- }
- void Write_Command(unsigned char Command) //發送命令
- {
- STB=0;
- TM1638_Write(Command);
- STB=1;
- }
- void Write_Data(unsigned char add,unsigned char Data) //指定地址寫入數據
- {
- STB=0;
- TM1638_Write(0x00|add);
- TM1638_Write(Data);
- STB=1;
- }
- //TM1638初始化函數
- void init_TM1638(void)
- {
- unsigned char i;
- Write_Command(0x8F);
- Write_Command(0x40); //采用地址自動加1
- STB=0;
- TM1638_Write(0xc0); //設置起始地址
- for(i=0;i<16;i++) //傳送16個字節的數據
- TM1638_Write(0x00);
- STB=1;
- }
- #endif
復制代碼 |
-
002.gif
(95.66 KB, 下載次數: 39)
下載附件
2024-4-19 14:31 上傳
-
004.jpg
(79.83 KB, 下載次數: 39)
下載附件
2024-4-19 14:33 上傳
-
-
騎遠飛TM1638模塊顯示.zip
2024-4-19 13:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.18 KB, 下載次數: 11, 下載積分: 黑幣 -5
這個是上面2個程序,可以直接從網頁復制 不必下載
-
-
騎遠飛TM1638模塊顯示視頻.zip
2024-4-19 13:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
3.82 MB, 下載次數: 6, 下載積分: 黑幣 -5
評分
-
查看全部評分
|