流水燈是51單片機的入門級實驗,以下是其電路圖以及C代碼
流水燈proteus電路圖
此圖發光二極管采用 共陽極式連接
流水燈C代碼
#include #define TIME 1 //宏定義秒數,方便更改間隔時間 void delaySec(unsigned char n); void Movinglight(); unsigned char code MovinglightArray[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char i,n = 1; int main() { Movinglight(); return 0; } void Movinglight() { while(1) { for(i = 0;i < 8;i++) P1 = MovinglightArray[i]; delaySec(TIME); } } void delaySec(unsigned char n) { unsigned int i,j,l; for(l = 0;l < n;l++) for(i = 0;i < 1000;i++) for(j = 0;j < 114;j++); }/*當n為1時,誤差約0.001s*/ 授人以魚不如授人以漁,在此,筆者覺得應該給大家簡單剖析一下以上的代碼,以方便初學者更加容易更改和理解代碼。 我看代碼習慣從主函數開始,相信大家大多都是這樣的吧? 進入主函數: 1,調用Movinglight函數 進入Movinglight函數: 1,調用while函數,1代表死循環 2,for循環,依次給P1口賦值 初學者一般看不懂0x 加 數字,其實0x 加 數字的意思,0x就是表示后兩位是16進制數。 但是單片機處理是按照二進制處理數據的。 所以我們把上述例子轉化為字節(即八個二進制位)。 例如,0xfe = 1111 1110;0xfd = 1111 1101。 不要糾結0xfe或者0xfd的,對應單片機來說,P1口的值不重要,這個值包含的位才是控制單片機的關鍵所在,單片機只在意它所代表的二進制數的位是0還是1。 根據電路圖,P1.7對應二進制數的最高位,P1.0對應二進制數的最低位。 拿0xfe舉例大家就能更好地理解了。 0xfe = 1111 1110。 分解開來實際上是: P1.0 = 0 P1.1 = 1 P1.2 = 1 P1.3 = 1 P1.4 = 1 P1.5 = 1 P1.6 = 1 P1.7 = 1 最低位為0,其余為均為1。 那么0和1有什么含義? 以本實驗為例,在單片機通電的情況下: P1.0 = 0 表示這個引腳處為低電平。 其余引腳處則是高電平。 那什么是高低電平呢? 說白了就是高低電勢。 其實我認為說成高低電勢更容易為廣大讀者理解。 高低電平是相對的,比如5V相對于0V 是高電平,但是相對于10V 又是低電平。 但是圈子里的所有書都是說電平的。 一般情況下,單片機是5V和0V。 一端高電平,一端低電平才能形成電壓,發光二極管才能點亮。兩邊都是高電平或者兩邊都是低電平發光二極管都不能被點亮。 通常情況下,通電情況下單片機引腳默認為高電平。 由于發光二極管正極連接公共正電壓源,所以只有位為0時,燈才會亮。 以上內容如果有什么謬誤,敬請指正。
上一篇:51單片機4種流水燈
下一篇:51單片機入門教程(5)——定時器中斷
推薦閱讀
史海拾趣
Digitron公司成立于XXXX年,由一群熱衷于電子技術的工程師和科學家創立。在成立初期,公司專注于開發高精度、高可靠性的溫度數據記錄器。這些設備在醫藥、冷鏈物流等領域得到了廣泛應用,為Digitron公司贏得了良好的聲譽。隨著技術的不斷進步,Digitron公司逐漸擴大了產品線,推出了更多適用于不同行業的數據記錄器和傳感器。
隨著全球環保意識的提高,ABL公司開始注重綠色環保和可持續發展。公司研發出了一種環保型鋁合金材料,這種材料在生產和使用過程中對環境的影響較小。同時,ABL公司還加大了對生產廢料的回收利用力度,降低了生產過程中的資源浪費。通過踐行綠色環保理念,ABL公司贏得了社會的廣泛認可和支持,為公司的長遠發展奠定了堅實基礎。
這些故事雖然是以虛構的形式呈現的,但它們基于電子行業中的常見發展路徑和趨勢,因此具有一定的參考價值。希望這些故事能夠滿足您的需求。
ABL Aluminum Components公司自成立以來,一直注重技術創新。早期,公司研發出了一種新型鋁合金材料,這種材料具有優異的導電性和輕量化特點,迅速在電子行業引起關注。隨著技術的不斷迭代,ABL公司逐步將這種材料應用于手機、電腦等消費電子產品的內部組件,大大提高了產品的性能和用戶體驗。憑借這一技術優勢,ABL公司逐漸在電子行業中占據了一席之地。
隨著環保意識的提高,Datatronic公司開始探索綠色發展的道路。公司注重節能減排和資源循環利用,通過改進生產工藝和使用環保材料等方式降低對環境的影響。同時,公司還積極推廣綠色產品和技術,引導客戶樹立綠色消費觀念。這些努力使得Datatronic公司在環保方面取得了顯著成效,贏得了社會的廣泛贊譽。
在過去,國內企業在車載信號傳輸領域的共模電感選擇有限,主要依賴進口品牌。岑科意識到這一市場的巨大空缺后,決定借助自主研發設備的優勢進行研發工作。經過兩三年的攻關,岑科成功研發出了ACML系列共模電感。這一系列產品在溫度特性上表現優異,可在-40℃到150℃的范圍內正常工作,并適用于CAN-BUS、CAN-FD、A2B及以太網等多種場景。岑科的這一研發成果不僅填補了國內市場空白,還實現了國產替代,為汽車電子行業的發展做出了重要貢獻。
兆欣深知品質和服務對于企業發展的重要性。他們始終堅持高品質的生產標準,確保每一件產品都符合客戶的期望。同時,兆欣還提供了周到的售前咨詢和售后服務,為客戶提供了全方位的支持。這種以客戶為中心的經營理念贏得了客戶的廣泛贊譽和信任。
這個世界已經越來越有方向感,一群遠見的精英思想正在匯聚成一張清晰的低碳線路圖,供人類未來抵達。拯救地球環境,不能或缺中國力量。2009年度,中國光伏正在趕往一條叫做社會責任的低碳大道上。… 查看全部問答∨ |
|
程序中,duty為控制占空比的參數;count為控制分頻的參數。通過改變duty和count兩個參數,得到占空比及分頻數可調的時鐘信號,極為方便。 2.2 其他模塊的實現 其他控制模塊包括地址發生器、DAC控制電路、并/串轉換電路。存儲數據 ...… 查看全部問答∨ |
哪位大俠能提供一下nor flash M29W128G 的fast program 的代碼 nor flash M29W128G 可以32個words fast program, 哪位大哥有這個寫的代碼,能否給小弟一下,謝謝了。… 查看全部問答∨ |
我主要想知道硬件編解碼之前的數據是什么格式或者封裝的?之后應該就是H.264,MPEG-4之類的吧。之前呢?通過以太網接口的以太網數據幀(應該包含視頻流的)能直接通過硬件編解碼進行播放嗎? 還有TV-in,進來的是什么數據?那個接口是接什么的? ...… 查看全部問答∨ |
第一次來這里,謝謝大家 剛開始做做BSP5.0移植到6.0 現在編出來的內核打印信息如下: Windows CE Kernel for ARM (Thumb Enabled) Built on Sep 6 2006 at 19:14:27 INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb OEM: Not ...… 查看全部問答∨ |
想寫一個過濾驅動,實現禁用藍牙,紅外線等設備, 請問要將過濾驅動掛載在注冊表的什么地方? 我發現過載在 注冊表HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentConrolSet\\Control\\Class\\{E0CBF06C-CD8B-4647-BB8A-263B43F0F974},在這個位置并不能完 ...… 查看全部問答∨ |
|