今天看到一個帖子:說一個編程高手,簡直是代碼生成器!一邊敲一邊構(gòu)思下邊的程序,比小姐打字還快!看了直想笑......友情提示:如果Copy,paste一下,人家就不會說你打字比小姐還快了,他會說:神人,神速,酷呆了......挺有意思,大家一笑即可。 [詳細]
對Flash-based的MCU來說, ISP和ICP幾乎是不可或缺的功能, 但我們經(jīng)常被這兩個功能搞混, 究竟他們的差別在哪里? 對客戶的意義又是什么?在這里, 和大家分享并澄清一些觀念, 希望對大家有所幫助, 進而解答來自客戶關(guān)于ISP與ICP的疑問. 1)在開發(fā)階段改code時, 不再需要將MCU從板子上拔起來, 拿到燒錄器上燒[詳細]
單片機是沒有上操作系統(tǒng)的東西,在keil中編寫的代碼都是裸機代碼,深入編寫裸機代碼有助于了解硬件的特性。若不是硬件特性已定的情況之下的其它流程都是代碼作祟。忽然想到來探探51單片機的執(zhí)行流程。這個念頭起源于最初見到每個51程序里面的主函數(shù)里面最終都掛一個while(1);語句。為何要加一句while死循環(huán)讓[詳細]
所謂A/D轉(zhuǎn)換器就是模擬/數(shù)字轉(zhuǎn)換器(Analog to Digital Converter 簡稱ADC)是將輸入的模擬信號轉(zhuǎn)換成為數(shù)字信號。這里我們用ADC0804做這個試驗,下面的圖示它的引腳圖。/CS:芯片選擇信號。VREF:輔助參考電壓。/WR:用來啟動轉(zhuǎn)換的控制,當(dāng)/WR自1變?yōu)?時,轉(zhuǎn)換器被清除;當(dāng)/WR回到1時,轉(zhuǎn)換正式啟動。/RD:[詳細]
第一層 : 我來了 第二層 真的打呀 第三層 并肩作戰(zhàn),時間,說愛你不容易 第四層 狀態(tài),你在哪里 第五層 時間,還是時間 第六層 豐富你的視界 第七層 我們說好的 第八層 別爭了,讓我來分配吧 第九層 穿著操作系統(tǒng)去裸奔 第十層 無招勝[詳細]
單片機上的蜂鳴器結(jié)構(gòu)非常的簡單只要給一個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. 意外中斷。是否打開了某個中斷,但是沒有響應(yīng)和清除中端標(biāo)志,導(dǎo)致程序一直進入中斷,造成死機假象 2. 中斷變量處理不妥。若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止編譯器優(yōu)化中斷變量,要在這些變量[詳細]
由于單片機的性能同電腦的性能是天淵之別的,無論從空間資源上、內(nèi)存資源、工作頻率,都是無法與之比較的。PC 機編程基本上不用考慮空間的占用、內(nèi)存的占用的問題,最終目的就是實現(xiàn)功能就可以了。對于單片機來說就截然不同了,一般的單片機的Flash 和Ram 的資源是以KB 來衡量的,可想而知,單片機的資源是少得[詳細]
最近寫了幾個程序,一個是用51單片機讀取模數(shù)傳感器adc0832的電壓值,一個是讀取ds1302的時間值,結(jié)果都出現(xiàn)了讀數(shù)一直為0的情況。我調(diào)試了近一個星期,修改了一個我認為不可能會錯的句子,程序運行成功了,這才發(fā)現(xiàn)了一個極其隱蔽的錯誤。(我用的是xp系統(tǒng),用keil4軟件編譯)先上代碼:第一個為錯誤代碼,第二[詳細]
早期的51單片機,驅(qū)動能力很低。P1、P2和P3口只能驅(qū)動3個LSTTL輸入端,P0口可驅(qū)動8個。如果想要驅(qū)動更多的器件,就要用到“總線驅(qū)動芯片”。經(jīng)常用的就是74LS244(單向)和74LS245(雙向)。現(xiàn)在常用的 AT89C51 單片機引腳的輸出能力已經(jīng)大多了,從 PDF 手冊文件中可查出:單片機輸出低電平的時候,單個[詳細]
IO口檢測高點平的問題,曾經(jīng)而困擾我不少時間。這幾天做一個項目,又有點暈呼了,查了不少資料,做了一個總結(jié),和大家分享:1、51單片機的I/O 口檢測高低電平是需要首先讓該端口置為1的。此時這個引腳才被設(shè)置為輸入。2、如果是avr單片機,可以通過設(shè)置DDRx的值來設(shè)置輸入輸出(詳見數(shù)據(jù)手冊~~)3、切忌要將單[詳細]
一、干擾的分類1.1. 干擾的分類干擾的分類有好多種,通??梢园凑赵肼暜a(chǎn)生的原因、傳導(dǎo)方式、波形特性等等進行不同的分類。按產(chǎn)生的原因分:可分為放電噪聲音、高頻振蕩噪聲、浪涌噪聲。按傳導(dǎo)方式分:可分為共模噪聲和串模噪聲。按波形分:可分為持續(xù)正弦波、脈沖電壓、脈沖序列等等。1.2. 干擾的耦合方式[詳細]
1、指向code區(qū)數(shù)組的指針也要加 code 關(guān)鍵字聲明。比如 unsigned char code arr[30]; 數(shù)組,要用指針指向它,要把指針也聲明成 unsigned charcode*p;后來使用發(fā)現(xiàn)其它很多地方使用是不需要這樣聲明的,只要 unsigned char *p;就行了,但是清楚地記得那次確實是要加 code 關(guān)鍵字聲明才可以的。 2、在51[詳細]
在過去的N年中,我遇到了很多使用囧然不同風(fēng)格的開發(fā)者,下面是我所知道的一些,你還知道其它的嗎?散彈槍編程這種編程風(fēng)格是一種開發(fā)者使用非常隨意的方式對待代碼。“嗯,這個方法調(diào)用出錯了……那么我會試著把傳出的參數(shù)從 false 變成 true!”,當(dāng)然依然出錯,于是我們的程序員會這[詳細]
從事嵌入式開發(fā)一年了,有些感想跟大家談?wù)?。可能很多朋友會像我?dāng)初一樣,為前途而煩惱,為不知道儲備什么知識而苦惱,所以寫點東西給這些朋友們提供參考。另外,也可鞭策自己,讓自己看到自己的不足,認清以后的發(fā)展方向。首先,IT是一個需要不斷學(xué)習(xí)的行業(yè),沒有任何一個行業(yè)像我們這樣需要不斷地接觸新東西[詳細]
第四章 外圍設(shè)備——>通過I/O口控制外部設(shè)備絕不像有些讀者想像的去驅(qū)動一組發(fā)光二極管那么簡單。在單片機的后向通道控制系統(tǒng)中,常用斷電器控制器件功率——>測量和控制是單片機系統(tǒng)一個非常重要的應(yīng)用領(lǐng)域。典型的應(yīng)用模式是通過傳感器采集現(xiàn)場的微弱信號參數(shù),經(jīng)過數(shù)據(jù)處理后[詳細]
單片機程序死機,跑飛了可以從以下幾個方面查找原因:1. 意外中斷。是否打開了某個中斷,但是沒有響應(yīng)和清除中端標(biāo)志,導(dǎo)致程序一直進入中斷,造成死機假象;2. 中斷變量處理不妥。若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止編譯器優(yōu)化中斷變量,要在這些變量定義時前加volatile,[詳細]
能從PC機器編程去看嵌入式問題,那是第一步;學(xué)會用嵌入式編程思想,那是第二步;用PC的思想和嵌入式的思想結(jié)合在一起,應(yīng)用于實際的項目,那是第三步。很多朋友都是從PC編程轉(zhuǎn)向嵌入式編程的。在中國,嵌入式編程的朋友很少是正兒八經(jīng)從計算機專業(yè)畢業(yè)的,都是從自動控制啊,電子相關(guān)的專業(yè)畢業(yè)的。這些童鞋們,[詳細]
第一章 常用硬件嵌入式系統(tǒng)常用的硬件器件,主要包括分立器件、光電半導(dǎo)體、邏輯IC、模擬IC以及存儲器共五大類分立器件主要有:二極管、三極管、電阻、電容、電感以及場效應(yīng)管等二極管的主要特性是單向?qū)щ娦远O管按其用途可分為:整流二極管、穩(wěn)壓二極管、開關(guān)二極管、發(fā)光二極管等整流二級管是一種[詳細]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4