『壹』 單片機中怎樣根據匯編代碼判斷二極體是共陰極還是共陽極的
程序中紅線標出的,是共陽極LED的段碼表,對應的字元依次是0~9。
例如,首個段碼是 C0h =1100 0000b,
即a,b,c,d,e,f,腳低電平,對應"筆畫"亮,顯示「0」字元。
請參閱下圖:
『貳』 用五一單片機c語言編程,p1口控制八個發光二極體,實現每隔一秒,兩兩點亮,並循環。
本文詳細介紹了如何使用C語言在五一單片機上編程,控制P1口實現八個發光二極體的交替點亮。首先,我們定義了一個延時函數delay(),通過兩個for循環實現毫秒級的延時。在主函數中,程序初始化P0口為全滅狀態,然後進入一個無限循環,每隔一秒,將P0口的特定位設置為1,點亮兩個LED,延時1秒後切換到下一個LED對。具體步驟如下:
1. 全部LED初始狀態:P0 = 0x00
2. 點亮P0.0和P0.1:P0 = 0xc0,延時1000毫秒
3. 點亮P0.2和P0.3:P0 = 0x30,延時1000毫秒
4. 點亮P0.4和P0.5:P0 = 0x0c,延時1000毫秒
5. 點亮P0.6和P0.7:P0 = 0x03,延時1000毫秒
文章還提到了另一種方法,使用定時器0中斷來實現LED的交替點亮,通過定時器的定時和中斷,配合變數t0和t1控制LED的點亮順序。這種方法更為復雜,但可以實現更精細的時間控制。
總結來說,本文提供了使用C語言控制單片機P1口實現LED交替點亮的完整代碼示例,無論是延時控制還是定時中斷,都為初學者理解單片機編程提供了實踐基礎。
『叄』 已經有c語言基礎,但是還是看不懂單片機的c編程...如何是好
根據你的問題,我把單片機的C語言程序分成3塊:
1、純粹的應用級運算或數據處理類的函數或子程序。比如獲得一個四則運算的結果等。這部分程序代碼以你的基礎肯定能讀懂,因為C51和PC機上的C語言都是一樣的。
2、針對單片機自身的硬體控製程序等。這部分軟體其實內容不多,如果了解單片機的結構及各主要模塊的功能就能理解個大概:比如定時器怎麼用、怎樣設定初值、怎樣啟動,又比如如何在單片機的埠輸出高電平或是輸出低電平等等。
3、針對單片機以外的硬體控制子程序或函數。比如8個8位的LED數碼管,如何掃描控制其顯示內容,如何採集單片機系統中的哪個按鍵被按下了等。這部份軟體就需要你去了解單片機最常用的外圍電路的工作原理後才能理解。
總之,需要有一定的硬體基礎才能讀懂單片機的C語言,至於方法:
1、系統的學習單片機的基本結構和原理。無論針對哪個應用最基本的內容都是相似的。熟悉後拿來任何一個程序都能快速的將其拆分,明白各模塊大致的用途。
2、有針對性的去了解單片機以外其它的電路的功能及實現原理。這一點可以邊應用邊學習,任何人都不敢說所有的硬體都了解,都是邊學邊用。
『肆』 關於單片機數碼管的C語言代碼,高分求詳解,先謝過
一、LedNumVal%10000/1000
%是模,取余數的意思,%10000,得到的數最大是四位數。
/是整除的意思不帶小數,如8/3=2
一個小於10000的數,整除1000結果一定是0到9之間的一個數
二、Disp_Tab
以及LedOut,
dispbit都是數組,根據相應的數可得到對應的字元數據,達到位選的功能。