51單片機使用573鎖存器,32位數碼管動態顯示,時間仿真顯示
51單片機到底能帶動多少位數碼管呢?
本次演示proteus版本為8.6
1.jpg (69.22 KB)
下載附件
2021-7-11 23:47 上傳
部分源碼:完整源碼見附件
- #include "AT89X52.H"
- /* */
- code unsigned char reg_code[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- code unsigned char reg_code1[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //陰碼 (共陰的數碼管的段碼)
- #define DELAY_N 1000
- unsigned char time[3] = {12,34,50};
- void show_time(void);
- void get_time(void);
- void main(void)
- {
- unsigned short j;
-
- P2 = 0;
-
- P1_0 = 1;
- P1_1 = 1;
- P1_2 = 1;
-
-
- P0 = reg_code1[1];
-
-
- while(1)
- {
- show_time();
- get_time(); //獲取時間
- }
-
- }
- void show_time(void)
- {
- char i;
- unsigned short j;
-
- unsigned char buf[8]={10,10,10,10,10,10,10,10};
- unsigned char buf1[8]={1,2,3,4,5,6,7,8};
- unsigned char buf2[8]={3,2,1,4,5,6,3,2};
-
-
-
- buf[0] = time[0]/10;
- buf[1] = time[0]%10; //除以10,得到余數
- buf[3] = time[1]/10;
- buf[4] = time[1]%10;
- buf[6] = time[2]/10;
- buf[7] = time[2]%10;
-
- for (i=0;i<8;i++)
- {
- P2 = i<<2;
-
- P1_0 = 1; //讓P0的數據通過573
- P0 = reg_code1[buf[i]];
- P1_0 = 0; //鎖住這個數據,P0無法通過573
- //for(j=0;j<60000;j++);
-
-
- P1_1 = 1;
- P0 = reg_code1[buf1[i]];
- P1_1 = 0; //鎖住這個數據
- // for(j=0;j<60000;j++);
-
- P1_2 = 1;
- P0 = reg_code1[buf2[i]];
- P1_2 = 0; //鎖住這個數據
-
- for(j=0;j<200;j++);
- P0 = 0; //熄滅所有的段
-
- }
- }
- //獲得時間
- void get_time(void)
- {
- static unsigned char j;
-
- if(j++>50)
- {
- j = 0;
- time[2]++; //秒
- if(time[2] > 59)
- {
- time[2] = 0;
- time[1] ++;
- if(time[1] > 59)
- {
- time[1] = 0;
- time[0] ++;
- if(time[0] > 23)
- {
- time[0] = 0;
- }
- }
- }
-
- }
-
- }
復制代碼
數碼管顯示源碼和仿真文件.rar
(99.17 KB, 售價: 1 E幣)
2021-7-11 23:46 上傳
點擊文件名下載附件
售價: 1 E幣 [記錄]
[ 購買]
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|