先計算你單片機的振蕩(時鐘)周期 T= 1/晶振(11.0592MHZ)
幾個精確延時程序:在精確延時的計算當中,最容易讓人忽略的是計算循環(huán)外的那部分延時,在對時間要求不高的場合,這部分對程序不會造成影響.
存儲器分為程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM),兩種又都可以分為片內(nèi)和片外,片外即需要自己在單片機外部擴展。
單片機有很多種,AVR、PIC、MC6805系列等,他們的體系結(jié)構(gòu)不盡相同,指令集也各異,有些是CISC,有些是RISC,51單片機的指令集采用的是CISC。
說到51單片機的時鐘首先想到51時怎么工作的呢?微型控制器要想工作必須要有一個“動力”,對于51單片機來說,這個“動力”就是時鐘源。一般應(yīng)用上會外接一個12MHz的晶振作為時鐘源。
包括我在內(nèi)的很多人都對51使用操作系統(tǒng)呈悲觀態(tài)度,因為51的片上資源太少.但對于很多要求不高的系統(tǒng)來說,使用操作系統(tǒng)可以使代碼變得更直觀,易于維護,所以在51上仍有操作系統(tǒng)的生存機會.
在Linux下沒有像keli那樣好用的IDE來開發(fā)51單片機,開發(fā)環(huán)境只能自己搭建了。
51單片機工作時,是在統(tǒng)一的時鐘脈沖控制下一拍一拍地進行的。這個脈沖是由單片機控制器中的時序電路發(fā)出的。單片機的時序就是CPU在執(zhí)行指令時所需控制信號的時間順序,為了保證各部件間的同步工作,單片機內(nèi)部電路應(yīng)在唯一的時鐘信號下嚴格地控時序進行工作,在學習51單片機的時序之前,我們先來了解下時序相關(guān)的一些概念。
ME300系列單片機開發(fā)系統(tǒng)+步進電機模塊演示程序
本文通過單片機進行12通道解碼。
本文是基于89C51的八路AD轉(zhuǎn)換系統(tǒng)設(shè)計
51單片機的外部中斷有兩種觸發(fā)方式可選:電平觸發(fā)和邊沿觸發(fā)。選擇電平觸發(fā)時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標志,向CPU請求中斷。
本文介紹了一種以MCS 51單片機為主控器,以ADC0809為核心,以氣壓、油壓、溫度、霍爾元件等傳感器為主要外圍元件的車用數(shù)字儀表(VDI)的設(shè)計與實現(xiàn)。該儀表系統(tǒng)具有顯示直觀、準確,使用方便可靠等優(yōu)點,代表了車用儀表的最新發(fā)展趨勢。
DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。
經(jīng)常用led燈來觀察現(xiàn)象,甚至調(diào)試代碼,修改代碼時用0和1很不方便,而且閱讀性也不好,利用個宏,用起來方便些。
步進電機應(yīng)用廣泛,例如打印機、磁盤驅(qū)動器、玩具、汽車雨刷、手機震動、機械夾具、刻錄機等各種機械控制場合一些概念:拍數(shù)N定子控制繞組每改變一次通電方式,即為一拍一個磁場通電周期是 A-B-C-D-A完成一個磁場周期性
該寄存器用于設(shè)置定時/計數(shù)器的工作方式,低四位用于定時器0,高四位用于定時器1。 GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳INT0/1也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加上了INT0/1引腳為高電平這一條件。
中斷發(fā)生 CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理
計數(shù)器的加1信號由振蕩器的12分頻信號產(chǎn)生,即每過一個機器周期,計數(shù)器加1,直至計滿溢出為止。顯然,定時器的定時時間與系統(tǒng)的振蕩頻率有關(guān)。
在51中,與外部存儲器RAM打交道的只可以是A累加器。所有需要送入外部RAM的數(shù)據(jù)必需要通過A送去,而所有要讀入的外部RAM中的數(shù)據(jù)也必需通過A讀入。