基地10級寒假培訓資料_第1頁
基地10級寒假培訓資料_第2頁
基地10級寒假培訓資料_第3頁
基地10級寒假培訓資料_第4頁
基地10級寒假培訓資料_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、寒假(hnji)培訓 Rx 共二十五頁介紹(jisho)培訓介紹上午 9:3011:00入門培訓 地點:三號樓6樓會議室下午 13:00-制板培訓 地點:北二基地實驗室(澤武師兄在實驗室,大家吃完飯就可以過去因為要保證培訓效果,每次也不能太多人大家先過去的就先學啦)培訓內(nèi)容光盤內(nèi)容介紹+應該如何學習簡單C語言講解Keil和Proteus的使用寒假(hnji)課題交流時間共二十五頁光盤(un pn)內(nèi)容介紹+應該如何學習郭天祥單片機教學視頻(shpn)(十天51單片機C語言)常用軟件Keil和Proteus(部分AVR軟件)電子書、課件、DataSheet共二十五頁應該如何(rh)學習看視頻寫程

2、序軟、硬件仿真看Datasheet共二十五頁簡單(jindn)C語言講解共二十五頁什么(shn me)是好的代碼?正確性健壯性可靠性效率(xio l)易用性可讀性可擴張性可復用性兼容性可移植性共二十五頁因為時間和本人水平的關系(gun x)只講幾個具體問題注釋文件組織結(jié)構(jigu)變量/函數(shù)名稱與慎用全局變量函數(shù)長度中斷要短文件名要用英文共二十五頁程序首先(shuxin)是給人看的,然后才是給機器看的共二十五頁文件組織結(jié)構(jigu)/ 版權和版本(bnbn)聲明見示例1-1,此處省略。/*This file is graphics.h*/#ifndef GRAPHICS_H / 防止gra

3、phics.h 被重復引用#define GRAPHICS_H#include / 引用標準庫的頭文件#include “myheader.h” / 引用非標準庫的頭文件void Function1(); / 全局函數(shù)聲明#endif共二十五頁文件組織結(jié)構(jigu)/ 版權和版本聲明見示例1-1,此處省略(shngl)。/*This file is graphics.c*/#include “graphics.h” / 引用頭文件static char uartBufUART_BUF_LEN;/函數(shù)中要用到的全局變量,僅在該文件中有效 / 全局函數(shù)的實現(xiàn)體void Function1()共二

4、十五頁慎用全局變量因為全局變量可以被所有函數(shù)訪問,使用全局變量會降低函數(shù)之間傳遞數(shù)據(jù)的開銷,但這樣違背了程序結(jié)構化和信息隱蔽的原則。若非應用程序的執(zhí)行效率至關重要,不應使用全局變量。在單片機中,全局變量使用的會比較多。主要用在中斷中,因為無法向中斷函數(shù)傳遞變量。在其他地方就要慎用!如果可以用指針等方式代替,就不要輕易使用全局變量。程序結(jié)構化是為了(wi le)快速開發(fā)、復用、移植。信息隱蔽是為了安全、復用和移植方便。共二十五頁變量(binling)與函數(shù)名稱【規(guī)則3-1-1】標識符應當直觀且可以拼讀,可望文知意,不必進行“解碼”。標識符最好采用英文單詞或其組合,便于記憶和閱讀。切忌使用漢語拼音

5、來命名。程序中的英文單詞一般不會太復雜,用詞應當準確。例如(lr)不要把CurrentValue 寫成NowValue?!疽?guī)則3-1-2】標識符的長度應當符合“min-length & max-information”原則。幾十年前老ANSI C 規(guī)定名字不準超過6 個字符,現(xiàn)今的C+/C 不再有此限制。一般來說,長名字能更好地表達含義,所以函數(shù)名、變量名、類名長達十幾個字符不足為怪。那么名字是否越長約好?不見得! 例如變量名maxval 就比maxValueUntilOverflow好用。單字符的名字也是有用的,常見的如i,j,k,m,n,x,y,z 等,它們通??捎米骱瘮?shù)內(nèi)的局部變量。共二

6、十五頁【規(guī)則3-1-3】命名規(guī)則盡量與所采用(ciyng)的操作系統(tǒng)或開發(fā)工具的風格保持一致。例如 Windows 應用程序的標識符通常采用“大小寫”混排的方式,如AddChild。而Unix 應用程序的標識符通常采用“小寫加下劃線”的方式,如add_child。別把這兩類風格混在一起用?!疽?guī)則3-1-4】程序(chngx)中不要出現(xiàn)僅靠大小寫區(qū)分的相似的標識符。【規(guī)則3-1-5】程序中不要出現(xiàn)標識符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會發(fā)生語法錯誤,但會使人誤解。共二十五頁【規(guī)則3-1-6】變量的名字(mng zi)應當使用“名詞”或者“形容詞名詞”。【規(guī)則3-1-7】全局

7、函數(shù)的名字應當使用(shyng)“動詞”或者“動詞名詞”(動賓詞組)。類的成員函數(shù)應當只使用“動詞”,被省略掉的名詞就是對象本身。例如:DrawBox(); / 全局函數(shù)box-Draw(); / 類的成員函數(shù)【規(guī)則3-1-8】用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù)等。例如:int minValue;int maxValue;int SetValue();int GetValue();共二十五頁【建議3-1-1】盡量避免名字中出現(xiàn)數(shù)字編號,如Value1,Value2 等,除非邏輯上的確需要編號。這是為了防止程序員偷懶,不肯為命名(mng mng)動腦筋而導致產(chǎn)生無意義的名字(

8、因為用數(shù)字編號最省事)。常用(chn yn)的命名規(guī)則有Windows和Unix兩種,具體怎么用,百度上有,這里就不講了。共二十五頁函數(shù)(hnsh)長度函數(shù)的功能要單一,不要多功能函數(shù)要小巧(xioqio)點,最好不超過50行函數(shù)如果長了,就肯定可以繼續(xù)抽象,由更多的子函數(shù)去組成他共二十五頁中斷(zhngdun)要短這里的短不僅僅是長度的問題。還有時間的問題。中斷是要執(zhí)行最緊急的任務,其他任務都應該(ynggi)放在中斷外面。我們來考慮這樣一個情況。假如有個時間中斷函數(shù),每50MS中斷一次。中斷里干兩件事:如果時分秒進位了處理進位;如果時間與鬧鈴一致了,則打開鬧鈴。前面的功能很簡單。如果后面一

9、個功能是放一首歌,這首歌有5S。那會發(fā)生什么事情?很容易就會發(fā)現(xiàn),秒鐘會停止運行5S。因為中斷一直沒有結(jié)束,所以就不會響應以后的中斷。知道中斷退出后,時鐘才會正確運行。那怎么辦呢?void timer_interrupt() interrupt 1.alarm=1;void main(). If(alarm=1) play_music(); alarm=0; 共二十五頁中斷(zhngdun)要短前面的方法叫標志置位法。在中斷處理中很常見。但在處理這個問題時依舊有問題。想的出是什么(shn me)問題嗎?前面那個問題可能要再用一個中斷(處理進位)或DMA直接存儲器存取方式(不直接經(jīng)CPU)才能比

10、較好的解決。共二十五頁文件名要用英文主要原因(yunyn)是希望大家養(yǎng)成這個習慣。共二十五頁怎樣寫優(yōu)質(zhì)(yuzh)的代碼?我不是專家。但我推薦幾本專家的書。這幾本書怎么看呢?華為編程規(guī)范可以當字典來使。高質(zhì)量C+編程指南是入門教材。不過你們現(xiàn)在學的是C,里面關于C+的內(nèi)容,主要是類、對象、繼承、多態(tài)等,可以不看。代碼大全和人月神話這兩部Bible級的書,他們關注的也不僅僅是“代碼”。可以放在床邊,慢慢來不要指望一口氣看完以上任一一本書。最好是先看一部分,好好想想。然后等你們完成下一個(y )更大的項目后。再回過頭看看自己看過的那部分,你肯定會有更多的感悟。共二十五頁Keil和Proteus的使

11、用(shyng)共二十五頁Proteus常用(chn yn)元件AT89C51:單片機RES、RX8:電阻、8排阻LED:發(fā)光(f un)二極管CAP、CAP-ELEC:電容、電解電容CRYSTAL:晶振開關 button電源 cellRESPACK-8或rx8 排阻共二十五頁寒假(hnji)課題共二十五頁交流(jioli)時間共二十五頁內(nèi)容摘要寒假培訓。交流時間。郭天祥單片機教學視頻(十天51單片機C語言)。/ 全局函數(shù)聲明(shngmng)。/函數(shù)中要用到的全局變量,僅在該文件中有效。/ 全局函數(shù)的實現(xiàn)體。因為全局變量可以被所有函數(shù)訪問,使用全局變量會降低函數(shù)之間傳遞數(shù)據(jù)。主要用在中斷中,因為無法向中斷。而Unix 應用程序的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論