我們來思考一個(gè)問題,當(dāng)我們在編程器中把一條指令寫進(jìn)單片要內(nèi)部,然后取下單片機(jī),單片機(jī)就可以執(zhí)行這條指令,那么這條指令一定保存在單片機(jī)的某個(gè)地方,并且這個(gè)地方在單片機(jī)掉電后依然可以保持這條指令不會(huì)丟失,這是個(gè)什么地方呢?這個(gè)地方就是單片機(jī)內(nèi)部的只讀存儲(chǔ)器即ROM(READ ONLY MEMORY)。為什么稱它為只讀存儲(chǔ)器呢?剛才我們不是明明把兩個(gè)數(shù)字寫進(jìn)去了嗎?原來在89C51中的ROM是一種電可擦除的ROM,稱為FLASH ROM,剛才我們是用的編程器,在特殊的條件下由外部設(shè)備對(duì)ROM進(jìn)行寫的操作,在單片機(jī)正常工作條件下,只能從那面讀,不能把數(shù)據(jù)寫進(jìn)去,所以我們還是把它稱為ROM。
隨機(jī)數(shù)在單片機(jī)的應(yīng)用中也是很多的,當(dāng)然產(chǎn)生隨機(jī)數(shù)的方法有很多,當(dāng)中有一個(gè)就是利用單片機(jī)定時(shí)器,取出未知的定時(shí)器THX和TLX的值,再加以運(yùn)算得到一個(gè)規(guī)定范圍內(nèi)的隨機(jī)數(shù)值。
底層驅(qū)動(dòng)是程序以訪問底層硬件的形式實(shí)現(xiàn)人機(jī)交互,驅(qū)動(dòng)程序和應(yīng)用程序之間需要實(shí)現(xiàn)相應(yīng)的信息交互,一方面,應(yīng)用程序通過對(duì)驅(qū)動(dòng)程序發(fā)送相應(yīng)的指令,實(shí)現(xiàn) 硬件控制的動(dòng)作指令,另一方面,驅(qū)動(dòng)程序?qū)⒂布x寫的狀態(tài)、從硬件上獲得的數(shù)據(jù)傳送給應(yīng)用程序,實(shí)現(xiàn)應(yīng)用程序與驅(qū)動(dòng)程序間的交互。
51系列單片機(jī)內(nèi)部的串行口具有通信的功能,該串口可以作為通信接口,利用該串行口與PC機(jī)的串行口COM1或COM2進(jìn)行串行通信,將單片機(jī)采集的數(shù)據(jù)傳送到PC機(jī)中,由PC機(jī)的高級(jí)語言或數(shù)據(jù)庫語言對(duì)數(shù)據(jù)進(jìn)行整理及統(tǒng)計(jì)等復(fù)雜處理,就能滿足實(shí)際的應(yīng)用需要。
一、 程序運(yùn)行跑飛現(xiàn)象:單片機(jī)中的程序計(jì)數(shù)器(PC)的值出乎我們所需要的,發(fā)生了異常的偏移,脫離了原本設(shè)定好的程序要執(zhí)行的位置,進(jìn)入原定程序以外的區(qū)域,例如:程序的空白區(qū)、程序以外的空間或者是某種死循環(huán)中。
1、4位共陽數(shù)碼管的有一個(gè)位的其中一段不亮,而其他位的該段能正常顯示。這有些不符合常理,因?yàn)楣碴枖?shù)碼管的4個(gè)為的段是連在一起的,如果是程序問題或者硬件連接有問題,應(yīng)該4位全不亮。原因:經(jīng)排查,原因是發(fā)現(xiàn)電
c8051f單片機(jī)是在MCS51單片機(jī)基礎(chǔ)上發(fā)展起來的,既有繼承,又有很大的創(chuàng)新。按照功能可分為專用型和通用型。專用型:100MHz高速型的如f120芯片;24位高分辨率AD的如f350芯片;帶usb功能的芯片如f320和f340;超低功耗的芯片如f410;還有帶CAN總線的芯片如f040和f060。通用型:f020,f330d等,內(nèi)部帶有AD,DA,SPI,I2C,WDT,PWM,uart,片內(nèi)溫度傳感器等,有的還可以擴(kuò)展外部數(shù)據(jù)總線。
位運(yùn)算應(yīng)用口訣:清零取位要用與,某位置一可用或,若要取反和交換,輕輕松松用異或!移位運(yùn)算要點(diǎn)1 它們都是雙目運(yùn)算符,兩個(gè)運(yùn)算分量都是整形,結(jié)果也是整形。2 "<<" 左移:右邊空出的位上補(bǔ)0,左邊的位將從字頭擠掉
直接訪問寄存器和端口定義sfr P0 0x80sfr P1 0x81sfr ADCON; 0xDEsbit EA 0x9F操作ADCON = 0x08;P1 = 0xFF;io_status = P0 ;EA = 1;在使用了interrupt 1 關(guān)鍵字之后,會(huì)自動(dòng)生成中斷向量在 ISR中不能 與其他 “
單片機(jī)的40個(gè)引腳大致可分為4類:電源、時(shí)鐘、控制和I/O引腳。⒈ 電源:⑴ VCC - 芯片電源,接+5V;⑵ VSS - 接地端;⒉ 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。⒊ 控制線:控制線共有4根,⑴ ALE/PROG:地
目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。小到電話,玩具,手機(jī),各類刷卡機(jī),電腦鍵盤,彩電,冰箱,空調(diào),電磁爐,大到汽車,工業(yè)自動(dòng)控制,機(jī)器人,導(dǎo)彈導(dǎo)航裝置,甚至是美國的火星車,這些設(shè)備里面都含有一個(gè)或者多個(gè)單片機(jī) 。單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī),甚至比人類的數(shù)量還要多。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一大批軟硬件工程師。
說到單片機(jī)編程,不得不說到狀態(tài)機(jī),狀態(tài)機(jī)做為軟件編程的主要架構(gòu)已經(jīng)在各種語言中應(yīng)用,當(dāng)然包括C語言,在一個(gè)思路清晰而且高效的程序中,必然有狀態(tài)機(jī)的身影浮現(xiàn)。靈活的
由于經(jīng)濟(jì)的快速發(fā)展,人們生活水平得到較大的提高,生活節(jié)奏也越來越快,為此家電遙控和家庭安全也為人們所需要和重視。以AT89C51單片機(jī)為核心通過電話進(jìn)行電器遙控和報(bào)警裝
單片機(jī) 雙機(jī)同步通信1. 單片機(jī) PIC1編程(主控發(fā)送)LIST P=16F876#INCLUDE P16F876.INCCBLOCK 0X24 ;保留三個(gè)字節(jié)作為顯示用COUNT ;作計(jì)數(shù)器或暫存器用ENDCORG 0X0000 ;程序復(fù)位入口NOPSTART GOTO MAINORG 0X0100MAIN
為了防止未經(jīng)授權(quán)訪問或拷貝單片機(jī)的機(jī)內(nèi)程序,大部分單片機(jī)都帶有加密鎖定位或者加密字節(jié),以保護(hù)片內(nèi)程序。如果在編程時(shí)加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機(jī)內(nèi)的程序,這就是所謂單片機(jī)加密或者說鎖定功能。事實(shí)上,這樣的保護(hù)措施很脆弱,很容易被破解。單片機(jī)攻擊者借助專用設(shè)備或者自制設(shè)備,利用單片機(jī)芯片設(shè)計(jì)上的漏洞或軟件缺陷,通過多種技術(shù)手段,就可以從芯片中提取關(guān)鍵信息,獲取單片機(jī)內(nèi)程序。
以前GPIO上接的電路都是低電平觸發(fā)的那種,新畫了個(gè)板子有一個(gè)按鍵設(shè)計(jì)的是高電平觸發(fā),結(jié)果IO口設(shè)置成上拉輸入后,怎么讀都不正確,按鍵電路如圖1。無奈只能去調(diào)試一下,發(fā)現(xiàn)當(dāng)設(shè)置為上拉輸入后,其ODR(GPIO輸出數(shù)據(jù)寄存器)相應(yīng)的也置為1,百思不得其解。
無線供電是一種方便、安全的供電裝置,之間不需要任何物理連接,當(dāng)發(fā)送端產(chǎn)生的振蕩磁場頻率和接收端的固有頻率相同時(shí),接收端就產(chǎn)生共振,從而實(shí)現(xiàn)了能量的傳輸。現(xiàn)在已經(jīng)用于一些小的家電中,也許在不久的將來將用于室內(nèi)供電和城市的供電,徹底代替電線,應(yīng)用前景廣泛。本文主要闡述近距離無線供電,具有低功耗、安全等特點(diǎn),通過單片機(jī)檢測[1]更好的增加了它的可靠性。
前市場流行的3.5寸屏基本上都是只內(nèi)置了驅(qū)動(dòng)器,而不帶控制器,這樣給用戶的使用造成了一些難度。基本上很多朋友在用彩屏?xí)r選擇一些帶LCD控制器的ARM7或ARM9去開發(fā),對(duì)于不會(huì)ARM開發(fā)的朋友來說,只使用普通MCU,這樣可以選擇的3.5寸TFT模塊,就很難找到了。
當(dāng)今許多實(shí)時(shí)監(jiān)測系統(tǒng)與通信設(shè)備領(lǐng)域中,經(jīng)常需要進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳送。為此,如何實(shí)現(xiàn)高速、可靠及低成本的數(shù)據(jù)傳輸是作為前級(jí)機(jī)或發(fā)送級(jí)的8051單片機(jī)迫切需要解決的新技術(shù)。據(jù)此,我們采用由Dallas SEMIconductor公司的芯片DSl075--Econ oscillator(高效型振蕩器)為8051系列的DS87C520高速型單片機(jī)提供時(shí)鐘的配置設(shè)計(jì)方案,實(shí)現(xiàn)單片機(jī)串行通信的高速波特率。
arm是單片機(jī)的一種,51也是,但arm的ROM和RAM遠(yuǎn)大于51,而且IO口功能和處理速度也是兩個(gè)級(jí)別的,arm能上很多操作系統(tǒng),51只能勉強(qiáng)上極其簡單的實(shí)時(shí)操作系統(tǒng)。