第一篇:Start-51單片機(jī)學(xué)習(xí)板 開(kāi)發(fā)程序?qū)嵗?--入門(mén)篇(共)
Start-51系列單片機(jī)學(xué)習(xí)板 開(kāi)發(fā)程序?qū)嵗?/p>
入門(mén)篇
一、基礎(chǔ)知識(shí)
1)
2)
3)
4)
5)
6)學(xué)習(xí)51系列單片機(jī)基本知識(shí)。找一本單片機(jī)教材放在手邊,邊實(shí)戰(zhàn)邊學(xué)習(xí)了解STC單片機(jī)的基本特點(diǎn) 了解Start-51單片機(jī)學(xué)習(xí)板的電路原理(閱讀隨板光盤(pán)說(shuō)明書(shū))學(xué)習(xí)STC單片機(jī)ISP軟件及下載的方法(下載地址:)學(xué)習(xí)Keil C51軟件的基本使用 學(xué)習(xí)C51的基礎(chǔ)知識(shí)
二、入門(mén)實(shí)驗(yàn)
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)
17)Hello Word:把P23口置低,點(diǎn)亮一個(gè)LED燈 基本I/O口實(shí)驗(yàn):使用延時(shí)方法,控制一個(gè)LED燈閃爍(P23)定時(shí)器基本:使用定時(shí)器,控制一個(gè)LED燈以1S鐘為周期閃爍 定時(shí)器應(yīng)用:控制4個(gè)LED以流水燈形式閃動(dòng) 外部中斷:按下ENT鍵(P32),點(diǎn)亮一LED,再按下ENT鍵,對(duì)應(yīng)LED滅 I/O鍵盤(pán)檢測(cè):分別按下一鍵,對(duì)應(yīng)的LED被點(diǎn)亮,再按下鍵,則滅 蜂鳴器基本驅(qū)動(dòng):使用延時(shí)方法,控制蜂鳴器發(fā)聲 蜂鳴器驅(qū)動(dòng)應(yīng)用1:使用高低兩種頻率值,產(chǎn)生警笛聲 蜂鳴器驅(qū)動(dòng)應(yīng)用2:播放音樂(lè)——數(shù)碼管顯示應(yīng)用1:在第一個(gè)數(shù)碼管上任意顯示0~9之間的數(shù)值 數(shù)碼管顯示應(yīng)用2:在4個(gè)數(shù)碼管上“同時(shí)”顯示不同數(shù)值,如1,2,3,4 綜合實(shí)驗(yàn)1——計(jì)數(shù)器:在數(shù)碼管上顯示按ENT鍵(P32)次數(shù),(先十六進(jìn)制顯示,再改十進(jìn)制)綜合實(shí)驗(yàn)2——秒表:在數(shù)碼管上顯示秒數(shù) 綜合實(shí)驗(yàn)3——分秒表:前兩位顯示分鐘,后兩位顯示秒鐘,中間小數(shù)點(diǎn)0.5S閃爍 綜合實(shí)驗(yàn)4——方波信號(hào)發(fā)生器:10~200Hz,步長(zhǎng)10Hz,P23輸出,數(shù)碼管顯示頻率值,UP:頻率加,DN:頻率減。綜合實(shí)驗(yàn)5——簡(jiǎn)易跑表:前兩位數(shù)碼管顯示秒數(shù),后兩位顯示百分秒;按一下M鍵開(kāi)始計(jì)時(shí),再按一下停止;DN鍵清零 綜合實(shí)驗(yàn)6 ——可多段計(jì)數(shù)的跑表:按一下M鍵開(kāi)始計(jì)時(shí),每再按一下記下當(dāng)前計(jì)數(shù)
值,最多記四段;按一下UP鍵停止,再按一下UP鍵,第一個(gè)指示燈亮,并顯示第一段計(jì)數(shù)值;繼續(xù)按UP鍵,下一個(gè)指示燈亮,并顯示下一段計(jì)數(shù)值;DN鍵清零
第二篇:?jiǎn)纹瑱C(jī)程序開(kāi)發(fā)工程師的個(gè)人簡(jiǎn)歷
單片機(jī)程序開(kāi)發(fā)工程師的個(gè)人簡(jiǎn)歷模板
姓名:陳先生性別:男
婚姻狀況:未婚民族:漢族
戶籍:廣東-佛山年齡:32
現(xiàn)所在地:廣東-深圳身高:175cm
希望地區(qū):廣東-深圳、廣東-深圳
希望崗位:電子/電器/元件類(lèi)-電路(布線)設(shè)計(jì)工程師
電子/電器/元件類(lèi)-嵌入式/底層軟件開(kāi)發(fā)(Linux/單片機(jī)/DSP/?)
電子/電器/元件類(lèi)-數(shù)碼產(chǎn)品開(kāi)發(fā)工程師
尋求職位:?jiǎn)纹瑱C(jī)開(kāi)發(fā)工程師、嵌入式底層軟件工程師
教育經(jīng)歷
2011-01 ~ 至今 深圳大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù) 碩士
2001-09 ~ 2005-05 廣東海洋大學(xué) 電氣工程及其自動(dòng)化 本科
培訓(xùn)經(jīng)歷
2008-09 ~ 2008-09 中國(guó)信息產(chǎn)業(yè)部 EMI抑制與抗干擾設(shè)計(jì)方法及案例分析”高級(jí)研修班
2006-07 ~ 2006-07 中嵌培訓(xùn) 嵌入式高速電路設(shè)計(jì)
**公司(2009-01 ~ 至今)
公司性質(zhì):合資企業(yè) 行業(yè)類(lèi)別:計(jì)算機(jī)軟件
擔(dān)任職位:軟件項(xiàng)目工程師崗位類(lèi)別:軟件設(shè)計(jì)師
工作描述:DSP軟件開(kāi)發(fā)
**公司(2007-08 ~ 2008-12)
公司性質(zhì):國(guó)有企業(yè) 行業(yè)類(lèi)別:電子、微電子技術(shù)、集成電路
擔(dān)任職位:崗位類(lèi)別:嵌入式/底層軟件開(kāi)發(fā)(Linux/單片機(jī)/DSP/?)
工作描述:主要負(fù)責(zé)電路設(shè)計(jì),和程序開(kāi)發(fā),主要項(xiàng)目有設(shè)計(jì)信號(hào)采集控制器(主要采用飛利浦的ARM7系列芯片(主要芯片型號(hào):LPC2131)設(shè)計(jì)采用COS系統(tǒng),負(fù)責(zé)電路設(shè)計(jì)和部分硬件驅(qū)動(dòng)程序開(kāi)發(fā)),車(chē)載多功能監(jiān)控終端(主要以ARM9系列芯片為內(nèi)核,嵌入LINUX系統(tǒng),任務(wù)是開(kāi)發(fā)驅(qū)動(dòng)軟件,和設(shè)計(jì)硬件電路。
**公司(2005-03 ~ 2007-08)
公司性質(zhì):私營(yíng)企業(yè) 行業(yè)類(lèi)別:計(jì)算機(jī)硬件
擔(dān)任職位:?jiǎn)纹瑱C(jī)程序開(kāi)發(fā)工程師崗位類(lèi)別:硬件工程師
工作描述:
1、設(shè)計(jì)嵌入式的PL3100曉程載波通訊模塊SCH和PCB(采用四層板設(shè)計(jì))以及程序動(dòng)手焊接、調(diào)試、測(cè)試樣機(jī),批量使用于現(xiàn)場(chǎng);
2、熟悉各種存儲(chǔ)電路的設(shè)計(jì)(SRAM、FLASH、IIC EEPROM)(曾設(shè)計(jì)使用過(guò)DS1270、SST39VF160等芯片);個(gè)人簡(jiǎn)歷表格 http://
3、熟悉串口通訊原理和紅外通訊原理和USB通訊原理以及網(wǎng)絡(luò)通訊原理;
4、設(shè)計(jì)過(guò)紅外遙控8路獨(dú)立帶定時(shí)功能電源插座;
5、設(shè)計(jì)過(guò)家庭智能遠(yuǎn)程終端(紅外感應(yīng),溫度感應(yīng),語(yǔ)音提示,菜單提示等功能);
6、用單片機(jī)設(shè)計(jì)過(guò)多功能智能充電器;
7、設(shè)計(jì)過(guò)5V、2A的開(kāi)關(guān)電源;
8、設(shè)計(jì)過(guò)485總線和電話防雷器;
9、多次到信息產(chǎn)業(yè)部電子第五研究質(zhì)檢中心/中國(guó)賽寶(總部)實(shí)驗(yàn)室對(duì)產(chǎn)品進(jìn)行EMC測(cè)試;
10、熟悉EMC測(cè)試規(guī)則,熟悉如何去應(yīng)對(duì)EMI和EMC測(cè)試;
11、熟悉數(shù)字模擬電路原理;
12、熟悉高速數(shù)字電路設(shè)計(jì)原理;
13、熟練使用匯編語(yǔ)言和C語(yǔ)言和C++語(yǔ)言;
14、匯編語(yǔ)言編寫(xiě):智能充電器、紅外智能遙控器,液晶顯示的程序;
15、C語(yǔ)言編寫(xiě)了智能遠(yuǎn)程終端、載波通訊模塊、電能采集器的程序。
離職原因:家庭的原因
技能專(zhuān)長(zhǎng)
專(zhuān)業(yè)職稱(chēng):硬件研發(fā)工程師
計(jì)算機(jī)水平:高校非計(jì)算機(jī)專(zhuān)業(yè)三級(jí)(偏硬)
計(jì)算機(jī)詳細(xì)技能:1.精通Protel 99SE、Protel DXP POWER PCB及 keil軟件、C語(yǔ)言、匯編語(yǔ)言、C++等
2.熟練應(yīng)用ADS1.2,SDT2.5嵌入式開(kāi)發(fā)軟件
3.掌握硬件描述語(yǔ)言(VHDL或Verilog);掌握一般可編程器件(EPLD、FPGA)的設(shè)計(jì),了解可編程邏輯設(shè)計(jì)軟件.技能專(zhuān)長(zhǎng):熟練使用 ATMEL、WINBOND、Sunplus、MSP430系列等單片機(jī)系統(tǒng)設(shè)計(jì)及編程。
熟練使用PROTEL、POWER PCB、KEIL、ADS1.2 IDE等軟件。
熟練使用示波器、萬(wàn)用表、函數(shù)發(fā)生器、掃頻儀等設(shè)備。
熟練編寫(xiě)和調(diào)試匯編或者C語(yǔ)言程序;
熟悉嵌入式系統(tǒng)軟件硬件的開(kāi)發(fā)流程;
熟悉嵌入式linux的軟件開(kāi)發(fā)流程。
語(yǔ)言能力
普通話:流利粵語(yǔ):流利
英語(yǔ)水平:
英語(yǔ):熟練
其 他:粵語(yǔ)
求職意向
發(fā)展方向:成為技術(shù)精英,做棟梁之材!
其他要求:
自身情況
自我評(píng)價(jià):_____我從小熱愛(ài)電子制作,喜歡制作一些新奇實(shí)用的電子產(chǎn)品。在高中,在大學(xué),參加了各類(lèi)校際電子競(jìng)賽,并都獲得了可喜的成績(jī),特別是“05年全國(guó)大學(xué)生挑戰(zhàn)杯競(jìng)賽”,榮獲三等獎(jiǎng)。我得到這些榮譽(yù),自然也離不開(kāi)指導(dǎo)老師的教導(dǎo)和同學(xué)的幫助。步入社會(huì)后,先后在兩家企業(yè)從事研發(fā)工作,在廣東卓維網(wǎng)絡(luò)有限公司擔(dān)任單片機(jī)研發(fā)工程師一職,在職期間,我一直致力于為公司創(chuàng)作更先進(jìn),更實(shí)用,更穩(wěn)定的電子產(chǎn)品。并專(zhuān)注于電能采集器、載波通訊模塊、安防感應(yīng)報(bào)警器的開(kāi)發(fā)上,后來(lái)因?yàn)榧彝ピ虿呸o去這份工作。另一份是深圳桑達(dá)電子設(shè)備有限公司擔(dān)任硬件研發(fā)工程師一職,專(zhuān)注于開(kāi)發(fā)智能車(chē)載終端設(shè)備上。
____對(duì)一個(gè)每一個(gè)開(kāi)發(fā)項(xiàng)目的完成,我都學(xué)到了很多東西,積累了難得的經(jīng)驗(yàn)。在工作中總結(jié)出,個(gè)人技術(shù)水平固然重要,團(tuán)隊(duì)合作才能讓個(gè)人能力體現(xiàn)最大化。
____懂得了做事需要踏踏實(shí)實(shí),一步一個(gè)腳印才能真正學(xué)到真本事的道理。只要您給我機(jī)會(huì),憑借這四年學(xué)到的知識(shí)和技能,我對(duì)應(yīng)聘的工作崗位充滿信心
第三篇:51單片機(jī)學(xué)習(xí)板配件要求
51單片機(jī)學(xué)習(xí)板配件要求
1.HC6800-EM3開(kāi)發(fā)板一塊(188mm * 134mm)1個(gè)
2.單片機(jī)為STC89C55RD+FLASH64K1個(gè)STC90C516RD+
3.1602帶背光液晶屏1個(gè)
4.TFT真彩屏SD卡集成模塊1個(gè)
5.優(yōu)質(zhì)純銅帶屏蔽供電通信USB數(shù)據(jù)線1條 6.八位排線4條(32根)
7.單P杜邦線8條
8.紅色短路帽19個(gè)(另送4個(gè)備用冒)
9.實(shí)驗(yàn)時(shí)鐘電池座及電池1PCS
10.超大容量DVD光盤(pán)1張
11.全新ABS環(huán)保多功能折疊箱抗壓抗摔經(jīng)久耐磨1個(gè)
12.超亮雙色點(diǎn)陣模塊1片
14.11.0592晶振1個(gè)
15.12.000晶振1個(gè)
16.全新進(jìn)口高速高矩進(jìn)口步進(jìn)電機(jī)1個(gè)
17.全新直流電機(jī)1個(gè)
18.全新紅外接收頭1個(gè)
19.全新紅外遙控器(送紐扣電池)1個(gè)
20.全新18B20溫度檢測(cè)1個(gè)
以上配置為淘寶上的標(biāo)配需要一套
另外一套需要是
把第3項(xiàng)和4項(xiàng)更改為2.4 寸TFT真彩屏SD卡集成模塊 標(biāo)配基礎(chǔ)上增加以下配件
1、需增加1602帶背光液晶屏1個(gè)
2、八位排線4條(32根)
3、單P杜邦線8條
請(qǐng)盡快給出以上兩套配置價(jià)格,我們是初學(xué)者還請(qǐng)以后多多指教,如有冒犯之處請(qǐng)?jiān)?。?lián)系電話***
AT89S51是支持ISP在線編程的,可以自己用74LS244或者74LS373做并口的下載線路。建議你下載一個(gè)Easy 51Pro v2.0軟件,這是完全免費(fèi)的,里面有下載線的制作方法,電路圖什么的,很好用,適合初學(xué)者。
第四篇:學(xué)習(xí)會(huì)議程序
懷北路公租房新建項(xiàng)目安全、技術(shù)學(xué)習(xí)會(huì)議程序
一.主持人:彭家湘
二.組成人員:
1.邀請(qǐng)人員:
①指揮部:李彩池、胡傳祥、蔣湘平、羅忠全、王旭明。
②總監(jiān):
③公司:龍興治或潭安員、劉東杰、奉衛(wèi)平、宋平、荊永巨、胡新民、陳武躍
2.項(xiàng)目部人員:
黎秋平、劉勁松、彭家湘、諶洪啟、黃新成、丁文、井騰、劉中立、晏彩萍、謝敏韜、楊驪、向春娥
3.勞務(wù)隊(duì)人員:
胡吉祥、王喬、王亞雄、曹騰顥、郭雙洲、宋迪光、劉操、王國(guó)正、挖機(jī)司機(jī)
4.沖擊樁隊(duì)人員:
歐陽(yáng)偉、王武志
三.領(lǐng)導(dǎo)發(fā)言:
①指揮部領(lǐng)導(dǎo):
②公司領(lǐng)導(dǎo):
③項(xiàng)目部領(lǐng)導(dǎo):黎秋平發(fā)言
四.授課內(nèi)容:
1.塔式起重機(jī)安全操作使用規(guī)程。
2.起重吊裝作業(yè)“十不吊”準(zhǔn)則。
3.塔式起重機(jī)司機(jī)作業(yè)安全生產(chǎn)規(guī)定。
4.樁基施工技術(shù)要點(diǎn):
①鉆孔、②鋼筋籠制作與安裝、③砼灌注。
5.鉆孔灌注樁施工安全控制要點(diǎn)。
6.施工現(xiàn)場(chǎng)臨時(shí)用電管理。
7.挖掘機(jī)司機(jī)安全生產(chǎn)規(guī)定。
8.安全“三寶”的作用。
9.土石方開(kāi)挖。
10.建筑樁基礎(chǔ)
五.授課人:劉東杰、奉衛(wèi)平、胡新民(臨時(shí)用電)
第五篇:鄭大信息工程學(xué)院?jiǎn)纹瑱C(jī)學(xué)習(xí)心得體會(huì)論文
用80C51制作看門(mén)狗及單片機(jī)學(xué)習(xí)體會(huì)
看門(mén)狗 又叫watchdog timer,是一個(gè)定時(shí)器電路,一般有個(gè)輸入,叫喂狗,一個(gè)輸出到重置端,正常工作時(shí),每個(gè)一段時(shí)間輸出一個(gè)信號(hào)到喂狗端 ,給看門(mén)狗清零,如果超過(guò)規(guī)定的時(shí)間不喂狗,(一般在程序跑飛時(shí)),看門(mén)狗定時(shí)超過(guò),就會(huì)給出一個(gè)復(fù)位信號(hào)到MCU,使MCU復(fù)位.防止MCU死機(jī).看門(mén)狗的作用就是防止程序發(fā)生死循環(huán),或者說(shuō)程序跑飛。其工作原理:在系統(tǒng)運(yùn)行以后也就啟動(dòng)了看門(mén)狗的計(jì)數(shù)器,看門(mén)狗就開(kāi)始自動(dòng)計(jì)數(shù),如果到了一定的時(shí)間還不去清看門(mén)狗,那么看門(mén)狗計(jì)數(shù)器就會(huì)溢出從而引起看門(mén)狗中斷,造成系統(tǒng)復(fù)位。大多數(shù)51 系列單片機(jī)都有看門(mén)狗,當(dāng)看門(mén)狗沒(méi)有被定時(shí)清零時(shí),將引起復(fù)位。這可防止程序跑飛。但80c51單片機(jī)由于型號(hào)較老沒(méi)有內(nèi)置看門(mén)狗。但可以用80c51內(nèi)置的2個(gè)定時(shí)器實(shí)現(xiàn)軟件的看門(mén)狗裝置,來(lái)對(duì)主程序的運(yùn)行進(jìn)行監(jiān)控。我們可以對(duì)T0設(shè)定一定的定時(shí)時(shí)間,當(dāng)產(chǎn)生定時(shí)中斷的時(shí)候?qū)σ粋€(gè)變量進(jìn)行賦值,而這個(gè)變量在主程序運(yùn)行的開(kāi)始已經(jīng)有了一個(gè)初值,在這里我們要設(shè)定的定時(shí)值要小于主程序的運(yùn)行時(shí)間,這樣在主程序的尾部對(duì)變量的值進(jìn)行判斷,如果值發(fā)生了預(yù)期的變化,就說(shuō)明T0中斷正常,如果沒(méi)有發(fā)生變化則使程序復(fù)位。對(duì)于T1我們用來(lái)監(jiān)控主程序的運(yùn)行,我們給T1設(shè)定一定的定時(shí)時(shí)間,在主程序中對(duì)其進(jìn)行復(fù)位,如果不能在一定的時(shí)間里對(duì)其進(jìn)行復(fù)位,T1 的定時(shí)中斷就會(huì)使單片機(jī)復(fù)位。在這里T1的定時(shí)時(shí)間要設(shè)的大于主程序的運(yùn)行時(shí)間,給主程序留有一定的的裕量。而T1的中斷正常與否我們?cè)儆蒚0定時(shí)中斷子程序來(lái)監(jiān)視。這樣就夠成了一個(gè)循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來(lái)監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。程序如下:
ORG 0000H ;程序起始地址 START:AJMPMAN ; 主程序入口地址 ORG 000BH ;T0重點(diǎn)入口地址 LJMP ERR 軟件復(fù)位
MAN:SRTB EA SETB ET0 SETB TR0 MOV TMOD.#01H MAN1:MOV TH0.data1 MOV TL0.data2 …………………..LJMP MA N1 NOP NOP ERR:CLR EA MOV DPTR.#ERR1 PUSH DPL PUSH DPH RET1 ;轉(zhuǎn)入錯(cuò)誤處理,實(shí)現(xiàn) ;開(kāi)總中斷 ; 開(kāi)T0中斷 ;啟動(dòng)T0 ;T0定時(shí)方式1 ;給定時(shí)器T0賦初值 ;用戶程序 ;關(guān)中斷 ;準(zhǔn)備返回地址 ;清除高級(jí)中斷激活標(biāo)志 ERR1:CLR A ;準(zhǔn)備復(fù)位地址 PUSH ACC ;壓入復(fù)位地址 PUSH ACC RET1 ;清除低級(jí)中斷激活標(biāo)志 END
在學(xué)習(xí)單片機(jī)的過(guò)程中,我想我得到了一些關(guān)于學(xué)習(xí)單片機(jī)的一些個(gè)人的經(jīng)驗(yàn),以下就是我學(xué)習(xí)單片機(jī)的心得體會(huì)。
單片機(jī)是一門(mén)應(yīng)用性和綜合性很強(qiáng)的學(xué)科,它綜合了電子技術(shù)中的模擬電路和數(shù)字電路方面的知識(shí),特別是數(shù)字電路,因?yàn)閿?shù)字電路在里面的應(yīng)用很多。學(xué)習(xí)單片機(jī)最好先從匯編語(yǔ)言入手,雖然匯編語(yǔ)言是低級(jí)語(yǔ)言,編程效率低,但它比C語(yǔ)言占用內(nèi)存小,執(zhí)行速度快等優(yōu)點(diǎn),在剛接觸單片機(jī)時(shí)更容易學(xué)習(xí)。由于單片機(jī)涉及的知識(shí)很多,所以我們只能循序漸進(jìn)的學(xué)習(xí),逐步的積累,沒(méi)有什么捷徑可循。
剛開(kāi)始學(xué)習(xí)的時(shí)候,對(duì)單片機(jī)沒(méi)有什么認(rèn)識(shí),不知道什么是單片機(jī),更不知道它有什么作用。通過(guò)學(xué)習(xí)才大體知道了單片機(jī)的一些知識(shí)。由中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口、定時(shí)器/計(jì)數(shù)器以及串行通信接口等集成在一塊芯片上,構(gòu)成了一個(gè)單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)為單片機(jī)。剛開(kāi)始學(xué)習(xí)是總覺(jué)得指令語(yǔ)句太過(guò)復(fù)雜,怎么也記不住,這時(shí)只能多練、多記,只能抄寫(xiě)別人做成功的程序,一遍一遍的寫(xiě),直到能熟練的獨(dú)自將程序?qū)懗鰜?lái),從簡(jiǎn)單的入手,逐步的積累,對(duì)單片機(jī)就會(huì)有新的認(rèn)識(shí),能夠自己獨(dú)立的寫(xiě)一些小的程序,能夠?qū)⑿〉某绦蚪Y(jié)合到一起,拼接成較為復(fù)雜一些的程序。然后可以參考已經(jīng)成功的程序,抄過(guò)來(lái),寫(xiě)一個(gè)最簡(jiǎn)單的,讓它運(yùn)行起來(lái),先培養(yǎng)一下自己的感覺(jué),知道寫(xiě)程序是怎么一回事,無(wú)論寫(xiě)大程序還是小程序,要做的工序不會(huì)差多少,總得建個(gè)項(xiàng)目,再配置一下項(xiàng)目,然后建個(gè)程序,加入項(xiàng)目中,再寫(xiě)代碼、編譯、生成HEX,刷進(jìn)單片機(jī)中、運(yùn)行。必須熟悉這一套工序。寫(xiě)好程序在上面運(yùn)行一下看結(jié)果,學(xué)習(xí)效果會(huì)好很多。單片機(jī)是注重理論和實(shí)踐的,光看書(shū)不動(dòng)手,是學(xué)不會(huì)的。所以我覺(jué)得以后能有機(jī)會(huì)實(shí)際動(dòng)手去做相關(guān)的實(shí)驗(yàn),才會(huì)對(duì)單片機(jī)的流程有更深刻的認(rèn)識(shí)。也許還是自己的能力有限,編寫(xiě)的大多程序拿給尖子生看的時(shí)候還是出現(xiàn)這樣或者那樣的錯(cuò)誤。但當(dāng)你寫(xiě)出一個(gè)程序,并成功的進(jìn)行實(shí)驗(yàn),哪怕是很簡(jiǎn)單的,你也會(huì)有一些成就感,它將會(huì)使你對(duì)單片機(jī)的學(xué)習(xí)產(chǎn)生更加濃厚的興趣,更加激勵(lì)你去更深入的研究單片機(jī)。學(xué)習(xí)單片機(jī)要投入大量的時(shí)間,如果只想速成,幾乎是不可能的。由于單片機(jī)涉及的知識(shí)面很廣,不可能在朝夕間就學(xué)會(huì),只能一點(diǎn)點(diǎn)的積累。不積跬步,無(wú)以至千里。只有當(dāng)你一步步去學(xué)習(xí)、去積累之后,你的單片機(jī)水平才會(huì)提高。學(xué)習(xí)過(guò)程中還要注重理解,要逐漸養(yǎng)成自己的編程思路,在編程過(guò)程中還要注意細(xì)節(jié)問(wèn)題,如果因?yàn)榇中拇笠鈱⒊绦驅(qū)戝e(cuò),將會(huì)無(wú)形間給自己帶來(lái)更大的工作量,隨著學(xué)習(xí)的深入,我們編寫(xiě)的程序?qū)⒃絹?lái)越長(zhǎng),如果出現(xiàn)很多錯(cuò)誤,在改錯(cuò)時(shí)將會(huì)很麻煩,出錯(cuò)越多你改的時(shí)間將會(huì)越長(zhǎng),就會(huì)無(wú)形間給自己帶來(lái)更多麻煩。
對(duì)于初學(xué)者,個(gè)人覺(jué)得以下幾點(diǎn)確實(shí)不太好掌握:
一、總線:我們知道,一個(gè)電路總是由元器件通過(guò)電線連接而成的,在模擬電路中,連連線并不成為一個(gè)問(wèn)題,因?yàn)楦髌骷g一般是串行關(guān)系,各器件之間的連線并不很多,但計(jì)算機(jī)電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協(xié)調(diào),所以就需要的連線就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨(dú)連線線,則線的數(shù)量將多得驚人,所以在微處理機(jī)中引入了總線的概念,各個(gè)器件共同享用連線,所有器件的8根數(shù)據(jù)線全部接到8根公用的線上,即相當(dāng)于各個(gè)器件并聯(lián)起來(lái),但僅這樣還不行,如果有兩器件同時(shí)送出數(shù)據(jù),一個(gè)為0,一個(gè)為1,那么,接收方接收到的究竟是什么呢?這種情況是是不允許的,所以要通過(guò)控制線進(jìn)行控制,使器件分時(shí)工作,任何時(shí)候只能有一個(gè)器件發(fā)送數(shù)據(jù)(可以有多個(gè)器件同時(shí)接收)。器件的數(shù)據(jù)線也就被稱(chēng)為數(shù)據(jù)總線,器件所有的控制線被稱(chēng)控制總線。
在單片機(jī)內(nèi)部或者外部存儲(chǔ)器及其它器件中有存儲(chǔ)單元,這些存儲(chǔ)單元要被分配地址才能用,由于存儲(chǔ)單元比較多,所以,用于地址分的線也較多,這些線被稱(chēng)為地址總線。
二、數(shù)據(jù)、地址、指令:之所以將這三者放在一起,是因?yàn)檫@三者的本質(zhì)都是一樣的——數(shù)字,或者說(shuō)都是字符串‘0’和‘1’組成的序列。換言之,地址、指令也都是數(shù)據(jù)。指令由單片機(jī)芯片的設(shè)計(jì)者規(guī)定的一種數(shù)字,它與我們常用的指令助記符有著嚴(yán)格的一一對(duì)應(yīng)關(guān),不可以由單片機(jī)的開(kāi)發(fā)者更改。地址:是尋找單片機(jī)內(nèi)部、外部的存儲(chǔ) 單元、輸入輸出口的依據(jù),內(nèi)單元的地址值已由芯片設(shè)計(jì)者規(guī)定好,不可更改,外部的單元可以由單片機(jī)開(kāi)發(fā)者自行決,但有一些地址單元是一定要有的(詳見(jiàn)程序的執(zhí)行過(guò)程)。數(shù)據(jù):這是由微處理機(jī)處理的象,在各種不同的應(yīng)用電路中各不相同,一般而言,被處理的數(shù)據(jù)可能有這么幾種情況:
1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2方式字或控制字(如MOV TMOD,#3),3即是控制字。
3常數(shù)(如MOV TH0,#10H)10H即定時(shí)常數(shù)。
4實(shí)際輸出值,這里0FFH和00H都是實(shí)際輸出值。又如用于LED的字形碼,也是實(shí)際出的值。理解了地址、指令的本質(zhì),就不難理解程序運(yùn)行過(guò)程中為什么會(huì)跑飛,會(huì)把數(shù)據(jù)當(dāng)成指令來(lái)行了。
三、P0口、P2口和P3的第二功能用法初學(xué)時(shí)往往對(duì)P0口、P2口和P3口的第二功能用法迷惑不解,認(rèn)為第二功能和原功能之間要有個(gè)切換的過(guò)程,或者說(shuō)要有一條指令,事實(shí),各端口的第二功能完全是自動(dòng),不需要指令來(lái)轉(zhuǎn)換。如P3.6、P3.7分別是WR、RD信號(hào),當(dāng)微片理機(jī)外接RAM或有外部I/O口 時(shí),它們揮作第二功能,不能作為通用I/O口使用,只要一微處理機(jī)一執(zhí)行到MOVX指令,就會(huì)有相應(yīng)的信號(hào)從 P3.或P3.7送出,不需要事先用指令說(shuō)明。事實(shí)上‘不能作為通用I/O口使用’也并不是‘不能而是(使用者)‘不會(huì)’將其作為通用I/O口使用。你完全可以在指令中按排一條S ETB P3.7的指令,并且當(dāng)單片機(jī)執(zhí)行到這條指令時(shí),也會(huì)使P3.7變?yōu)楦唠娖剑褂谜卟粫?huì) 這么做,因?yàn)檫@通常這會(huì)導(dǎo)致系統(tǒng)當(dāng)潰(即死機(jī))。
四、程序的執(zhí)行過(guò)程 單片機(jī)在通電復(fù)位后8051內(nèi)的程序計(jì)數(shù)器(PC)中的值為‘0000?,所以程序總是從‘0000’單元開(kāi)始執(zhí)行,也就是說(shuō):在系統(tǒng)的ROM中一定要存在‘0000’個(gè)單元,并且在‘0000’單元中存放的一定是一條指令。
五、堆棧 堆棧是一個(gè)區(qū)域,是用來(lái)存放數(shù)據(jù)的,這個(gè)區(qū)域本身沒(méi)有任何特殊之處,就是內(nèi)部RAM的 一份,特殊的是它存放和取用數(shù)據(jù)的方式,即所謂的‘先進(jìn)后出,后進(jìn)先出’,并且堆棧有特 的數(shù)據(jù)傳輸指令,即‘PUSH’和‘OP’,有一個(gè)特殊的專(zhuān)為其服務(wù)的單元,即堆棧指 針SP 每當(dāng)執(zhí)一次 PUSH指令時(shí),SP就(在原來(lái)值的基礎(chǔ)上)自動(dòng)加1,每當(dāng)執(zhí)行一次POP指令,SP就(在原 來(lái)值基礎(chǔ)上)?動(dòng)減1。由于SP中的值可以用指令加以改變,所以只要在程序開(kāi)始階段更改了SP值,就可以把堆棧設(shè)置在規(guī)定的內(nèi)存單元中,如在程序開(kāi)始時(shí)用一條MOV SP,#5FH指令,就時(shí)把堆棧設(shè)置在從內(nèi)存單元60H開(kāi)始的單元中。
六、單片機(jī)的開(kāi)發(fā)過(guò)程這里所說(shuō)的開(kāi)發(fā)過(guò)程并不是一般書(shū)中所說(shuō)的從任務(wù)分析開(kāi)始,我們假設(shè)已設(shè)計(jì)并制作好硬件下面就是編寫(xiě)軟件的工作。在編寫(xiě)軟件之前,首先要確定一些常數(shù)、地址,事實(shí)?這些常數(shù)、地址在設(shè)計(jì)階段已被直接或間接地確定下來(lái)了。如當(dāng)某器件的連線設(shè)計(jì)好后,其地址也就確定了,當(dāng)器件的功能被確定下來(lái)后,其控制字也就被確定了。然后用文本編緝器(如EDIT、CCED 等)寫(xiě)軟件,編寫(xiě)好后,用編譯器對(duì)源程序文件編譯,查錯(cuò),直到?jīng)]有語(yǔ)法錯(cuò)誤,除了極簡(jiǎn)單程序外,一般應(yīng)用仿真機(jī)對(duì)軟件進(jìn)行調(diào)試,直到程序運(yùn)行正確為止。運(yùn)行正確后,就可以寫(xiě)(將程序固 化在EPROM中)。在源程序被編譯后,生成了擴(kuò)展名為HEX的目標(biāo)文件,一般編程器能夠識(shí)別種格式的文件,只要將此文件調(diào)入即可寫(xiě)片。在此,為使大家對(duì)整個(gè)過(guò)程有個(gè)認(rèn)識(shí),舉 一例子說(shuō)明: ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH;設(shè)堆棧 LOOP: NOP LJMP LOOP ;循環(huán) END ;
有時(shí)候單片機(jī)的學(xué)習(xí)很單調(diào),有些知識(shí)學(xué)起來(lái)很抽象,不容易理解,只能慢慢適應(yīng),一邊學(xué)習(xí)理論知識(shí),一邊編寫(xiě)程序,將程序刷入單片機(jī)進(jìn)行調(diào)試,通過(guò)這種方式才能更快速的學(xué)習(xí)單片機(jī)。同時(shí)也會(huì)從學(xué)習(xí)中體會(huì)成功的喜悅。