




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 雷嘉惠 201317060125目錄內(nèi)容頁(yè)碼1. 系統(tǒng)總體方案設(shè)計(jì)22. 系統(tǒng)硬件設(shè)計(jì)3 2.1. 按鍵輸入電路3 2.2. 輸出電路4 2.3. 顯示電路53. 軟件設(shè)計(jì)(包括流程圖)94. 軟件仿真155. 系統(tǒng)的安裝調(diào)試說明176. 總結(jié)187. 參考文獻(xiàn)198. 附錄19第 1 頁(yè) 共 23 頁(yè)姓名 學(xué)號(hào)1. 系統(tǒng)總體方案設(shè)計(jì) 校園作息時(shí)間控制系統(tǒng)主要用于學(xué)校,對(duì)一些以24小時(shí)為周期的開關(guān)量進(jìn)行自動(dòng)控制。如上下課打鈴、教學(xué)音響的定時(shí)開與關(guān)等。該控制系統(tǒng)是采用Arduino_UNO微控制器來實(shí)現(xiàn)對(duì)上述開關(guān)量的控制,設(shè)有四位數(shù)碼管、可以實(shí)時(shí)顯示時(shí)間、系統(tǒng)還設(shè)有按鍵,用以修改實(shí)時(shí)時(shí)鐘,體現(xiàn)
2、了系統(tǒng)簡(jiǎn)單、工作穩(wěn)定可靠、價(jià)廉、控制時(shí)間精確及系統(tǒng)體積小等優(yōu)點(diǎn)。該時(shí)鐘控制系統(tǒng)有4位數(shù)碼顯示器,具有實(shí)時(shí)顯示時(shí)鐘(顯示當(dāng)前時(shí)間的小時(shí)、分鐘)功能,可以實(shí)現(xiàn)多點(diǎn)、多電器設(shè)備的控制。該控制系統(tǒng)可廣泛用于學(xué)校、工廠和機(jī)關(guān)的自動(dòng)打鈴、音響及其他對(duì)象控制,也可用于家庭或?qū)W生寢室進(jìn)行時(shí)間指示及多點(diǎn)時(shí)間提醒。為方便仿真與測(cè)試,本系統(tǒng)以秒代分,日時(shí)間累計(jì)誤差1分鐘。系統(tǒng)設(shè)有的按鍵電路,方便定期進(jìn)行時(shí)間校準(zhǔn)。根據(jù)設(shè)計(jì)要求畫出系統(tǒng)框圖,如圖1所示,原理見附錄1。該控制系統(tǒng)是由微處理器、蜂鳴器、數(shù)碼顯示部分以及按鍵輸入部分所組成。顯示電路采用了74LS48芯片來完成驅(qū)動(dòng)和譯碼的功能。圖1 系統(tǒng)框圖根據(jù)實(shí)際情況對(duì)上下
3、課打鈴與教學(xué)音響的定時(shí)開關(guān)量在一天內(nèi)的控制時(shí)間列表如下:時(shí)間事件動(dòng)作7:30播放歌曲30分鐘LED1亮30分鐘8:00第一節(jié)課上課打鈴Bee響鈴1分鐘8:45第一節(jié)課下課鈴響B(tài)ee響鈴1分鐘9:00第二節(jié)課上課鈴響B(tài)ee響鈴1分鐘9:50第二節(jié)課下課鈴響B(tài)ee響鈴1分鐘9:55課間操開始,放音樂10分鐘LED2亮10分鐘10:10第三節(jié)上課鈴響B(tài)ee響鈴1分鐘11:00第三節(jié)下課鈴響B(tài)ee響鈴1分鐘11:10第四節(jié)上課鈴響B(tài)ee響鈴1分鐘12:00第四節(jié)下課鈴響B(tài)ee響鈴1分鐘表1 作息時(shí)間控制表2. 系統(tǒng)硬件設(shè)計(jì) 這個(gè)課程設(shè)計(jì)主要用到的硬件是PC機(jī),Arduino入門套件。將復(fù)位和校時(shí)將設(shè)定
4、時(shí)間覆蓋現(xiàn)在時(shí)間(T)的按鈕依次并列排列在面包板上,并加上代表下課上課鈴聲的有源蜂鳴器和兩個(gè)代表播放歌曲和課間操的LED。將以上按照編程與四位數(shù)碼管和Arduino板連接。 總體連接圖如下圖2所示:圖2 總體連接圖 這個(gè)電路圖是由Fritzing(面包板)軟件繪制,軟件庫(kù)中不含有四位數(shù)碼管。圖中用一個(gè)同是12管教的顯示器代替了。按系統(tǒng)框圖分三個(gè)部分設(shè)計(jì)如下:2.1. 按鍵輸入電路窗體底端輸入控制是由兩個(gè)按鍵組成的,它是微型計(jì)算機(jī)最常用的輸入設(shè)備,用戶可以通過按鍵向計(jì)算機(jī)輸入復(fù)位和校時(shí)指令。本系統(tǒng)中采用獨(dú)立式按鍵結(jié)構(gòu),如圖3所示,各按鍵相互獨(dú)立地接通一條輸入數(shù)據(jù)線,當(dāng)任何一個(gè)鍵按下時(shí),與之相連的
5、輸入數(shù)據(jù)線即被置0,而平時(shí)該線置1。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。當(dāng)功能鍵不很多時(shí),采用該種方式比較合適。圖3 按鍵連接圖2.2. 輸出電路輸出控制信號(hào)串口LED燈和蜂鳴器,串口各位所控制的對(duì)象見表2,輸出部分原理圖如圖5所示。串口的位控制,“LOW”控制截止、“HIGH”控制導(dǎo)通串口0113用電器LED1LED2有源蜂鳴器表2 位控表圖4輸出部分原理圖2.3. 顯示電路 4位LED顯示器進(jìn)行設(shè)計(jì)。只有理解結(jié)構(gòu)和內(nèi)部接線圖,讀引腳圖,以便正確連接電路,得到正確的實(shí)驗(yàn)結(jié)果的。 4位數(shù)碼管:圖5 4位數(shù)碼管俯視圖 四位數(shù)碼管有12個(gè)外部引腳,數(shù)碼管的引腳標(biāo)號(hào)為,左下角為1,按逆時(shí)針方向數(shù),
6、分別為1-12。圖6 4位數(shù)碼管立體視圖 共陰極發(fā)光二極管的內(nèi)部接線圖:圖7 共陰極4位數(shù)碼管內(nèi)部接線圖 發(fā)光二極管的引腳圖:圖8 共陰極4位數(shù)碼管引腳圖 以下是發(fā)光二極管的接線圖:圖9 共陰極4位數(shù)碼管接線圖顯然,連接LED需要占用Arduino的12個(gè)引腳(大部分的)。所以添加一個(gè)顯示系統(tǒng)74LS48芯片來減少引腳數(shù)的使用。 74LS48芯片是一種常用的七段數(shù)碼管譯碼驅(qū)動(dòng),常用于各種數(shù)字電路和微控制器系統(tǒng)的顯示系統(tǒng),下面是一些參數(shù)的組件和應(yīng)用技術(shù)及其他信息。BCD-74LS48引腳圖:圖10 BCD-74LS48芯片引腳圖表3 功能表-七段譯碼器74LS48驅(qū)動(dòng)函數(shù)表十進(jìn)制數(shù)或函數(shù)輸入BI
7、/RBO輸出備注LTRBID C B Aabcdefg0HH0 0 0 0H111111011Hx0 0 0 1H01100002Hx0 0 1 0H11011013Hx0 0 1 1H11110014Hx0 1 0 0H01100115Hx0 1 0 1H10110116Hx0 1 1 0H00111117Hx0 1 1 1H11100008Hx1 0 0 0H11111119Hx1 0 0 1H111001110Hx1 0 1 0H000110111Hx1 0 1 1H001100112Hx1 1 0 0H010001113Hx1 1 0 1H100101114Hx1 1 1 0H0001
8、11115Hx1 1 1 1H0000000BIxxx x x xL00000002RBIHL0 0 0 0L00000003LTLxx x x xH11111114連接 74LS48 與LED顯示器:圖11 BCD-74LS48芯片與4位顯示器連接圖在Proteus繪制的連接圖:圖12 BCD-74LS48芯片與4位顯示器仿真連接圖3. 軟件設(shè)計(jì)(包括流程圖)軟件設(shè)計(jì)以時(shí)鐘顯示、輸出控制為主程序。在設(shè)計(jì)中利用中斷,中斷子程序有時(shí)間復(fù)位,和時(shí)間校準(zhǔn)。下面是流程圖:圖13 編程流程圖設(shè)計(jì)程序:首先定義顯示器和譯碼器各個(gè)管腳,LED燈,蜂鳴器按鈕在Arduino板上的對(duì)應(yīng)管腳。其次設(shè)置相應(yīng)的管腳為
9、輸出管腳并設(shè)置2個(gè)按鈕為輸入管腳并加上內(nèi)部change模式。設(shè)置2個(gè)中斷,設(shè)置中斷引腳數(shù)為2和3,此部分程序如下圖2所示。接下來,定義需要在顯示器上顯示的字母和不同時(shí)期的數(shù)字,并用然后運(yùn)用if語(yǔ)句定義不同時(shí)間斷的蜂鳴器運(yùn)行與LED燈的亮滅。中斷程序設(shè)置2個(gè)按鈕不同的功能。以下是完整的4位顯示器顯示程序:程序注釋/*seg_a:(11) ->74ls48p(13) seg_b:(7) ->74ls48p(12) seg_c:(4) ->74ls48p(11) seg_d:(2) ->74ls48p(10) seg_e:(1) ->74ls48p(9) seg_f:(
10、10) ->74ls48p(15) seg_g:(5) ->74ls48p(14) */ #define A 4 #define B 5 #define C 6 #define D 7 #define COM1 9 #define COM2 10 #define COM3 11 #define COM4 12 unsigned char table104 = 0,0,0,0, 1,0,0,0,0,1,0,0,1,1,0,0,0,0,1,0,1,0,1,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1;void setup()pinMode(A,OUTPUT);pi
11、nMode(B,OUTPUT);pinMode(C,OUTPUT);pinMode(D,OUTPUT);pinMode(COM1,OUTPUT);pinMode(COM2,OUTPUT);pinMode(COM3,OUTPUT);pinMode(COM4,OUTPUT);void loop()Display(1,0);delay(500);Display(2,1);delay(500);Display(3,2);delay(500);Display(4,3);delay(500);void Display(unsigned char com,unsigned char num)digitalW
12、rite(A,LOW);digitalWrite(B,LOW);digitalWrite(C,LOW);digitalWrite(D,LOW);switch(com)case 1:digitalWrite(COM1,LOW);digitalWrite(COM2,HIGH);digitalWrite(COM3,HIGH);digitalWrite(COM4,HIGH);break;case 2:digitalWrite(COM1,HIGH);digitalWrite(COM2,LOW);digitalWrite(COM3,HIGH);digitalWrite(COM4,HIGH);break;c
13、ase 3:digitalWrite(COM1,HIGH);digitalWrite(COM2,HIGH);digitalWrite(COM3,LOW);digitalWrite(COM4,HIGH);break;case 4:digitalWrite(COM1,HIGH);digitalWrite(COM2,HIGH);digitalWrite(COM3,HIGH);digitalWrite(COM4,LOW);break;default:break;digitalWrite(A,tablenum0);digitalWrite(B,tablenum1);digitalWrite(C,tabl
14、enum2);digitalWrite(D,tablenum3);/arduino:(4) ->74ls48p(7)/arduino:(5) ->74ls48p(1)/arduino:(6) ->74ls48p(2)/arduino:(7) ->74ls48p(6)/arduino:(9) ->74ls48p(6)/arduino:(10) ->74ls48p(8)/arduino:(11) ->74ls48p(9)/arduino:(12) ->74ls48p(12) /對(duì)應(yīng) hgfedcba /0 /1/2/3/4/5/6/7/8/9/設(shè)置為
15、輸出引腳/第一位顯示0/二位顯示1/第三位顯示2/第四位顯示3/去除的余輝/選通/選擇1位/選擇2位/ /選擇位3/ /選擇位4/查詢代碼表以下是主程序:此課程設(shè)計(jì)的完整的程序展示在附錄中。4. 軟件仿真 Proteus軟件是用以測(cè)試的程序的功能: 在protues中建模如下:圖13 仿真連接圖圖中使用了以下器件的一部分: 并生成程序?qū)?yīng)的HEX文件,放入Atmal328P中:圖14 元件編輯窗口圖 然后模擬:圖15 仿真運(yùn)行圖 所有預(yù)想的功能都能實(shí)現(xiàn)。運(yùn)行后,按動(dòng)不同按鈕,顯示器上能顯示相應(yīng)的時(shí)間。達(dá)到具體時(shí)間可見相應(yīng)的LED燈的閃滅,和蜂鳴器的反應(yīng)。由此驗(yàn)證程序是正確的,建模也是正確的,程
16、序和仿真能達(dá)到預(yù)期的效果。5. 系統(tǒng)的安裝調(diào)試說明把所有器件按照?qǐng)D2進(jìn)行連接,總裝圖如下:圖16 接線實(shí)物圖 對(duì)于沒有接蜂鳴器在這里表示非常遺憾。因?yàn)槲姨准锩嬗性捶澍Q器有問題,就算直接接電源和地也無法響應(yīng)。 但是由于蜂鳴器接的是13串口,這個(gè)串口自帶一個(gè)led燈,這里勉強(qiáng)可以通過LED燈的反應(yīng)來代替蜂鳴器的反應(yīng),進(jìn)行觀察。 其他所有預(yù)想的功能都能實(shí)現(xiàn)。運(yùn)行后,有時(shí)候按動(dòng)不同按鈕,顯示器上能顯示相應(yīng)的時(shí)間。達(dá)到具體時(shí)間可見相應(yīng)的LED燈的閃滅,和蜂鳴器的反應(yīng)。由此驗(yàn)證程序是正確的,建模也是正確的,程序和仿真能達(dá)到預(yù)期的效果。 也就是說按鈕有時(shí)候會(huì)不靈,這時(shí)候時(shí)間會(huì)繼續(xù)顯示,到了相應(yīng)時(shí)間點(diǎn)所對(duì)應(yīng)
17、的用電器(LED燈)也會(huì)反應(yīng)。為此做出了改進(jìn),在程序上加入了上拉響應(yīng),硬件上加入了一個(gè)電阻。大部分時(shí)間,所有功能能夠正常運(yùn)行。 6. 總結(jié)通過微控制器課程設(shè)計(jì),我不僅加深了對(duì)微控制器理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會(huì)將理論很好地聯(lián)系實(shí)際,并不斷地去開動(dòng)自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時(shí),更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會(huì)了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過程,也好比是我們?nèi)祟惓砷L(zhǎng)的歷程,常有一些不如意,也許這就是在對(duì)我們提出了挑戰(zhàn),
18、勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會(huì)為我們而敲響。 當(dāng)然,我的設(shè)計(jì)還存在著一些缺陷,有待于在將來設(shè)計(jì)中進(jìn)一步提高,在此懇請(qǐng)老師批評(píng)指正。這次設(shè)計(jì)也讓我懂得細(xì)節(jié)決定成敗,在以后的設(shè)計(jì)中我會(huì)嚴(yán)格吸取教訓(xùn),做的更好! 在設(shè)計(jì)過程中,通過針對(duì)性地查找資料,了解了些電子方面的資料,既增長(zhǎng)了自己見識(shí),補(bǔ)充最新的專業(yè)知識(shí),又提高了自己的應(yīng)用能力。這次課程設(shè)計(jì)對(duì)我以前學(xué)過的理論知識(shí)起到了很好的回顧作用,以前課堂學(xué)習(xí)時(shí)不夠清楚如何應(yīng)用所學(xué)知識(shí),對(duì)所學(xué)的課程不能很好的融會(huì)貫通。但現(xiàn)在通過課程設(shè)計(jì),讓我很好的運(yùn)用了模擬電路、數(shù)字電路、微控制器原理方面的知識(shí),對(duì)其加以進(jìn)一步的消化和鞏固,并進(jìn)
19、行很好的鏈接。通過校園作息時(shí)間控制系統(tǒng)的設(shè)計(jì),讓我體會(huì)到微控制器使用的廣泛性以及其重要性,微控制器技術(shù)的出現(xiàn)給現(xiàn)代控制領(lǐng)域帶來了一項(xiàng)新的改變。目前,微控制器在控制系統(tǒng)諸多領(lǐng)域中得到了極為廣泛的應(yīng)用,具有很好的穩(wěn)定性,更快和更準(zhǔn)確的運(yùn)算精度,推動(dòng)了學(xué)習(xí)生產(chǎn),影響著人們的工作和學(xué)習(xí)。所以我們要不斷學(xué)習(xí)加強(qiáng)這方面的知識(shí)以及相關(guān)的知識(shí),比如電路板設(shè)計(jì)、匯編語(yǔ)言編程等??傊@次課程設(shè)計(jì)讓我把理論設(shè)計(jì)和動(dòng)手實(shí)踐相結(jié)合、鞏固基礎(chǔ)知識(shí)與培養(yǎng)創(chuàng)新意識(shí)相結(jié)合、個(gè)人作用和集體協(xié)作相結(jié)合等方面全面的培養(yǎng)學(xué)生的全面素質(zhì)。這些在我今后的學(xué)習(xí)和工作當(dāng)中都會(huì)有很大的幫助。最后,我要感謝我的指導(dǎo)老師,是他給了我許多的幫助。7.
20、 參考文獻(xiàn)1.Arduino Programming in 24 Hours. Richard Blum2.Arduino程序設(shè)計(jì)指南. Richard Blum3. Introduction to Arduino-A piece of cake.Alan G. Smith8. 附錄完整程序如下:code/*seg_a:(11) ->74ls48p(13) seg_b:(7) ->74ls48p(12) seg_c:(4) ->74ls48p(11) seg_d:(2) ->74ls48p(10) seg_e:(1) ->74ls48p(9) seg_f:(10)
21、 ->74ls48p(15) seg_g:(5) ->74ls48p(14) */ #define A 4 /arduino:(4) ->74ls48p(7)#define B 5 /arduino:(5) ->74ls48p(1)#define C 6 /arduino:(6) ->74ls48p(2)#define D 7 /arduino:(7) ->74ls48p(6)#define COM1 9 /arduino:(9) ->74ls48p(6)#define COM2 10 /arduino:(10) ->74ls48p(8)#def
22、ine COM3 11 /arduino:(11) ->74ls48p(9)#define COM4 12 /arduino:(12) ->74ls48p(12)int T=449;int i=0; int music =0; int exercise= 1; int bee= 13; int c=2; int a=3; unsigned char table104 = 0,0,0,0, /0 /correspond to:hgfedcba 1,0,0,0, /1 0,1,0,0, /2 1,1,0,0, /3 0,0,1,0, /4 1,0,1,0, /5 0,1,1,0, /6
23、 1,1,1,0, /7 0,0,0,1, /8 1,0,0,1 /9;void setup() pinMode(A,OUTPUT); /設(shè)置為輸出引腳 pinMode(B,OUTPUT); pinMode(C,OUTPUT); pinMode(D,OUTPUT); pinMode(COM1,OUTPUT); pinMode(COM2,OUTPUT); pinMode(COM3,OUTPUT); pinMode(COM4,OUTPUT); pinMode(c,INPUT_PULLUP); pinMode(a,INPUT_PULLUP); pinMode(0, OUTPUT); pinMode(
24、1, OUTPUT); pinMode(13, OUTPUT); pinMode(c,LOW); pinMode(a,LOW); digitalWrite(13, LOW ); digitalWrite(0, LOW ); digitalWrite(1, LOW ); attachInterrupt(0,changeTime, CHANGE); attachInterrupt(1,again, CHANGE); void loop() T+; if (T>=720) T=449; if (digitalRead(c)=LOW) T+; if(T>720) T=449; if (di
25、gitalRead(a)=LOW) T=449; if (T>=450&&T<480) digitalWrite(0, HIGH); else digitalWrite(0, LOW); if (T>=495&&T<505) digitalWrite(1, HIGH); else digitalWrite(1, LOW); if (T=480|T=525 |T=540|T=590|T=610|T=660|T=670|T=720) digitalWrite(13, HIGH); else digitalWrite(13, LOW);for(i= 0; i< 50; i+) Serial.println(T); Display(4,T%10); /第4位 delay(5); Display(3,(T-(T%10)/10)%6); /第3位 delay(5); Display(2,(T-(T%60)/60)%10); /第2位 delay(5); Display(1,(T-(T%600)/600); /第1位 delay(5); void Display(unsigned char com,unsigned char num) /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 13963-2025復(fù)印(包括多功能)設(shè)備術(shù)語(yǔ)
- geren借款合同范本
- 企業(yè)品牌策劃設(shè)計(jì)合同范本
- 產(chǎn)品維修授權(quán)合同范本
- 償還貨款合同范本
- 割松油合同范例
- 勞務(wù)分包合同范本2003
- 公司購(gòu)銷合同范本正規(guī)
- 男友出租合同范本
- 撰稿勞務(wù)合同范本
- 《智慧旅游認(rèn)知與實(shí)踐》課件-第九章 智慧旅行社
- 馬工程《刑法學(xué)(下冊(cè))》教學(xué)課件 第16章 刑法各論概述
- 英國(guó)簽證戶口本翻譯模板(共4頁(yè))
- 現(xiàn)金調(diào)撥業(yè)務(wù)
- 空白個(gè)人簡(jiǎn)歷表格1
- 廣東省中小學(xué)生休學(xué)、復(fù)學(xué)申請(qǐng)表
- GPIB控制VP-8194D收音信號(hào)發(fā)生器指令
- 建立良好師生關(guān)系
- 鋼管、扣件、絲杠租賃明細(xì)表
- 施工現(xiàn)場(chǎng)臨電臨水施工方案
評(píng)論
0/150
提交評(píng)論