-
簡單地說,它可以是這樣的:
setb k1 ;K1 始終有效。
loop:setb k2 ;中午 12 點前
clr k3
clr k4
call delay60s ;延遲 60 秒。
clr k2
setb k3
clr k4
call delay60s ;延遲 60 秒。
clr k3
setb k4
clr k2
call delay60s ;延遲 60 秒。
SJMP$ 完成。
-
8051 MCU時鐘電路如下:
電容C2和C3具有微調頻率的作用,電容的選擇範圍為30pf和10pf。 **頻率範圍如下: 時鐘週期 = 石英振盪器頻率的倒數。
MCU是一種積體電路晶元,它是由乙個小型而完美的微機系統組成的小型完美的微機系統,該系統採用超大規模積體電路技術,整合了最好的處理器CPU、隨機存取RAM、只讀儲存器ROM、各種IO埠和中斷系統、定時器計數器等功能(也可以包括顯示驅動電路, 將脈寬調變電路、模擬多路復用器、AD轉換器等電路)製成矽片,廣泛應用於工業控制領域。
-
回到樓上,沒有乙個畢業設計是那麼簡單。
如果這個時間精度不高,可以用微控制器的內部定時器來實現,我試過用組裝來做,一天結束時時間誤差小於3秒。
1。元件非常簡單,是51臺微控制器的最小系統,連線兩個4段數碼管和幾個按鍵開關就足夠了。
2。電路簡單省略。
3。程式從 org 00h 開始
初始化用於小時、分鐘和秒的儲存單元 - >設定定時計數器的初始值(可以中斷一次 50 毫秒,然後重複 20 次 1 秒 OK) - 然後是無限迴圈,其中檢測按鍵是否按下按鈕,如果按下了鍵, 跳轉到相應的按鈕以設定相應的時、分、秒儲存單元加 1(Inc A)。如果沒有按下按鈕,無限迴圈將繼續等待中斷。 中斷程式從秒開始檢測,計數器迴圈20次後,加到秒的記憶體單元上加1到59,分鐘的記憶加1,當分鐘達到59時,加到時間上,當小時為12時, 分鐘達到 59 分鐘後,恢復為 0:
0:0 足夠一天了。
4。這個程式,自己動手,非常簡單。
-
呵呵,這個不是很難。 實現時鐘有兩個選項:
1。實現8051的計時器,計時器為1s,每1s加乙個,滿60加一,分鐘加1,滿60清零,小時加一。
2。搭載8051+時間晶元,如DS1302、DS12887等。
我手上沒有現成的例子。 不過,可以參考郭天翔的十天學習微控制器和C語言程式設計。 第 10 講介紹了第乙個選項,第 11 講介紹了第二個選項。 你可以參考它,希望它能幫助你。
-
可以使用 8051 的計時器實現它。
-
哥哥,這不都是給你的嗎,看來你要做你的畢業設計了。
-
1.時鐘頻率為6MHz,12個時鐘週期為1個機器週期,即1個機器週期為2us,計數一次為乙個機器週期,如果定時為2ms,則需要計數1000次,即累加器A需要加1000次並溢位,從0到th0和tl0總共有65536個數字, 所以這個初始值是65536-1000=64536,th0=64536 256=252=0xfc;tl0=64536%256=24=0x18;
2.定時器0載入初始值後,開啟中斷(EA=1,ET0=1),啟動定時器0(TR0=1),使定時器0開始定時,當累加器A溢位產生中斷時,執行定時器0中斷,在中斷過程中再次載入初始值, 因為開路中斷(EA=1,ET0=1)啟動定時器0(TR0=1)始終有效,定時器0在中斷執行後再次定時,迴圈一直在迴圈。
3. while(1)是乙個無限迴圈,即讓微控制器一直工作,這裡最主要的是讓微控制器等待中斷。
-
我也想學這個,我對微控制器一無所知。
-
16 位,即 0-2 的 16 次方 = (十六進製) 0000h-ffffh = (十進位) 0-65536 = (二進位) 00000000000000000-111111111111111111111
所以最大計數不是 216,而是 2 的 16 次方。
-
因為計數器是 16 位。
-
它不是 216 脈衝,而是 2 的 16 次方。
-
它不是 216 個脈衝,而是 2 16,即 2 的 16 次方 = 65536 個脈衝。
-
微控制器。 12M晶體振盪器。
下乙個機器週期為1us;
2. tmod=0x02,表示定時器 0 在模式 2(自動重新載入初始值)下工作。 TL0為每機週期+1,當其數數達到255(0xff)時,再乙個機週期+1會產生溢位(0x100),造成定時中斷,同時MCU會自動將TH0的值分配給TL0,繼續開始下一輪定時。
3.TL0的初始值為6,因此經過250個計數週期後,TL0的值將達到256(0x100溢位),導致中斷。
250*1us = 250us =。春天已經老了。
初始值可以理解和分配如下:th0 = tl0 = 256-250; ( 6)
崩潰,可能是現場干擾太嚴重。 無論如何,甚至已經放棄了沒有內部程式儲存器和EEPROM的晶元。 究其原因,往往不是程式問題,而是板卡和PCB設計問題。 >>>More
一點也不矛盾。 微控制器每個埠的用途都不一樣,結構也不同,你說LED的MA電平的電流可以讓它更亮,指的是額定亮度,不同的功率有不同的亮度,你不能把1mm的貼片和10mm的貼片比較,你能理解嗎? 如果要在 P2 埠使用 LED,有兩種方法。 >>>More
對於如何學習微控制器,我覺得還是需要掌握它的硬體、儲存結構,組裝必須熟練,因為介紹組裝對硬體很有幫助和了解,如果你學了微控制器,再學習其他的,比如arm,這個時候你只能熟悉組裝, 但是第一次學習微控制器,彙編,一定要熟練,我的意思是一開始不要用c寫程式,用sinks寫,寫可以10到20個彙編器,你的彙編會更上一層樓,以後你會用C進行開發,你會看到用堅實的彙編基礎優化C是多麼的舒服。關於微控制器的研究,我認為有必要: >>>More