軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告江南大學(xué)_第1頁(yè)
軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告江南大學(xué)_第2頁(yè)
軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告江南大學(xué)_第3頁(yè)
軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告江南大學(xué)_第4頁(yè)
軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告江南大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 軟件技術(shù)基礎(chǔ)結(jié)課報(bào)告 軟件技術(shù)基礎(chǔ)與單片機(jī)編程的聯(lián)系與區(qū)別院 系 電子工程系 專 業(yè) 微電子學(xué) 班 級(jí) 微電子1101 學(xué)生姓名 楊海平 學(xué) 號(hào) 0301110115 任課教師 張康立 2013 年 5 月 17 日軟件技術(shù)基礎(chǔ)與單片機(jī)編程的聯(lián)系與區(qū)別微電子學(xué) 專業(yè) 學(xué)生 楊海平 學(xué)號(hào) 0301110115關(guān)鍵詞:?jiǎn)纹瑱C(jī);編程;單片機(jī)最小系統(tǒng) 1、 單片機(jī)(一)單片機(jī)簡(jiǎn)介單片機(jī)也被稱作“單片微型計(jì)算機(jī)”、“微控制器”、“嵌入式微控制器”。單片機(jī)一詞最初是源于“Single Chip Microcomputer”,簡(jiǎn)稱SCM。隨著SCM在技術(shù)上、體系結(jié)構(gòu)上不斷擴(kuò)展其控制功能

2、,單片機(jī)已不能用“單片微型計(jì)算機(jī)”來(lái)表達(dá)其內(nèi)涵。國(guó)際上逐漸采用“MCU”(Micro Controller Unit)來(lái)代替,形成了單片機(jī)界公認(rèn)的、最終統(tǒng)一的名詞。為了與國(guó)際接軌,以后應(yīng)將中文“單片機(jī)”一詞和“MCU”唯一對(duì)應(yīng)解釋。在國(guó)內(nèi)因?yàn)椤皢纹瑱C(jī)”一詞已約定俗成,故而可繼續(xù)沿用。因?yàn)閱纹瑱C(jī)在生活中的應(yīng)用太廣泛,在各大學(xué),高職院校均有授課,其應(yīng)用可概括為:1.單片機(jī)在智能儀表中的應(yīng)用2.單片機(jī)在機(jī)電一體化中的應(yīng)用 3.單片機(jī)在實(shí)時(shí)控制中的應(yīng)用 4.單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用5.單片機(jī)在人類生活中的應(yīng)用(2) 單片機(jī)編程單片機(jī)編程可以使用匯編語(yǔ)言,也

3、可以使用C語(yǔ)言,目前各大專院校都普遍采用C語(yǔ)言編程,因其可移植性好,易于編寫編寫,調(diào)試,維護(hù),且匯編能做的事,c語(yǔ)言大部分都能做。匯編因其枯燥難懂而不適合在高校內(nèi)推廣展開(kāi),但如果是要追求高效,精確,那么就需要用匯編來(lái)進(jìn)行編程。2、 軟件技術(shù)基礎(chǔ)隨著信息技術(shù)日益深入人們生活和公作各個(gè)環(huán)節(jié),作為信息技術(shù)的核心-計(jì)算機(jī)應(yīng)用技術(shù),對(duì)非計(jì)算機(jī)專業(yè)的在校大學(xué)生來(lái)說(shuō)顯得越來(lái)越重要。掌握計(jì)算機(jī)基礎(chǔ)知識(shí),能夠以專業(yè)背景為依托,充分有效地利用計(jì)算機(jī)技術(shù)解決未來(lái)工作中的專業(yè)問(wèn)題,是對(duì)當(dāng)代理工科大學(xué)生的基本要求。二提高計(jì)算機(jī)的應(yīng)用能力,尤其是計(jì)算機(jī)軟件的開(kāi)發(fā)和應(yīng)用能力是非常必要的。3、 軟件技術(shù)基礎(chǔ)與單片機(jī)編程的聯(lián)系

4、單片機(jī)編程,就目前來(lái)講,個(gè)人覺(jué)得數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單明了,沒(méi)有軟件技術(shù)基礎(chǔ)中的數(shù)據(jù)庫(kù),復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如圖形結(jié)構(gòu),但是有查找。整個(gè)目前我編寫的單片機(jī)程序,就是簡(jiǎn)單的結(jié)構(gòu)化程序,按照各外圍芯片的要求初始化,然后由單片機(jī)的引腳的高低電平來(lái)控制它工作或者輸入輸出數(shù)據(jù),一個(gè)簡(jiǎn)單的單片機(jī)最小系統(tǒng)就是一個(gè)簡(jiǎn)單的操作系統(tǒng),很多概念都可以用在單片機(jī)最小系統(tǒng)上。如下個(gè)人編的單片機(jī)程序,來(lái)進(jìn)行說(shuō)明:/* * C *軟件功能:計(jì)算機(jī)向單片機(jī)發(fā)送數(shù)據(jù),單片機(jī)接收到數(shù)據(jù)后,控制顯示PC發(fā)送的數(shù)據(jù)*文件名:串口通信加LCD.c*作者:楊海平( ) 江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院微電子1101*開(kāi)始日期:2013.4.29 21:26*

5、*/#include<REG52.H>#define uint unsigned int#define uchar unsigned char#define on 1#define off 0#define N 1#define M 8sbit EN = P34;sbit RS = P35;sbit RW = P11;sbit dula = P26;sbit wela = P27;sbit LED1 = P17;sbit LED2 = P16;uchar Information, orderM, num = 0;void delay(uchar z)uchar x, y;for(x

6、 = z; x > 0; x-)for(y = 114; y > 0; y-);void WCom(uchar com)RS = 0;delay(N);RW = 0;delay(N);P0 = com;delay(N);EN = on;delay(N);EN = off; void WDat(uchar dat)RS = 1;delay(N);RW = 0;delay(N);P0 = dat;delay(N);EN = on;delay(N);EN = off;void LCDInit()RW = 0;EN = 1;dula = 0;wela = 0;WCom(0x38);dela

7、y(N); /00111000B設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口WCom(0x0c);delay(N); /00001100B開(kāi)顯示,不顯示光標(biāo)WCom(0x06);delay(N); /當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一WCom(0x01); /清屏幕指令,將以前的顯示內(nèi)容清除/設(shè)置光標(biāo)初始/出現(xiàn)在第一行第一列void TimeInit(void)TR1 = 1;EA = 1;ES = 1;TMOD = 0x20;/設(shè)置定時(shí)器為工作方式2TH1 = 0xf4;/波特率=2400bit/sTL1 = 0xf4;REN = 1;SM0 = 0;SM1 = 1; void Int

8、err() interrupt 4while(RI)RI = 0;Information = SBUF;ordernum = Information;delay(5);if(order3='3')LED1 = 0;WDat(ordernum);SBUF = ordernum;num+;if(num >= M)num = 0;WCom(0x80+0x40);LED2 = LED2;void main()/出現(xiàn)零后能連續(xù)輸出三個(gè)數(shù)uchar i = 0;uchar code Name16 = "NAME:HAPPY YOUNG" /GNUOY YPPAHL

9、CDInit();TimeInit();WCom(0x80);delay(N);WCom(0x80);delay(N);for(i = 0; i < 16; i+)WDat(Namei);delay(N);WCom(0x80+0x40);delay(N); RI = 0;/這一步很重要 ,如果把它移入while中,那么第一個(gè)數(shù)據(jù)在單片機(jī)重啟時(shí)就已經(jīng)寫入了while(1);/while(1);其實(shí)個(gè)人認(rèn)為MC51單片機(jī)檢測(cè)內(nèi)部寄存器,如RI的電平值時(shí),就是查找,一旦檢測(cè)到MC51的RI=1,系統(tǒng)就立即進(jìn)入while(RI)復(fù)合語(yǔ)句中,然后繼續(xù)查找order3是否為3,若為3,就執(zhí)行LED=

10、0;即點(diǎn)亮LED1,接著執(zhí)行復(fù)合語(yǔ)句中的進(jìn)程,通過(guò)軟件RI=0;語(yǔ)句將其強(qiáng)行置為0,然后系統(tǒng)又恢復(fù)到檢測(cè)內(nèi)部RI寄存器的電平值,似乎從這里可以認(rèn)為在單片機(jī)中的判斷語(yǔ)句就是查找。1. 單片機(jī)中的進(jìn)程管理單片機(jī)系統(tǒng)就是個(gè)實(shí)時(shí)操作系統(tǒng),也有進(jìn)程的概念,比如點(diǎn)亮一個(gè)燈是一個(gè)進(jìn)程,往LCD中寫命令(WCom()函數(shù))也是一個(gè)進(jìn)程,往LCD中寫數(shù)據(jù)(WDat()函數(shù))也是一個(gè)進(jìn)程。當(dāng)且僅當(dāng)執(zhí)行進(jìn)程的條件被系統(tǒng)檢測(cè)到可行,那么該進(jìn)程就會(huì)執(zhí)行。單片機(jī)里的進(jìn)程管理相對(duì)書(shū)上講的windows進(jìn)程管理簡(jiǎn)單得多,甚至可以認(rèn)為單片機(jī)是通過(guò)實(shí)時(shí)檢測(cè)每個(gè)編程者定義的進(jìn)程執(zhí)行條件是否滿足來(lái)管理進(jìn)程,整個(gè)系統(tǒng)就是一順序結(jié)構(gòu),一

11、步一步來(lái),當(dāng)然,單片機(jī)中可以有中斷,這在軟件技術(shù)基礎(chǔ)中的編程我還沒(méi)有接觸到過(guò)。進(jìn)程狀態(tài)也至少有三種:執(zhí)行狀態(tài),就緒狀態(tài),等待狀態(tài),只要進(jìn)程執(zhí)行條件滿總,進(jìn)程總能執(zhí)行。2. 單片機(jī)中的存儲(chǔ)管理單片機(jī)內(nèi)部有存儲(chǔ)結(jié)構(gòu),但也可以外接存儲(chǔ)器,相當(dāng)于普通電腦可以外接硬盤,U盤,但因?yàn)閱纹瑱C(jī)一般都是專用的,為用戶編寫的程序都是針對(duì)某一目的,而不像windows那樣,每個(gè)地球人都可以使用它完成娛樂(lè),學(xué)習(xí),工作,所以相對(duì)來(lái)講,一個(gè)單片機(jī)系統(tǒng)的代碼不會(huì)很大,而對(duì)我們普通大學(xué)生來(lái)說(shuō),8KB已經(jīng)夠用了,很少有要求需要外接存儲(chǔ)設(shè)備的。但有些項(xiàng)目需要單片機(jī)記住之前的外部設(shè)備的一些工作狀態(tài)參數(shù),而單片機(jī)內(nèi)部不提供這種功能的

12、時(shí)候,我們就需要外接記憶存儲(chǔ)單元了,比如想用51單片機(jī)做個(gè)MP3,那么你存儲(chǔ)的歌曲就應(yīng)該放在外部存儲(chǔ)單元中。3. 單片機(jī)中的設(shè)備管理像windows一樣,單片機(jī)啟動(dòng)后也會(huì)根據(jù)編程者編寫的程序給相應(yīng)的外部設(shè)備初始化,如上程序的LCDInit();TimeInit();兩個(gè)函數(shù),就是來(lái)初始化LCD和定時(shí)器的,通過(guò)調(diào)節(jié)某一參數(shù),我們可以改變外部設(shè)備的工作形式,工作狀態(tài)等。有些是通過(guò)外部鎖存器來(lái)選擇控制哪個(gè)外部設(shè)備工作,比如用單片機(jī)控制六位數(shù)碼管,通過(guò)鎖存器來(lái)給數(shù)碼管分配MCU資源,這樣可以用很少的I/O口來(lái)控制很多外部設(shè)備。4、 軟件技術(shù)基礎(chǔ)與單片機(jī)編程的區(qū)別還是以上個(gè)程序?yàn)槔?,說(shuō)明下個(gè)人觀點(diǎn)。單片

13、機(jī)編程首先要自己定義你自己要用到的引腳,比如sbit RW = P11;sbit dula = P26;sbit wela = P27;方便后面對(duì)引腳的操作,而在電腦上用VC+編程我們不用管引腳,CPU引腳太多,VC+這個(gè)軟件已經(jīng)幫我們做好了基本的初始化。在單片機(jī)中經(jīng)常要用到while(1)語(yǔ)句,這在VC+中的編程是不允許的,自己做過(guò)實(shí)驗(yàn),windows會(huì)強(qiáng)行關(guān)閉該軟件。如果用單片機(jī)做可視化操作,必不可少的就是LCD了,相當(dāng)于電腦的LCD顯示屛,在VC+中,我們只要很方便地調(diào)用printf()函數(shù)輸出就可以了,輸入時(shí)調(diào)用scanf()函數(shù),但在單片機(jī)中,你可以自己設(shè)置LCD的工作模式,比如LC

14、D顯示多少行,每個(gè)字用多少液晶點(diǎn)陣,光標(biāo)是否閃爍,這都在LCDInit();中通過(guò)對(duì)引腳的操作來(lái)實(shí)現(xiàn)的。單片機(jī)中的中斷,很有用處,可以利用這點(diǎn),單片機(jī)執(zhí)行優(yōu)先級(jí)高的進(jìn)程,目前我在VC+中編寫的程序還沒(méi)有過(guò)中斷的使用。在VC+中,我們能編出樹(shù)形結(jié)構(gòu),圖形結(jié)構(gòu),排序等程序,但在基本的單片機(jī)應(yīng)用中,可以沒(méi)有這些復(fù)雜的算法,我們就是些簡(jiǎn)單的循環(huán)語(yǔ)句,選擇語(yǔ)句,我們更強(qiáng)調(diào)時(shí)序邏輯,在什么時(shí)候引腳的電平狀態(tài)是什么樣都要求精確,例如對(duì)LCD進(jìn)行初始化,寫命令進(jìn)去的時(shí)候連寫完一條指令都要延時(shí)一段時(shí)間,才能寫下一條指令,這是由單片機(jī)和電腦的硬件決定的,在VC+中如果你定義了void delay(uchar z)uchar x, y;for(x = z; x > 0; x-)for(y = 114; y > 0; y-);函數(shù),其實(shí)相當(dāng)于沒(méi)有延時(shí)功能,電腦CPU的工作頻率是MCU不能望其項(xiàng)背的,這個(gè)函數(shù)在MCU中延時(shí)1ms,而在VC+中一下就過(guò)去了。5、 總結(jié)軟件技術(shù)基礎(chǔ)的一些概念在單片機(jī)編程中是有應(yīng)用的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論