在過去的幾年里,有過許多結對編程的經(jīng)歷。有時在團隊里進行,有時在客戶那里,有時在coding dojo(一種編程模式,幾個程序員一起合作完成一個任務),有時在我的開源項目里。對于那些知道如何結對編程的程序員來說,這種模式很棒,很高效。但是你不能指望在兩個程序員面前擺臺電腦,就指望他們一開始就做得很棒[詳細]
1. 什么是軟件開發(fā)?軟件最基本的目標是讓計算機硬件(運算/存儲/輸入輸出)按照人們預想的規(guī)則來工作。我們又管軟件叫程序,軟件工程師定制編寫一個“順序、序列”,機器就按照這個序列來執(zhí)行。軟件開發(fā),就是這個定制編寫序列的過程。2. 原本的樂趣:挑戰(zhàn)和控制欲解數(shù)學題,是很多理科學生都很喜歡的[詳細]
世界上并沒有成為高手的捷徑,但一些基本原則是可以遵循的。1、扎實的基礎數(shù)據(jù)結構、離散數(shù)學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發(fā)現(xiàn)寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學O[詳細]
多維數(shù)組對于二維數(shù)組a[4][6];由于數(shù)組名代表數(shù)組的起始地址,所以a(第一層)和第一個元素a[0][0]地址的數(shù)字是相同的,但是意義卻是不同的。 對于該數(shù)組我們可以理解為:a的一維數(shù)組(第一層),它有四個元素a[0]、a[1]、a[2]、a[3](第二層),而每個元素又含有6個元素a[0] [0],a[0][1],a[0][2],a[0][3],a[0][4],[詳細]
本文給出的單片機處理模式是基于單任務的、無操作系統(tǒng)的開發(fā)模式。許多剛入門的工程師當然還沒有機會學習和掌握多任務處理的操作系統(tǒng)開發(fā)模式。但是,在使用和學習多任務操作系統(tǒng)開發(fā)之前,我們依然需要一種開發(fā)模式,他能夠在某種程度上和多任務的操作系統(tǒng)類似,能夠實現(xiàn)某種意義上的時間片輪詢執(zhí)行的模式。這[詳細]
一、匯編軟件匯編失敗原因分析:這里采用Keil C51軟件包中的宏匯編器A51作為編繹器,單片機的匯編語言編寫時要注意一定的語法,詳細介紹可以參考相關參考書,語法錯誤會造成匯編失敗,常見的匯編錯誤如下:1. 標號重復:常見于復制、粘貼程序時忘記修改標號,造成出現(xiàn)多個相同的標號,標號是不允許重復的。[詳細]
軟件設計更多地是一種工程,而不是一種個人藝術。如果不統(tǒng)一編程規(guī)范,最終寫出的程序,其可讀性將較差,這不僅給代碼的理解帶來障礙,增加維護階段的工作量,同時不規(guī)范的代碼隱含錯誤的可能性也比較大。分析表明,編碼階段產(chǎn)生的錯誤當中,語法錯誤大概占20%左右,而由于未嚴格檢查軟件邏輯導致的錯誤、函數(shù)[詳細]
匯編和c同樣重要,相互配合,缺一不可!匯編的重要性:◆ 幫助你從根本上徹底和完全了解芯片的結構和性能,以及工作原理,如何使用?!?在小的芯片上實現(xiàn)小的系統(tǒng)?!?系統(tǒng)的調試。盡管你使用了高級語言,在調試中可以幫助你了解C代碼的性能和特點,甚至找到使用開發(fā)平臺本身的BUG?!?編寫時序要求嚴格的代[詳細]
指針數(shù)組一個指針數(shù)組是指一個數(shù)組中的每個元素都是一個指針,例如:int *p[10];//而不能是int (*p)[10]或者char *p[10];此時p是一個指針(數(shù)值上和&p[0]一樣);在前面有int t[10];int * pt=t;//使用pt指向t那么這里我們用什么指向int *t[10]中的t呢?我們要使用一個指針的指針:int **pt=t;這是因為[詳細]
代碼效率包括兩個方面內容:代碼的大小和代碼執(zhí)行速度。如果代碼精簡和執(zhí)行速度快,我們就說這個代碼效率高。一般情況下,代碼精簡了速度也相應提上來了。單片機的ROM和RAM的空間都很有限,當您編程時遇到單片機的ROM和RAM的不夠用的時候,或者您的程序要求較高的執(zhí)行速度時,我們就得面對解決代碼效率問題了。[詳細]
單片機匯編語言編程1.編寫程序,用位處理指令實現(xiàn)“P1.4=P1.0∨(P1.1∧P1.2)∨P1.3”的邏輯功能。MOV C,P1.1ANL C,P1.2ORL C,P1.0ORL C,P1.3MOV P1.3,C 2.編寫程序,若累加器A的內容分別滿足下列條件,則程序轉到LABLE存儲單元。設A中存放的的無符號數(shù)。(1)A≥10; (2)A>[詳細]
1基本原則質量是關鍵。沒有人會對很差的工作感到滿足。當完成高質量的工作時,你會為此而感到驕傲。不管你是否知道,你都會因為你的高質量工作而得到信譽。因此,要想為自己所做的事感到驕傲,就需要建立個人標準,并為達到這一標準而努力奮斗。在達到這些標準時,再提高標準并繼續(xù)努力。挑戰(zhàn)自己去完成更優(yōu)良[詳細]
指針的指針一個指針變量內部可以存儲一個值,這個值是另外一個對象的地址,所以我們說一個指針變量可以指向一個普通變量,同樣這個指針變量也有一個地址,也就是 說有一個東西可以指向這個指針變量,然后再通過這個指針變量指向這個對象。那么如何來指向這個指針變量呢?由于指針變量本身已經(jīng)是一個指針了(右值[詳細]
我們知道,51單片機有幾個不同的中斷源。對于一個系統(tǒng)的設計,通常在初始化程序里面需要定義各個中斷等比如:TMOD = 0x21; // T1 mode 2 T0,mode 1 //GATE C/T M1 M0 GATE C/T M1 M0TL1 = 0xfd; // 0xfa=4800 bps 0xfd=9600 bpsTH1 = 0xfd;TH0 = -(10000/256);TL0 = -(10000%256);PCON = 0; //波特率不[詳細]
MCS-51單片機的中斷響應延遲時間,取決于其它中斷服務程序是否在進行,或取決于正在執(zhí)行的是什么樣的指令。單中斷系統(tǒng)中的中斷響應時間為3~8個機器周期[1]。無論是哪一種原因引起的誤差,在精確定時的應用場合,必須考慮它們的影響,以確保精確的定時控制。根據(jù)定時中斷的不同應用情況,應選擇不同的精確定時編[詳細]
淺談單片機程序設計中的“分層思想”隨便寫下的一點東西,本來打算去發(fā)表,不過想想還是算了,不是什么重要的東西,不過這個東西確實很有用。文章爛的去組織和修改了,隨便看看吧。分層的思想,并不是什么神秘的東西,事實上很多做項目的工程師本身自己也會在用。看了不少帖子都發(fā)現(xiàn)沒有提及這個東[詳細]
1.1 了解單片機的能力【規(guī)則1】設計滿足要求的最精簡的系統(tǒng)。正確估計單片機的能力,知道單片機能做什么,最大程度的挖掘單片機的潛力對一個單片機系統(tǒng)設計者來說是至關重要的。我們應該有這樣一個認識,即單片機的處理能力是非常強大的。早期的PC機,其CPU(8086)處理能力和8051 相當,卻能處理相當復雜的任務[詳細]
淺談單片機程序設計中的“分層思想”隨便寫下的一點東西,本來打算去發(fā)表,不過想想還是算了,不是什么重要的東西,不過這個東西確實很有用。文章爛的去組織和修改了,隨便看看吧。分層的思想,并不是什么神秘的東西,事實上很多做項目的工程師本身自己也會在用??戳瞬簧偬佣及l(fā)現(xiàn)沒有提及這個東[詳細]
編寫高效簡潔的C語言代碼,是許多軟件工程師追求的目標。本文就工作中的一些體會和經(jīng)驗做相關的闡述,不對的地方請各位指教。第1招:以空間換時間計算機程序中最大的矛盾是空間和時間的矛盾,那么,從這個角度出發(fā)逆向思維來考慮程序的效率問題,我們就有了解決問題的第1招--以空間換時間。例如:字符串的賦[詳細]
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4