data:固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。idata:固定指前面0x00-0xff的256個RAM,其中前128和data的128完全相同,只是因為訪問的方式不同。idata是用類似C中的指針方式 訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c中idata做指針式的訪問效果很好)xdat[詳細]
ISP:in system programmingIAP:in applicatin programming但兩者的操作方式,結果和應用場合有什么區(qū)別呢?繼續(xù)看你就會明白了。什么是ISP:用寫入器將code燒入,不過,芯片可以在目標板上,不用取出來,在設計目標板的時候就將接口設計在上面,所以叫"在系統(tǒng)編程",即不用脫離系統(tǒng);什么是IAP:在應用編[詳細]
我能抽象出整個世界...但是我不能抽象出你...因為你在我心中是那么的具體...所以我的世界并不完整...我可以重載甚至覆蓋這個世界里的任何一種方法...但是我卻不能重載對你的思念...也許命中注定了 你在我的世界里永遠的烙上了靜態(tài)的屬性...而我不慎調用了愛你這個方法...當我義無返顧的把自己作為參數(shù)傳[詳細]
在串行通信中,MCS—51串口可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。波特率是指串行端口每秒內可以傳輸?shù)牟ㄌ匚粩?shù)。這里所指的波特率,如標準9600不是每秒種可以傳送9600個字節(jié),而是指每秒可以傳送9600個二進位,而一個字節(jié)要[詳細]
程序能跑起來并不見得你的代碼就是很好的c代碼了,衡量代碼的好壞應該從以下幾個方面來看1,代碼穩(wěn)定,沒有隱患。2,執(zhí)行效率高。3,可讀性高。4,便于移植。下面發(fā)一些我在網(wǎng)上看到的技巧和自己的一些經(jīng)驗來和大家分享;1、如果可以的話少用庫函數(shù),便于不同的mcu和編譯器間的移植2、選擇合適的算法和數(shù)[詳細]
單片機特點:集成度高,價格低廉,功能強,速度快,功耗低,體積小,使用靈活,穩(wěn)定可靠使用領域:家用電器,智能儀器儀表,通信系統(tǒng),網(wǎng)絡系統(tǒng),數(shù)控機床,數(shù)據(jù)采集和處理,自動檢測,工業(yè)控制,火箭制導51單片機數(shù)據(jù)類型數(shù)據(jù)類型 位(bit) 字節(jié)(byte) 取值范圍bit 1 [詳細]
C8051F的每個I/O口引腳都可以被配置為推挽或漏極開路輸出。同時引入了數(shù)字交叉開關,允許將內部數(shù)字系統(tǒng)資源映射到P0、P1、P2和P3 的端口引腳。通過設置交叉開關寄存器可將片內的計數(shù)器/定時器、串行總線、硬件中斷、ADC轉換啟動輸入、比較器輸出以及微控制器內部的其他數(shù)字信號配置 為出現(xiàn)在端口I/O引腳。必須[詳細]
標準的C語言中沒有空語句。但在單片機的C語言編程中,經(jīng)常需要用幾個空指令產生短延時的效果。這在匯編語言中很容易實現(xiàn),寫幾個nop就行了。在keil C51中,直接調用庫函數(shù):#include // 聲明了void _nop_(void);_nop_(); // 產生一條NOP指令作用:對于延時很短的,要求在us級的,采用“_nop_”函[詳細]
從事嵌入式系統(tǒng)開發(fā)多年,對于軟件方面,從初期的單片機匯編語言編程,到后來的C++界面程序編寫,已有相當多的經(jīng)驗累積。正是有了多年的實戰(zhàn)經(jīng)驗,對于匯編與高級語言在原理及應用等方面形成了自已的一些理解,也是我經(jīng)常思考的問題,但一直沒有以書面的方式記錄下來,今天之所以寫下這些文字,正是想做一個歸納[詳細]
要搞清楚單片機與PLC的異同,首先得明確什幺是單片機,什幺是PLC。對此,我們簡要回顧一下計算機的發(fā)展歷程也許有幫助,按計算機專家的原始定義,計算機系統(tǒng)由五大部分--即控制單元(CU)、算術運算單元(ALU)、存儲器(Memory)、輸入設備(Input)、輸出設備(Output)組成。早期計算機(晶體管的或集成電路的,不包括[詳細]
今天看到一個帖子:說一個編程高手,簡直是代碼生成器!一邊敲一邊構思下邊的程序,比小姐打字還快!看了直想笑......友情提示:如果Copy,paste一下,人家就不會說你打字比小姐還快了,他會說:神人,神速,酷呆了......挺有意思,大家一笑即可。 [詳細]
對Flash-based的MCU來說, ISP和ICP幾乎是不可或缺的功能, 但我們經(jīng)常被這兩個功能搞混, 究竟他們的差別在哪里? 對客戶的意義又是什么?在這里, 和大家分享并澄清一些觀念, 希望對大家有所幫助, 進而解答來自客戶關于ISP與ICP的疑問. 1)在開發(fā)階段改code時, 不再需要將MCU從板子上拔起來, 拿到燒錄器上燒[詳細]
單片機是沒有上操作系統(tǒng)的東西,在keil中編寫的代碼都是裸機代碼,深入編寫裸機代碼有助于了解硬件的特性。若不是硬件特性已定的情況之下的其它流程都是代碼作祟。忽然想到來探探51單片機的執(zhí)行流程。這個念頭起源于最初見到每個51程序里面的主函數(shù)里面最終都掛一個while(1);語句。為何要加一句while死循環(huán)讓[詳細]
所謂A/D轉換器就是模擬/數(shù)字轉換器(Analog to Digital Converter 簡稱ADC)是將輸入的模擬信號轉換成為數(shù)字信號。這里我們用ADC0804做這個試驗,下面的圖示它的引腳圖。/CS:芯片選擇信號。VREF:輔助參考電壓。/WR:用來啟動轉換的控制,當/WR自1變?yōu)?時,轉換器被清除;當/WR回到1時,轉換正式啟動。/RD:[詳細]
第一層 : 我來了 第二層 真的打呀 第三層 并肩作戰(zhàn),時間,說愛你不容易 第四層 狀態(tài),你在哪里 第五層 時間,還是時間 第六層 豐富你的視界 第七層 我們說好的 第八層 別爭了,讓我來分配吧 第九層 穿著操作系統(tǒng)去裸奔 第十層 無招勝[詳細]
單片機上的蜂鳴器結構非常的簡單只要給一個0,它就會“叫”。讓它唱歌的原理很簡單,聲音大小是固定的,讓它的頻率變化,就能讓它發(fā)出不同的音符。代碼中在軟件循環(huán)延時過程中,依次給它一個固定頻率的方波,讓它唱起來。//晶振11.0592#includesbit speaker=P2^3;unsigned char byteTH0,byteT[詳細]
鍵盤工作原理還是使用都是比較簡單的。下面是4×4的陣列鍵盤,行分別接P3.0-P3.3,列接P3.4-P3.7,沒有接電源。采用查詢法判斷那一個按鍵被按下。例如,令P3=0xFE,然后在將P3跟0xFE比較,如果相等,說明S6-S9沒有被按下,否則在判斷P3高四位哪一位等于0。例如P3.4=0 則說明S6被按下。注意: 手工按下鍵[詳細]
單片機程序死機,跑飛了可以從以下幾個方面查找原因: 1. 意外中斷。是否打開了某個中斷,但是沒有響應和清除中端標志,導致程序一直進入中斷,造成死機假象 2. 中斷變量處理不妥。若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止編譯器優(yōu)化中斷變量,要在這些變量[詳細]
由于單片機的性能同電腦的性能是天淵之別的,無論從空間資源上、內存資源、工作頻率,都是無法與之比較的。PC 機編程基本上不用考慮空間的占用、內存的占用的問題,最終目的就是實現(xiàn)功能就可以了。對于單片機來說就截然不同了,一般的單片機的Flash 和Ram 的資源是以KB 來衡量的,可想而知,單片機的資源是少得[詳細]
最近寫了幾個程序,一個是用51單片機讀取模數(shù)傳感器adc0832的電壓值,一個是讀取ds1302的時間值,結果都出現(xiàn)了讀數(shù)一直為0的情況。我調試了近一個星期,修改了一個我認為不可能會錯的句子,程序運行成功了,這才發(fā)現(xiàn)了一個極其隱蔽的錯誤。(我用的是xp系統(tǒng),用keil4軟件編譯)先上代碼:第一個為錯誤代碼,第二[詳細]
掃碼關注我們
0755-82591179
郵箱:ivy@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A09
Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4