我是一個大學(xué)在校生,想要分享一下自己是如何一步步走入單片機這一有趣的世界里來的。我在單片機的世界里就是一個普通到不能再普通的一個小學(xué)生了。在剛開始時接觸它時,我以為這門課與其他的科目一樣就只是書上理論而已。但是隨著在老師的帶領(lǐng)下我發(fā)現(xiàn)這一科目是一個有趣到爆的科目。我從單片機中找到了以前學(xué)習(xí)的樂趣。 我最開始接觸的是51單片機,在51單片機中我慢慢摸索,慢慢跟著老師的節(jié)奏往前走,不知不覺已經(jīng)接觸51單片機已經(jīng)快兩年了,中間在學(xué)完自己該學(xué)的課后,在老師推薦下參加了一個小小的比賽,那才是我真正的踏入單片機大門的那一刻。我用一年的時間來準備這一比賽,我相信大家都會有過像我一樣的感受,在自己寫出程序成功后開心到半夜睡不著。有時因為一點代碼上的錯誤會和一起的伙伴爭執(zhí)半天的經(jīng)歷吧。 那一年備賽是我大學(xué)生涯最愛的一段時間,感謝陪我一起的兄弟姐妹,更要感謝給我指導(dǎo)的老師,謝謝他們。 好了說了這么多是回顧一下以前,從今天開始我要開始一段新的學(xué)習(xí),因為已經(jīng)一年時間過去了,我最好的小伙伴已經(jīng)因一些特殊原因不再玩單片機了,所以我想再這里找到和我一起學(xué)習(xí)的小伙伴。 我前兩天買的正點原子精英板到了,我從明天開始學(xué)習(xí)32板子了,希望大家和我一起努力。 最后我給大家分享一個我前幾天寫的一個LED顯示系統(tǒng)的仿真和一個代碼吧。 LED顯示系統(tǒng)仿真圖:
VZ1Q26HW~D76CJLG$M0M3MT.png (192.24 KB, 下載次數(shù): 38)
下載附件
2021-3-31 23:22 上傳
四個模式轉(zhuǎn)換 單片機程序:
- /******************************************************************************
- **文件名:LED模式切換
- **日 期:2021/01/7
- **描 述:通過獨立按鍵控制LED燈模式之間的切換。
- ******************************************************************************/
- #include <reg52.h>
- #include "intrins.h"
- sbit k1=P3^5;
- sbit k2=P3^4;
- sbit k3=P3^3;
- sbit k4=P3^2;
- void moshi();
- void anjian();
- void Delay50ms();
- void Delay10ms();
- unsigned char mo,n;
- unsigned char moshiyi[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- unsigned char moshier[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
- unsigned char moshisan[]={0xe7,0xdb,0xbd,0x7e,0xe7,0xdb,0xbd,0x7e};
- unsigned char moshisi[]={0x7e,0xbd,0xdb,0xe7,0x7e,0xbd,0xdb,0xe7};
- /******************************************************************************
- **函數(shù)名稱:主函數(shù)
- **函數(shù)功能:程序循環(huán)的主要途徑及開始的入口
- **入口參數(shù):無
- **出口參數(shù):無
- **備 注:無
- ******************************************************************************/
- void main()
- {
- while(1)
- {
- moshi();anjian();
- }
- }
- /******************************************************************************
- **函數(shù)名稱:模式選擇函數(shù)
- **函數(shù)功能:判斷模式
- **入口參數(shù):無
- **出口參數(shù):無
- **備 注:無
- ******************************************************************************/
- void moshi()
- {
- if(mo==1)
- {
- P0=moshiyi[n];Delay50ms();n++;if(n==8) n=0;
- }
- if(mo==2)
- {
- P0=moshier[n]; Delay50ms();n++; if(n==8) n=0;
- }
- if(mo==3)
- {
- P0=moshisan[n]; Delay50ms();n++; if(n==8) n=0;
- }
- if(mo==4)
- {
- P0=moshisi[n]; Delay50ms();n++; if(n==8) n=0;
- }
- }
- /******************************************************************************
- **函數(shù)名稱:按鍵函數(shù)
- **函數(shù)功能:判斷按鍵并做出相應(yīng)選擇
- **入口參數(shù):無
- **出口參數(shù):無
- **備 注:無
- ******************************************************************************/
- void anjian()
- {
- if(k1==0)
- {
- Delay10ms();
- if(k1==0)
- {
- mo=1;
- }
- while(!k1);
- }
-
- if(k2==0)
- {
- Delay10ms(); if(k2==0)
- {
- mo=2;
- }
- while(!k2);
- }
- if(k3==0)
- {
- Delay10ms();if(k3==0)
- {
- mo=3;
- }
- while(!k3 );
- }
-
- if(k4==0)
- {
- Delay10ms();
- if(k4==0)
- {
- mo=4;
- }
- while(!k4);
- }
- }
- /******************************************************************************
- **函數(shù)名稱:延時函數(shù)
- **函數(shù)功能:延時50ms
- **入口參數(shù):無
- **出口參數(shù):無
- **備 注:無
- ******************************************************************************/
- void Delay50ms() //@11.0592MHz
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 3;
- j = 26;
- k = 223;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- /******************************************************************************
- **函數(shù)名稱:延時函數(shù)
- **函數(shù)功能:延時10ms
- **入口參數(shù):無
- **出口參數(shù):無
- **備 注:無
- ******************************************************************************/
- void Delay10ms() //@11.0592MHz
- {
- unsigned char i, j;
- i = 108;
- j = 145;
- do
- {
- while (--j);
- } while (--i);
- }
復(fù)制代碼 附件截圖:
17S_7T`K]SPNO5B9WZTRG~Y.png (88.13 KB, 下載次數(shù): 28)
下載附件
2021-3-31 23:28 上傳
全部資料51hei下載地址:
LED四模式.zip
(82.57 KB, 下載次數(shù): 7)
2021-3-31 23:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|