999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于流程圖編程的單片機(jī)軟件系統(tǒng)開發(fā)

2013-01-01 00:00:00陳瑞森
智能計算機(jī)與應(yīng)用 2013年4期

摘 要:針對學(xué)生在單片機(jī)學(xué)習(xí)中自主設(shè)計能力比較弱的特點,本文開發(fā)了一款基于流程圖編程的單片機(jī)軟件系統(tǒng)。該系統(tǒng)使用形象化的模塊,采用自頂向下的方法設(shè)計流程圖,流程圖設(shè)計完畢,程序相應(yīng)編寫完成。該方法形象直觀,易于理解,編程人員可專注于程序的邏輯關(guān)系,從而發(fā)揮更大的創(chuàng)造力。

關(guān)鍵詞:單片機(jī);流程圖;編程

中圖分類號: TP319

Software Development of Single Chip Computer based on Flow Chart Programming

CHEN Ruisen

(Department of Information, Xiamen Ocean Vocational College, Xiamen Fujian 361012,China)

Abstract: According to the characteristics that the independent design ability of students is weak in learning SCM, a software of SCM based on flow chart programming is developed. The system uses visualization modules, and the method of top-down is used in the design of flow chart. In this system, when the design of the flow chart is completed, the corresponding program has been written. This method is visual, and easy to understand, the programmers can focus on the logical relationship, and thus play a greater creativity.

Key words:Single Chip Computer; Flow Chart; Programming

0引 言

“單片機(jī)”是一門理論性和應(yīng)用性都較強(qiáng)的課程,也是相關(guān)專業(yè)的核心課程。該課程偏重于工程思維,其任務(wù)是利用單片機(jī)技術(shù)和各種芯片,設(shè)計實用的電路系統(tǒng),編寫相關(guān)的應(yīng)用程序。現(xiàn)今常用的單片機(jī)編程語言主要有C51等,編程時需要輸入復(fù)雜的程序代碼,編寫的程序還需要符合特定的語法規(guī)定,這往往增加了編程難度,是學(xué)生學(xué)習(xí)單片機(jī)的難點之一。針對單片機(jī)教學(xué)中“強(qiáng)化實踐,重在應(yīng)用”的辦學(xué)方針,本文設(shè)計了一款基于流程圖編程的單片機(jī)軟件開發(fā)系統(tǒng)。該系統(tǒng)采用EDA中“自頂向下”[1]的設(shè)計方法設(shè)計程序流程圖,程序流程圖由基本編程模塊連接而成。流程圖設(shè)計完畢,程序相應(yīng)編寫完成,該方法有利于重點關(guān)注尋求解決問題的方法,從而開發(fā)出更富有創(chuàng)造性的產(chǎn)品[2]。

1 系統(tǒng)工作原理

單片機(jī)中的程序流程圖用于描述程序內(nèi)部各種問題的解決方法、思路或算法,常使用各種圖形、符號、有向線段等來表示程序設(shè)計的過程。一般情況下,根據(jù)要完成的程序功能寫出總流程圖,基于總流程圖即將整個程序劃分成幾個主要的功能模塊,再針對每個功能模塊繪制基本流程圖。流程圖中使用的各種形態(tài)符號只表示某種處理的描述并沒有實際編程意義,主要是為程序編寫發(fā)揮導(dǎo)引性作用。系統(tǒng)對流程圖的圖形和符號等進(jìn)行了相應(yīng)的改造和簡化,系統(tǒng)中的流程圖只包括兩部分:

(1) 表示相應(yīng)操作的框(模塊)

系統(tǒng)設(shè)計了很多模塊庫,比如顯示模塊庫,判斷模塊庫,傳感器模塊庫等。每個模塊庫又包含很多子模塊,如判斷模塊庫包含次數(shù)循環(huán)模塊,永循環(huán)模塊,條件循環(huán)模塊,條件判斷循環(huán)模塊等,模塊組織結(jié)構(gòu)如圖1所示。模塊類似于Matlab軟件中各種工具箱的仿真模塊,每個模塊均相當(dāng)于一個子函數(shù),在流程圖中添加一個模塊即相當(dāng)于調(diào)用一個子函數(shù)。各個模塊提供一些屬性以供需要時進(jìn)行設(shè)置,設(shè)置后將改變模塊的功能,圖2為延時子模塊的屬性設(shè)置框及相應(yīng)的子函數(shù),只要在屬性設(shè)置框中輸入不同的數(shù)字,就可以得到不同的延時時間。系統(tǒng)中的模塊庫是一個開放庫,可以隨時增加。

void delayms(uchar t)

{ uchar x,y;

for(x=t;x>0;x--)

for(y=110;y>0;y--);

}

(2)帶箭頭的線(指定程序的執(zhí)行順序)

系統(tǒng)中的模塊暫時只用C51來編寫。由于C51中的變量分為局部變量和全局變量,這將有利于模塊的獨立性。用于進(jìn)行模塊之間傳遞參數(shù)的變量為全局變量,各個模塊內(nèi)部用到的變量則全部利用局部變量,如此模塊變量就不會相互影響。系統(tǒng)還提供了一個全局變量模塊,在該模塊中可以定義一些全局變量。系統(tǒng)中每一個模塊都可以完成一定的功能。只要依循清晰的思路連接這些模塊,就可以很快地完成一個程序的代碼。

2 流程圖到C51源程序的實時轉(zhuǎn)換

為了得到可編譯下載的程序,系統(tǒng)可以將流程圖自動轉(zhuǎn)換為C51源程序,類似于plc中的梯形圖和指令表的自動轉(zhuǎn)換[3-4]。編程人員可以直接對源程序進(jìn)行修改,作為流程圖編程的補(bǔ)充手段。下面具體介紹程序流程圖實時轉(zhuǎn)換成C51源程序的原理。

系統(tǒng)構(gòu)造的是由順序、分支和循環(huán)三種基本控制結(jié)構(gòu)通過各種復(fù)雜的組合、嵌套關(guān)系而組成的結(jié)構(gòu)化程序流程圖,其中的基本單元是已經(jīng)獨立開發(fā)的、相當(dāng)于一個子函數(shù)的各種模塊。流程圖轉(zhuǎn)換的對象C51程序基本是一個函數(shù)的集合(包括一個main主函數(shù)和各種子函數(shù)),因而和程序流程圖的對應(yīng)關(guān)系是較為明顯的。系統(tǒng)為了簡化軟件轉(zhuǎn)換的復(fù)雜度,采用了一種實時轉(zhuǎn)化方法,即在流程圖中每添加一個模塊就相應(yīng)的在C51源程序中添加該模塊的對應(yīng)子函數(shù)。流程圖中的主程序?qū)?yīng)于main函數(shù),全局變量模塊對應(yīng)于主函數(shù)前的變量定義,各個模塊對應(yīng)于主函數(shù)前的一個函數(shù)聲明以及主函數(shù)中的一個子函數(shù)調(diào)用,系統(tǒng)的轉(zhuǎn)換關(guān)鍵點則在于各個子函數(shù)的相應(yīng)嵌套關(guān)系。順序結(jié)構(gòu)中的模塊,在程序流程圖中每加入一個模塊,就按順序添加一個子函數(shù)調(diào)用;對于分支、循環(huán)模塊,當(dāng)用戶從模塊庫中拖動一個模塊到軟件設(shè)計區(qū)時,軟件將判斷該模塊是連接于分支、還是循環(huán)模塊的區(qū)域內(nèi)或區(qū)域外,圖3(a)表示模塊處于分支的區(qū)域內(nèi),圖3(b)表示模塊處于循環(huán)模塊的區(qū)域內(nèi),圖4(a) 表示模塊處于分支的區(qū)域外,圖4(b)表示模塊處于循環(huán)模塊的區(qū)域外。在分支結(jié)構(gòu)中,連接于分支模塊區(qū)域內(nèi)的模塊,其子函數(shù)調(diào)用則處于分支函數(shù)內(nèi),反之即處于分支函數(shù)外。分支模塊為每個分支建立一個分支子函數(shù),由分支子函數(shù)再調(diào)用下級各個小模塊的子函數(shù),即分支函數(shù)調(diào)用分支子函數(shù),分支子函數(shù)調(diào)用下一級子函數(shù)。循環(huán)模塊的函數(shù)調(diào)用與分支模塊類似。利用以上方法可以實時地將相應(yīng)的程序流程圖轉(zhuǎn)換為C51源程序。現(xiàn)在,本軟件系統(tǒng)只能轉(zhuǎn)換利用系統(tǒng)提供的模塊構(gòu)造的程序流程圖。

3 系統(tǒng)測試

在完成了系統(tǒng)的初步構(gòu)建后,對系統(tǒng)進(jìn)行了測試,文中構(gòu)建了一張控制8個LED燈閃爍四次的程序流程圖,如圖5(a)所示,圖5(b)、(c)分別為循環(huán)模塊和發(fā)送模塊的屬性設(shè)計框, 在完成了相應(yīng)的程序流程圖并轉(zhuǎn)換為對應(yīng)的程序代碼后,可通過keil軟件進(jìn)行編譯并下載到proteus軟件中的LED燈電路圖進(jìn)行測試,測試結(jié)果表明程序的正確性,圖6分別為LED滅和亮的情況。

4結(jié)束語

本文構(gòu)建的基于流程圖編程的單片機(jī)軟件開發(fā)系統(tǒng)是一個開放性的系統(tǒng),其中的流程圖模塊可以隨著開發(fā)的深入而加以豐富,同時軟件的功能也可進(jìn)一步增強(qiáng)。雖然經(jīng)過初步的開發(fā),軟件具有一定的實用性,但是開發(fā)復(fù)雜功能的流程圖時,軟件自動生成的程序代碼的準(zhǔn)確性還有待進(jìn)一步提高,這也是下一步研究工作的重點。

參考文獻(xiàn):

[1]徐獻(xiàn)靈.EDA技術(shù)在現(xiàn)代電子設(shè)計中的應(yīng)用[J].現(xiàn)代電子技術(shù),2003(17):103-105.

[2] 程向前.基于流程圖的可視化程序設(shè)計環(huán)境對大學(xué)計算機(jī)基礎(chǔ)教學(xué)的影響[J].計算機(jī)教育,2012(14):56-59.

[3]鐘志超,張志勝,戴敏等.流程圖與類C語言實時轉(zhuǎn)換方法[J].東南大學(xué)學(xué)報,2009, 39(3):502-506.

[4]王黎明,王幗釹,周明媛等.程序流程圖到代碼的自動生成算法[J].西安電子科技大學(xué)學(xué)報,2012,39(6):70-77.

作者簡介: 陳瑞森(1981-),男,福建晉江人,碩士,講師,主要研究方向:信息與控制.

主站蜘蛛池模板: 欧美19综合中文字幕| 国产亚洲美日韩AV中文字幕无码成人| 欧美日韩国产成人高清视频| 老司机午夜精品视频你懂的| 亚洲欧洲一区二区三区| 91久久精品日日躁夜夜躁欧美| 99热这里只有精品免费国产| 男女男精品视频| 精品无码国产一区二区三区AV| 国产中文一区a级毛片视频 | 亚洲精品第五页| 红杏AV在线无码| 久久黄色免费电影| 无码免费试看| 色婷婷色丁香| 2020最新国产精品视频| 网友自拍视频精品区| www亚洲精品| 色哟哟国产精品一区二区| 视频在线观看一区二区| 精品成人一区二区三区电影| 亚洲免费毛片| 日韩国产精品无码一区二区三区| 超碰色了色| 亚洲欧美成aⅴ人在线观看| 18禁黄无遮挡网站| 亚洲AV无码乱码在线观看裸奔 | 2048国产精品原创综合在线| 欧美激情第一区| 精品视频第一页| 国产成人亚洲精品色欲AV| a毛片在线播放| 国产黄视频网站| 国产Av无码精品色午夜| 国产在线视频欧美亚综合| 国产综合色在线视频播放线视| 欧美天堂久久| 色成人亚洲| 婷婷综合色| 亚洲欧美不卡中文字幕| 国产亚洲欧美日韩在线一区二区三区| 欧美性久久久久| 亚洲欧美一区二区三区蜜芽| 五月天福利视频| 精品無碼一區在線觀看 | 日韩欧美成人高清在线观看| 人与鲁专区| 最新国产午夜精品视频成人| 啊嗯不日本网站| 亚洲一区二区无码视频| 一级毛片免费不卡在线| 全免费a级毛片免费看不卡| 国内精品九九久久久精品| 先锋资源久久| 欧美日韩高清| 亚洲嫩模喷白浆| 综合亚洲网| 久久青草视频| 97人妻精品专区久久久久| lhav亚洲精品| 国产成人免费手机在线观看视频| 欧美性色综合网| 国产凹凸一区在线观看视频| 亚洲伊人久久精品影院| 欧美区日韩区| 国产亚洲欧美日韩在线观看一区二区| 91精品福利自产拍在线观看| 亚洲无码熟妇人妻AV在线| 久久综合激情网| jizz亚洲高清在线观看| 午夜福利无码一区二区| 久久网综合| 99热这里只有精品免费| 亚洲区欧美区| 亚洲日本一本dvd高清| 97se亚洲综合在线韩国专区福利| 日韩精品专区免费无码aⅴ| 五月六月伊人狠狠丁香网| 99精品视频九九精品| 亚洲三级色| 国产午夜在线观看视频| 免费无码AV片在线观看国产|