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

基于KeilC51和Proteus花樣流水燈系統(tǒng)的設(shè)計(jì)

2018-01-03 10:37:18譚艷春朱又敏劉目磊
軟件工程 2018年11期
關(guān)鍵詞:單片機(jī)

譚艷春 朱又敏 劉目磊

摘 要:單片機(jī)技術(shù)日益成熟,已廣泛應(yīng)用于工業(yè)自動化、交通控制、智能儀表等眾多領(lǐng)域。為了進(jìn)一步研究并拓展單片機(jī)的應(yīng)用,本文利用80C51單片機(jī)、KeilC51和Proteus軟件對花樣流水燈系統(tǒng)進(jìn)行了完整的軟硬件開發(fā)與設(shè)計(jì)。Proteus在線仿真驗(yàn)證了系統(tǒng)設(shè)計(jì)的穩(wěn)定性和正確性。該系統(tǒng)的框架結(jié)構(gòu)具有良好的可移植性,可根據(jù)實(shí)際需求生成不同的智能派生產(chǎn)品,具有較強(qiáng)的實(shí)際指導(dǎo)意義和應(yīng)用價(jià)值。

關(guān)鍵詞:KeilC51;Proteus;單片機(jī);LED流水燈;系統(tǒng)設(shè)計(jì)

中圖分類號:TP399 文獻(xiàn)標(biāo)識碼:A

文章編號:2096-1472(2018)-11-14-03

1 引言(Introduction)

單片機(jī)無論從組成還是邏輯功能上都具有微機(jī)系統(tǒng)的特性,是一門實(shí)踐性很強(qiáng)的軟硬件結(jié)合的技術(shù),且體積小巧,因此可以嵌入到各種應(yīng)用系統(tǒng)中作為指揮決策中心,實(shí)現(xiàn)系統(tǒng)的智能化[1-3]。目前比較流行的單片機(jī)仿真軟件和集成開發(fā)軟件分別為Proteus和Keil。

Proteus不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。Keil是德國Keil Software公司出品的單片機(jī)集成開發(fā)環(huán)境,該軟件支持51單片機(jī)的所有兼容機(jī),它包括了C編譯器、宏匯編、連接器、庫管理及一個(gè)功能強(qiáng)大的仿真調(diào)試器在內(nèi)的所有開發(fā)模塊[4-7]。

2 硬件電路設(shè)計(jì)(Design of hardware circuit)

該系統(tǒng)的硬件電路主要包括時(shí)鐘電路(采用內(nèi)部時(shí)鐘方式,晶振頻率為12MHz)、復(fù)位電路、輸入和輸出電路四部分。其中輸入電路是四個(gè)按鈕開關(guān)K1—K4,并通過四輸入與門74AS21將按鍵信息從外部中斷引腳0(P3.2)讀入系統(tǒng),以觸發(fā)中斷,讓CPU及時(shí)響應(yīng)按鍵操作。由于80C51單片機(jī)P0口的內(nèi)部電路結(jié)構(gòu)問題,P0口作為I/O時(shí)必須接上拉電阻。輸出部分由八個(gè)共陽型發(fā)光二極管及限流電阻(200Ω)組成。利用Proteus仿真軟件生成的硬件電路如圖1所示。

按鈕開關(guān)K1—K4對應(yīng)的功能如下。

(1)K1:啟動按鈕,當(dāng)K1按下時(shí),流水燈自上而下,又自下而上輪流被點(diǎn)亮,即D1→D2→D3…D8→D7→D6→D5…D1,反復(fù)重復(fù),直到有新的按鍵按下,閃爍間隔是50ms。簡記為模式1方式。

(2)K2:當(dāng)K2按下時(shí),流水燈自上而下,又自下而上間隔被點(diǎn)亮,即D1→D3→D5→D7→D8→D6→D4→D2,反復(fù)重復(fù),直到有新的按鍵按下,閃爍間隔是50ms。簡記為模式2方式。

(3)K3:當(dāng)K3按下時(shí),D1、D3、D5和D7同時(shí)被點(diǎn)亮,然后D2、D6、D4、D8同時(shí)被點(diǎn)亮,反復(fù)重復(fù),直到有新的按鍵按下,間隔是1s。簡記為模式3方式。

(4)K4:關(guān)閉按鈕,當(dāng)K4按下時(shí),流水燈D1—D8同時(shí)被點(diǎn)亮,閃爍三次(間隔為100ms)后,全部熄滅。簡記為模式4方式。

3 KeilC51環(huán)境下的編程(Programming in the KeilC51)

3.1 軟件編程要點(diǎn)分析

(1)通過P0口的低四位引腳將按鍵信息讀取進(jìn)來,由電路連接方式可知,無按鍵按下時(shí),四個(gè)引腳全部為高電平,若有按鍵按下,對應(yīng)的引腳將由高電平變?yōu)榈碗娖???衫弥噶頟0&0x0f獲取P0口低四位引腳電平的變化信息。

(2)定義位變量on_off、style1、style2,根據(jù)這三個(gè)位電平的變化來控制程序的轉(zhuǎn)移。這里需用到關(guān)鍵字bit,而不是sbit,雖然二者都可以進(jìn)行位定義,區(qū)別在于sbit只能用來對特殊功能寄存器的位進(jìn)行定義,如以下寫法bit on_off;sbit botton1=P3^2是正確的,而sbit on_off;bit botton1=P3^2是錯(cuò)誤的。

(3)P2口接的是共陽極LED發(fā)光二級管,因此只有對應(yīng)引腳輸出低電平時(shí)等才會被點(diǎn)亮,可將D1、D2、D3…D8被點(diǎn)亮?xí)rP2口對應(yīng)的輸出放到一個(gè)數(shù)組中,即led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。

(4)該系統(tǒng)可通過查詢法和中斷法兩種思路來實(shí)現(xiàn)。與查詢法相比,中斷法具有以下優(yōu)點(diǎn):首先,只有在按鍵按下時(shí),CPU才執(zhí)行相關(guān)的中斷程序,而其他時(shí)間是不占用CPU的時(shí)間;其次,中斷法可以更及時(shí)快速地響應(yīng)按鍵操作。因此,為了提高CPU的工作效率,本系統(tǒng)采用中斷掃描方式進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。

(5)關(guān)于中斷方式的幾點(diǎn)說明:(1)要使用外部中斷,必須將中斷允許打開,即對中斷允許寄存器IE進(jìn)行正確設(shè)置。IE的字節(jié)地址為A8H,所以即可以字節(jié)操作,又可以位操作,如要開啟外部中斷0,即可寫IE=0x81H,也可寫EX0=1,EA=1,二者的作用是等同的。(2)外部中斷包括電平觸發(fā)(ITx=0)(外部中斷源接P3.2腳時(shí),x=0;外部中斷源接P3.3腳時(shí),x=1)和邊沿觸發(fā)(ITx=1)兩種觸發(fā)方式。其中邊沿觸發(fā)的外部中斷請求,在CPU響應(yīng)中斷后,自動由硬件對中斷請求標(biāo)志位EIx清0,即系統(tǒng)自動撤銷中斷請求;而電平觸發(fā)的外部中斷請求,硬件不能自動對中斷請求標(biāo)志位EIx清0,必須在撤銷P3.2或P3.3引腳上的低電平后,再利用軟件對中斷請求標(biāo)志位清0,比較繁瑣。因此本系統(tǒng)采用邊沿觸發(fā)方式。

3.2 程序流程圖

該系統(tǒng)的程序流程圖如圖2所示。

3.3 系統(tǒng)源代碼

該花樣流水燈系統(tǒng)的完整源代碼如下:

#include;頭文件reg51.h或reg52.h中包含了對8051型單片機(jī)特殊功能寄存器(SFR)名的集中說明。

Unsigned char led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void delay(unsigned char time);//延時(shí)函數(shù)的聲明

bit on_off=0, style1=0, style2=0;//定義位控制變量

button() interrupt 0{ //中斷0函數(shù)

switch(P0&0x0f) {

case 0x0e: on_off=1, style1=1;break; //模式1方式的啟動條件

case 0x0d: on_off=1, style1=0; style2=1;break; //模式2方式的啟動條件

case 0x0b: on_off=1, style1=0;style2=0;break; //模式3方式的啟動條件

case 0x07: on_off=0;break; //模式4方式的啟動條件

}}

void main() {

char i;

IT0=1;EX0=1;EA=1; //邊沿觸發(fā)、外部中斷0允許、總中斷允許

while(1) {

if (on_off)

if (style1) //模式1運(yùn)行方式

for (i=0;i<=7;i++) {

P2=led[i];

delay(5);

}

for (i=6;i<=0;i--) {

P2=led[i];

delay(5);

}

else if (style2) //模式2運(yùn)行方式

for (i=0;i<=7&i;%2==0;i++) {

P2=led[i];

delay(5);

}

for (i=7;i<=0&i;%2!=0;i--) {

P2=led[i];

delay(5);

}

else //模式3運(yùn)行方式

P2=0x55;

delay(100);

P2=0xaa;

delay(100);

else //模式4運(yùn)行方式

for (i=3;i<0;i--) {

P2=0x00;

delay(10);

P2=0xff;

}}}

void delay(unsigned char time) { //定義延時(shí)函數(shù)

unsigned int i;

for(;time>0;time--)

for(i=10000;i>0;i--);

}

3.4 系統(tǒng)的拓展

該系統(tǒng)的框架結(jié)構(gòu)具有良好的可移植性,可根據(jù)實(shí)際需求生成不同的智能派生產(chǎn)品,主要可從流水燈的控制開關(guān)、閃爍節(jié)奏、閃爍花樣三個(gè)方面進(jìn)行改變。

(1)流水燈控制開關(guān)的改變

首先控制開關(guān)的數(shù)量可以根據(jù)實(shí)際需要進(jìn)行增減。80C51一共有四組I/O口P0、P1、P2、P3,它們的地址分別為80H、90H、A0H、B0H,都是8的整數(shù)倍,因此這32個(gè)引腳全部可以位操作。若是獨(dú)立按鍵,最多可以接(32—N)個(gè);若是接行列式鍵盤開關(guān),最多可以擴(kuò)充為(32—N)2個(gè),其中N為流水燈的數(shù)量。

其次控制開關(guān)的作用完全可以通過修改源代碼進(jìn)行改變,無需進(jìn)行硬件變動。

(2)流水燈閃爍節(jié)奏的改變

基本延時(shí)函數(shù)delay(unsigned char time)的定時(shí)時(shí)間為10000*機(jī)器周期,若采用12MHz晶振,機(jī)器周期則為1us,即delay(1)=10ms,delay(50)=500ms,delay(t)=10*tms。因此通過簡單的調(diào)用delay(t)函數(shù)并根據(jù)需要修改t的取值即可改變流水燈閃爍的快慢。

(3)流水燈閃爍花樣的改變

首先流水燈的數(shù)量可以根據(jù)實(shí)際需要進(jìn)行增減,這點(diǎn)與控制開關(guān)相類似,不再累述。其次流水燈的閃爍花樣亦可通過修改源代碼實(shí)現(xiàn)。

4 程序加載及仿真演示(Program loading and simulation demonstration)

將調(diào)試過無語法錯(cuò)誤的代碼文件*.HEX加載到Proteus原理圖的80C51單片機(jī)中,運(yùn)行后,依次按下K1—K4,可以觀察到與預(yù)期一致的流水燈效果。由于文本的限制,無法展示系統(tǒng)運(yùn)行的動態(tài)過程,故略。

5 結(jié)論(Conclusion)

本文設(shè)計(jì)的花樣流水燈系統(tǒng)可以根據(jù)輸入信息的不同,按照預(yù)先設(shè)定的花樣(如燈亮持續(xù)時(shí)間、流向等)進(jìn)行顯示。該流水燈系統(tǒng)可以應(yīng)用到裝飾、交通等生活中許多領(lǐng)域,并可以根據(jù)實(shí)際需求進(jìn)行修改。借助這種通用框架結(jié)構(gòu),很容易生成不同的智能派生產(chǎn)品,以適應(yīng)不同的應(yīng)用場合。因此該系統(tǒng)具有較強(qiáng)的實(shí)際指導(dǎo)意義和應(yīng)用價(jià)值。

參考文獻(xiàn)(References)

[1] 曾宇,宋永端,王弼堃.基于Proteus和Keil軟件的溫室環(huán)境監(jiān)測系統(tǒng)開發(fā)[J].農(nóng)業(yè)工程學(xué)報(bào),2012,28(14):177-183.

[2] 單純,荊高鵬,胡昌振,等.基于漏洞知識庫的8031單片機(jī)系統(tǒng)軟件漏洞檢測算法[J].北京理工大學(xué)學(xué)報(bào),2017,37(4):371-375.

[3] 吳可汗,何怡剛.基于單片機(jī)的低功耗電能收集充電器設(shè)計(jì)[J].電工技術(shù)學(xué)報(bào),2013,28(S2):185-188.

[4] 于博,楊曉慶.基于Keil C51與Proteus仿真聯(lián)合的單片機(jī)應(yīng)用研究[J].軟件工程師,2015,18(9):51-52.

[5] 林立等.單片機(jī)原理及應(yīng)用——基于Proteus和Keil C[M].北京:電子工業(yè)出版社,2018.

[6] 徐磊,申紅軍,蔡亞永.單片機(jī)開發(fā)Keil C51與Proteus仿真聯(lián)合應(yīng)用研究[J].電子設(shè)計(jì)工程,2013(9):178-181.

[7] 杜樹春.基于Proteus和Keil C51的單片機(jī)設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2012.

作者簡介:

譚艷春(1980-),女,碩士,講師.研究領(lǐng)域:系統(tǒng)設(shè)計(jì),信號處理.

朱又敏(1966-),男,碩士,工程師.研究領(lǐng)域:射頻通信.本文通訊作者.

劉目磊(1980-),男,本科,工程師.研究領(lǐng)域:雷達(dá)系統(tǒng)設(shè)計(jì)及故障分析.

猜你喜歡
單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個(gè)全新PIC單片機(jī)系列
基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
主站蜘蛛池模板: 美女一级毛片无遮挡内谢| 暴力调教一区二区三区| 亚洲精品视频免费看| 人妻少妇乱子伦精品无码专区毛片| 亚洲无限乱码一二三四区| 岛国精品一区免费视频在线观看 | 91久久国产成人免费观看| 好吊妞欧美视频免费| 色哟哟国产精品一区二区| 午夜天堂视频| 亚洲天堂在线视频| 亚洲欧洲日韩综合| 亚洲最大福利网站| 亚洲国产天堂在线观看| 国内精自线i品一区202| 久久精品国产在热久久2019| 丁香六月综合网| 国产打屁股免费区网站| 天天爽免费视频| 99在线小视频| 中文字幕色站| 国产亚洲精品97在线观看| 日韩在线永久免费播放| 免费看a级毛片| 国产精品成人一区二区| 国产成人区在线观看视频| Jizz国产色系免费| 国产精品第页| 四虎成人在线视频| 毛片在线看网站| 国产成a人片在线播放| 国产嫩草在线观看| 色国产视频| 网友自拍视频精品区| 黄色不卡视频| 一级毛片基地| 欧美精品成人一区二区视频一| 欧美精品1区2区| 久久永久免费人妻精品| 五月丁香在线视频| 亚州AV秘 一区二区三区| 亚洲综合日韩精品| 亚洲中字无码AV电影在线观看| 乱码国产乱码精品精在线播放| 亚洲精品无码久久久久苍井空| 超碰色了色| 色偷偷av男人的天堂不卡| 国产交换配偶在线视频| 欧美精品在线观看视频| 亚洲AV无码一区二区三区牲色| 亚洲国产中文精品va在线播放| 日本免费a视频| 114级毛片免费观看| 东京热一区二区三区无码视频| 亚洲中文字幕在线精品一区| 女人18毛片水真多国产| 日本一区高清| 婷婷六月色| 亚洲国产精品成人久久综合影院| 日日噜噜夜夜狠狠视频| 国产天天射| 国产成人a在线观看视频| 国产欧美自拍视频| 日韩一区二区三免费高清| 手机在线国产精品| 免费日韩在线视频| 日本草草视频在线观看| 91无码人妻精品一区二区蜜桃| 香蕉国产精品视频| 国产乱子伦无码精品小说| 乱人伦视频中文字幕在线| a毛片免费在线观看| 国产又粗又猛又爽| 亚洲欧美另类久久久精品播放的| 久久亚洲AⅤ无码精品午夜麻豆| 久久96热在精品国产高清| 中文无码精品a∨在线观看| 青青青国产视频手机| 亚洲精品无码抽插日韩| 无码精品国产dvd在线观看9久| 欧美高清三区| 欧洲一区二区三区无码|