第一篇:單片機(jī)(飛思卡爾)課程設(shè)計報告
2011年 6 月
1設(shè)計要求:
LCD的第一行顯示運算式,第二行顯示運算結(jié)果。比如要計算機(jī)12+34,在鍵盤上按下相應(yīng)鍵后,LCD的第一行顯示“12+34”,按下“=”號后,LCD的第二行顯示“=46”。其他功能參考普通計算器。
擴(kuò)展功能:負(fù)數(shù)、小數(shù)運算、復(fù)合運算。連續(xù)運算、2進(jìn)制、8進(jìn)制運算。
亦可直接在LCD上顯示一個計算器,用觸摸屏操作。
2設(shè)計思路
在LCD上顯示一個與鍵盤功能相同的計算器,可實現(xiàn)用鍵盤、觸摸屏混合操作。
1、在LCD顯示屏上按下某一個符號或者在鍵盤上某一個按鍵符號時,將相應(yīng)字符存入數(shù)組中
并顯示在LCD上。
2按下“=”就運算處理并在第二行顯示計算結(jié)果。
3、按下“C”就進(jìn)行退格操作。
4、按下“=”后顯示結(jié)果,并且能連續(xù)運算,其中,將操作數(shù)和操作碼全部顯示在第一行,第二行顯示當(dāng)前計算結(jié)果。
5、當(dāng)出現(xiàn)連續(xù)按兩個操作符、按等號前一個字符為操作符、最開始按下的不是操作數(shù)等非法輸
入時,自動在LCD屏幕上報錯并實現(xiàn)清屏重啟計算器。
3設(shè)計步驟
1、添加基本計算器的+、-、*、/ 四則運算和退格功能;
2、在1的基礎(chǔ)上實現(xiàn)復(fù)合運算和連續(xù)操作;
3、在LCD上通過調(diào)用函數(shù)在下方畫出計算器的按鍵圖畫并實現(xiàn)與鍵盤同等的功能;
4、綜合調(diào)試并進(jìn)行優(yōu)化。
4程序流程(含流程圖及詳細(xì)步驟解釋)
詳細(xì)步驟解釋
程序運行時即進(jìn)行初始化,在LCD顯示屏上顯示計算器界面。接著判斷是否有鍵盤按鍵按下或者有觸屏,沒有就繼續(xù)掃描判斷,有則將按下的鍵所對應(yīng)的字符存入數(shù)組savedata。在此之中,也在判斷鍵入的字符是否是退格鍵,如果是則將上一個字符清除掉。當(dāng)檢測到字符“=”時,將savedata數(shù)組中所存儲的字符分離,其中,數(shù)值存在操作數(shù)數(shù)組op1中,操作符存在操作符數(shù)組op2中,然后進(jìn)行運算。運算開始時,先掃描op2數(shù)組,當(dāng)檢測到操作符則將op1數(shù)組中對應(yīng)操作符前后的兩個操作數(shù)進(jìn)行運算(先乘除后加減),結(jié)果放在兩個操作數(shù)的前一個的位置,將op1和op2數(shù)組向前移動一個位置以覆蓋已經(jīng)運算過的操作數(shù)和操作符。當(dāng)繼續(xù)進(jìn)行連續(xù)運算時,將字符繼續(xù)存到savedata數(shù)組后面,否則清除op1的值,將字符存到savedata數(shù)組第一個開始的位置。
程序中考慮了各種非法輸入的情況:當(dāng)連續(xù)輸入兩個操作符時、當(dāng)按“=”時檢測到前一個字符是操作符時、當(dāng)程序第一個字符不是操作數(shù)時,都報錯,自動清屏并重啟計算器。
按照實際中計算器的原則,當(dāng)按下“=”后,退格鍵不能清除,比如1+2=3;不能將“2”、“+”、“1”退格。如果是連續(xù)運算,繼續(xù)按下“-3+8/2”時,退格鍵有效,能清“-3+8/2”中的字符。清除后繼續(xù)連續(xù)運算。
5操作步驟及方法
下載完程序后:
1、普通計算:例如計算123+456,直接在顯示屏上連續(xù)觸發(fā)“123+456”,然后觸“=” 就可以在第二行顯示=579;
2、連續(xù)運算。例如先計算123+456,結(jié)果為579,此時再按下“+” “1” 先在第一行顯示123+456+1,在第二行就會顯示=580,再按下“-” “9”,第一行顯示123+456+1-9,在第二行就會顯示=571,依次類推。
3、當(dāng)輸入的字符是非法輸入時,在LCD第三行顯示 illeagle enter!然后自動清屏重啟計算器。
6設(shè)計過程遇到的問題、原因及解決方法
第二篇:飛思卡爾實習(xí)報告
中南大學(xué)
Central South University
飛思卡爾實驗報告
學(xué)生姓名:應(yīng)曉偉 指導(dǎo)老師:李志民 學(xué)院:信息科學(xué)與工程學(xué)院 專業(yè)班級:自動化1106班 完成日期:2013年9月12日
目錄
一、實驗?zāi)康摹?.2
二、實驗內(nèi)容………………………………………………………..2
三、實驗電路圖…………………………………………………….3
四、實驗說明………………………………………………………..6
五、實驗方法及步驟…………………………………………....7
六、實驗總結(jié)……………………………………………………….10
一、實習(xí)目的
1、熟悉飛思卡爾試驗箱的操作。
2、掌握codewarrierr軟件的使用方法。
3、初步了解如何使用c語言編寫飛思卡爾單片機(jī)程序。
二、實驗內(nèi)容
實驗1.1
流水燈
利用PORTB 口的低4 位驅(qū)動4 位LED 燈,實現(xiàn)4 位LED 燈明燈流水操作。
實驗1.2
撥碼開關(guān)控LED 燈
讀取PORTB 口高4 位連接的4 位撥碼開關(guān)狀態(tài),將讀取到的撥碼開關(guān)狀態(tài)用 PORTB 口低4 位連接的LED 燈顯示。
實驗1.3
動態(tài)數(shù)碼管顯示
系統(tǒng)上電后首先單8 左移顯示,然后0-7 順次左移顯示,緊接著7-0 順次 右移顯示,再 0-7 全部閃爍顯示,并重復(fù)以上動作。
實驗1.4 矩陣鍵盤
編寫鍵盤掃描程序,當(dāng)矩陣鍵盤模塊有按鍵按下時,讀取鍵值,并利用數(shù)碼 管顯示鍵值。系統(tǒng)上電后8 位數(shù)碼管以5-4-3-2-1 倒計數(shù)顯示,待顯示值為1 后,數(shù)碼管清除顯示,此時按下矩陣鍵盤按鍵,數(shù)碼管顯示對應(yīng)鍵值。
實驗1.5 LCD(0802)顯示
利用LCD(0802)液晶顯示器,顯示兩排數(shù)字。
實驗1.6 LCD(12864)顯示
使用OCM12864-2 液晶顯示器,顯示漢字。
實驗1.7 蜂鳴器驅(qū)動
利用GPIO 端口中的某一位驅(qū)動蜂鳴器。
實驗1.8 繼電器驅(qū)動
利用GPIO 端口中的某一位驅(qū)動繼電器。
三、實驗電路圖
實驗1.1 流水燈
實驗1.2 撥碼開關(guān)控LED 燈
實驗1.3 動態(tài)數(shù)碼管顯示
實驗1.4 矩陣鍵盤
實驗1.5 LCD(0802)顯示
實驗1.6 LCD(12864)顯示
實驗1.7 蜂鳴器驅(qū)動
實驗1.8 繼電器驅(qū)動
四、實驗說明
實驗1.1 流水燈
1、PORTB 口寄存器初始化。
2、送數(shù)據(jù)給PORTB 口顯示,并延時一定時間。
3、改變數(shù)據(jù),重復(fù)2。
實驗1.2 撥碼開關(guān)控LED 燈
1、PORTB 口寄存器初始化;
2、讀取PORTB 數(shù)據(jù),將數(shù)據(jù)右移4 位;送PORTB 口顯示;
3、重復(fù)2。
實驗1.3 動態(tài)數(shù)碼管顯示
1、GPIO 相關(guān)寄存器初始化;
2、選中數(shù)碼管第一位,送段碼顯示第一個數(shù)據(jù);
3、移動位碼,送下個數(shù)據(jù)的段碼,以此類推,實現(xiàn)移位顯示與動態(tài)顯示。
實驗1.4 矩陣鍵盤
1、GPIO 相關(guān)寄存器的初始化。2、8 位數(shù)碼管以5-4-3-2-1 倒計數(shù)顯示。
3、掃描按鍵,鍵值送數(shù)碼管顯示。
4、重復(fù)操作3。
實驗1.5 LCD(0802)顯示
1、驅(qū)動LCD(0802)GPIO 口相關(guān)寄存器初始化;
2、LCD(0802)初始化;
3、在LCD 屏上分行顯示“01234567”和“ABCDEFGH”。
實驗1.6 LCD(12864)顯示
1、驅(qū)動LCD(12864)的GPIO 相關(guān)寄存器初始化;
2、LCD(12864)控制器的初始化,延時及清屏;
3、在LCD 屏上顯示“歡迎使用”。
實驗1.7 蜂鳴器驅(qū)動
1、相應(yīng)端口寄存器初始化;
2、送數(shù)據(jù)到相應(yīng)I/O 口,間斷驅(qū)動蜂鳴器。
實驗1.8 繼電器驅(qū)動
1、相應(yīng)端口寄存器初始化;
2、送數(shù)據(jù)到相應(yīng)I/O 口,驅(qū)動繼電器間歇動作。
五、實驗步驟與方法
實驗1.1 流水燈
1、接線說明:
本實驗無需外部接線,只需要使用跳線帽短接核心板上JP_1 處標(biāo)號為PB0~ PB3 的跳線即可。
2、運行程序,觀察LED 燈亮滅情況。
實驗1.2 撥碼開關(guān)控LED 燈
1、接線說明:
本實驗無需外部接線,只需要使用跳線帽短接核心板上JP_1 處標(biāo)號為PB0~ PB7 的跳線即可。
2、運行程序,改變撥碼開關(guān)的狀態(tài),觀察LED 燈的顯示變化。
實驗1.3 動態(tài)數(shù)碼管顯示
實驗系統(tǒng)底板的8 位8 段數(shù)碼管模塊的段碼接線說明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)* 注1:J_SEG-1 表示插座的標(biāo)識名稱,后面括號中的A 表示該引腳的作用,后文均使用該方法描述,就不再重復(fù)說明了。
*注2:IO065 后括號中的PA0 表示當(dāng)HF-ExBoard 實驗系統(tǒng)使用 HF-MC9S12XS128EVB-A 核心板時,實驗系統(tǒng)底板 的IO065 接口對應(yīng) MC9S12XS128EVB 的PA0,后文均使用該方法描述,就不再重復(fù)說明了。8 位8 段數(shù)碼管模塊的位碼接線說明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)*注3:IO051(PH7)對應(yīng)的COM0 為8 位數(shù)碼管中最左邊第一位。
2、運行程序,觀察數(shù)碼管的顯示。
實驗1.4 矩陣鍵盤
實驗系統(tǒng)底板的4x4 矩陣鍵盤接線說明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)實驗系統(tǒng)底板的8 位8 段數(shù)碼管模塊的段碼接線說明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段數(shù)碼管模塊的位碼接線說明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
2、運行程序,觀察數(shù)碼管顯示變化。按下按鍵,觀察數(shù)碼管顯示變化。
實驗1.5 LCD(0802)顯示
實驗系統(tǒng)底板0802 液晶模塊的LCD 數(shù)據(jù)口信號接線說明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)實驗系統(tǒng)底板0802 液晶模塊的LCD 控制口信號接線說明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)
2、運行程序,觀察實驗現(xiàn)象。
實驗1.6 LCD(12864)顯示 實驗系統(tǒng)底板128x64 液晶模塊的液晶數(shù)據(jù)口信號接線說明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)實驗系統(tǒng)底板128x64 液晶模塊的液晶控制口信號接線說明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)注:實驗指導(dǎo)書提供的接線說明根據(jù)金鵬OCM12864-2 型液晶編寫,如果 使用其它型號的12864 液晶模塊,可能液晶模塊的引腳定義有差異,只需要依據(jù)
具體使用的液晶引腳修改接線即可完成該實驗。
2、運行程序,觀察實驗現(xiàn)象。
實驗1.7 蜂鳴器驅(qū)動
實驗系統(tǒng)底板的蜂鳴器控制模塊區(qū)域的蜂鳴器控制端接線說明: J_ Beep(Beep)----IO061(PE3)
2、運行程序,觀察現(xiàn)象。
實驗1.8 繼電器驅(qū)動
實驗系統(tǒng)底板的繼電器控制模塊的繼電器控制端接線說明: J_Relay(Relay)----IO061(PE3)使用跳線帽短接實驗系統(tǒng)底板繼電器控制模塊JP_LED 處的跳線。使用跳線帽短接實驗系統(tǒng)底板繼電器控制模塊JP_Power 處的跳線。
2、運行程序,觀察現(xiàn)象。
六、實驗總結(jié)
通過這幾天的上機(jī)實驗,讓我學(xué)會了很多新的知識?;菊莆樟薱odewarrierr的使用方法,能夠利用該軟件熟練地編譯下載程序。通過這幾天的學(xué)習(xí),讓我對飛思卡爾試驗箱也有了一定的了解,而且這八個實驗做下來也感覺很有意思,每次對代碼進(jìn)行一些小的改動出來效果以后,都感覺挺有趣的。不過在這幾天的學(xué)習(xí),我也發(fā)現(xiàn)了一些問題,那就是才編程方面的缺陷,有些以前的知識都已經(jīng)忘了,有些程序都看不太懂了,我覺得以后我應(yīng)該好好復(fù)習(xí)一下,把以前學(xué)的知識都拿回來。
第三篇:飛思卡爾實驗報告
中南大學(xué)
Central South University
飛思卡爾實驗報告
學(xué)生姓名:葉吉東
指導(dǎo)老師:王擊
學(xué)院:信息科學(xué)與工程學(xué)院
專業(yè)班級:自動化1204班
完成日期:2014年09月21日
目錄
實驗1.1 流水燈………………………………..………………………………...3 實驗1.2 撥碼開關(guān)控LED 燈…………………....…………………………........4 實驗1.3 動態(tài)數(shù)碼管顯示…………………………….………………………....5 實驗1.4 矩陣鍵盤……………………………………………………………....6 實驗1.5 LCD(0802)顯示………………………………………………………..8 實驗1.6 LCD(12864)顯示…………………………………….………………..10 實驗1.7 蜂鳴器驅(qū)動………………………………………………………..….11 實驗1.8 繼電器驅(qū)動…………………………………..……………………….12
實驗1.1 流水燈
一、實驗?zāi)康模?/p>
1、掌握GPIO 口基本寄存器的使用,掌握如何將GPIO 作為輸出口。
2、初步了解如何使用C 語言編寫飛思卡爾單片機(jī)程序。
二、實驗內(nèi)容
利用PORTB 口的低4 位驅(qū)動4 位LED 燈,實現(xiàn)4 位LED 燈明燈流水操作。
三、實驗電路圖
四、實驗說明
1、PORTB 口寄存器初始化。
2、送數(shù)據(jù)給PORTB 口顯示,并延時一定時間。
3、改變數(shù)據(jù),重復(fù)2。
五、實驗方法及步驟
1、接線說明:
本實驗無需外部接線,只需要使用跳線帽短接核心板上JP_1 處標(biāo)號為PB0~ PB3 的跳線即可。
2、運行程序,觀察LED 燈亮滅情況。
六、心得體會
這是我利用單片機(jī)進(jìn)行的第一次實驗,之前也沒有接觸過單片機(jī),通過這次實驗我大概了解了單片機(jī)的編程方法。它跟我們上個學(xué)期學(xué)過的微機(jī)原理很像,編程方法非常類似,這使得我也很容易看懂這個程序。最后我還做了課后思考題,發(fā)現(xiàn)只要延時時間縮短就可以達(dá)到閃爍的效果了。通過這一次實驗讓我對單片機(jī)有了初步的了解。為接下來的實驗打下了基礎(chǔ)。實驗1.2 撥碼開關(guān)控LED 燈
一、實驗?zāi)康模?/p>
1、掌握GPIO 口的讀寫操作。
2、進(jìn)一步了解C 語言在飛思卡爾單片機(jī)中的編程規(guī)范及技巧。
二、實驗內(nèi)容:
讀取PORTB 口高4 位連接的4 位撥碼開關(guān)狀態(tài),將讀取到的撥碼開關(guān)狀態(tài)用 PORTB 口低4 位連接的LED 燈顯示。
三、實驗電路圖:
四、實驗說明:
1、PORTB 口寄存器初始化;
2、讀取PORTB 數(shù)據(jù),將數(shù)據(jù)右移4 位;送PORTB 口顯示;
3、重復(fù)2。
五、實驗方法及步驟:
1、接線說明:
本實驗無需外部接線,只需要使用跳線帽短接核心板上JP_1 處標(biāo)號為PB0~ PB7 的跳線即可。
2、運行程序,改變撥碼開關(guān)的狀態(tài),觀察LED 燈的顯示變化。
六、心得體會
這一次的實驗跟第一次的實驗基本類似,知識這次所需要連的線要多一些而已。通過這一次的實驗,進(jìn)一步了解GPIO 口的讀寫操作。進(jìn)一步了解C 語言在飛思卡爾單片機(jī)中的編程規(guī)范及技巧。
實驗1.3 動態(tài)數(shù)碼管顯示
一、實驗?zāi)康模?/p>
1、了解數(shù)碼管動態(tài)顯示的方法。
2、掌握2803 的驅(qū)動原理。
二、實驗內(nèi)容:
系統(tǒng)上電后首先單8 左移顯示,然后0-7 順次左移顯示,緊接著7-0 順次 右移顯示,再 0-7 全部閃爍顯示,并重復(fù)以上動作。
三、實驗電路圖:
四、實驗說明:
1、GPIO 相關(guān)寄存器初始化;
2、選中數(shù)碼管第一位,送段碼顯示第一個數(shù)據(jù);
3、移動位碼,送下個數(shù)據(jù)的段碼,以此類推,實現(xiàn)移位顯示與動態(tài)顯示。
五、實驗方法及步驟:
1、接線說明: 實驗系統(tǒng)底板的8 位8 段數(shù)碼管模塊的段碼接線說明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段數(shù)碼管模塊的位碼接線說明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
六、心得體會:
這次的實驗連線比較復(fù)雜,這使得我第一次的連線并沒有連正確,演示的時候出來的是亂碼。然后我就慢慢檢查,終于發(fā)現(xiàn)了錯誤所在,是我并沒有看清實驗指導(dǎo)書連線而是憑著自己的感覺經(jīng)驗然后連線的,結(jié)果就出錯了,所以我們做實驗額時候一定得細(xì)心,要不然就會容易出錯??粗鴮嶒炏渖系膶嶒灲Y(jié)果,就聯(lián)想到了我們?nèi)粘I钪械教幙梢姷腖ED燈。這讓我越來越覺得單片機(jī)實現(xiàn)的功能在生活中到處可見。
實驗1.4 矩陣鍵盤
一、實驗?zāi)康模?/p>
1、了解矩陣鍵盤掃描原理。
2、掌握矩陣鍵盤編程方法。
二、實驗內(nèi)容:
編寫鍵盤掃描程序,當(dāng)矩陣鍵盤模塊有按鍵按下時,讀取鍵值,并利用數(shù)碼 管顯示鍵值。系統(tǒng)上電后8 位數(shù)碼管以5-4-3-2-1 倒計數(shù)顯示,待顯示值為1 后,數(shù)碼管清除顯示,此時按下矩陣鍵盤按鍵,數(shù)碼管顯示對應(yīng)鍵值。
三、實驗電路圖:
四、實驗說明:
1、GPIO 相關(guān)寄存器的初始化。2、8 位數(shù)碼管以5-4-3-2-1 倒計數(shù)顯示。
3、掃描按鍵,鍵值送數(shù)碼管顯示。
4、重復(fù)操作3。
五、實驗方法及步驟:
1、接線說明:
實驗系統(tǒng)底板的4x4 矩陣鍵盤接線說明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)實驗系統(tǒng)底板的8 位8 段數(shù)碼管模塊的段碼接線說明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段數(shù)碼管模塊的位碼接線說明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
2、運行程序,觀察數(shù)碼管顯示變化。按下按鍵,觀察數(shù)碼管顯示變化。
六、心得體會:
這次做的是矩陣鍵盤的實驗,通過前幾次實驗,對單片機(jī)實驗有了一定的了解,所以我這次并沒有一開始就連線,我先打開程序然后花了好長一段時間了解矩陣鍵盤掃描原理,發(fā)現(xiàn)程序是通過不斷循環(huán)掃描的方法來檢測按鍵是否按下。通過這次試驗我基本了解矩陣鍵盤的編程方法。
實驗1.5 LCD(0802)顯示
一、實驗?zāi)康模?/p>
1、掌握GPIO 口控制外設(shè)的方法。
2、熟悉LCD(0802)的指令系統(tǒng)。
二、實驗內(nèi)容: 利用LCD(0802)液晶顯示器,顯示兩排數(shù)字。
三、實驗電路圖:
四、實驗說明:
1、驅(qū)動LCD(0802)GPIO 口相關(guān)寄存器初始化;
2、LCD(0802)初始化;
3、在LCD 屏上分行顯示“01234567”和“ABCDEFGH”。
五、實驗方法及步驟:
1、接線說明:
實驗系統(tǒng)底板0802 液晶模塊的LCD 數(shù)據(jù)口信號接線說明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)
實驗系統(tǒng)底板0802 液晶模塊的LCD 控制口信號接線說明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)
2、運行程序,觀察實驗現(xiàn)象。
六、心得體會:
這次實驗我還是像上次一樣,先把實驗內(nèi)容看一下,然后就直接看程序。剛開始的程序是LCD(0802)GPIO 口相關(guān)寄存器初始化和LCD(0802)初始化,看了半個多小時也是似懂非懂,接下來看的是LCD顯示“01234567”和“ABCDEFGH”的程序,這些程序應(yīng)該都是應(yīng)該查表得出來的,我也沒有必要看懂,所以我就連線進(jìn)行實驗了,通過這次試驗我還是能夠初步掌握GPIO 口控制外設(shè)的方法和熟悉LCD(0802)的指令系統(tǒng)。
實驗1.6 LCD(12864)顯示
一、實驗?zāi)康模?/p>
1、掌握GPIO 口控制外設(shè)的方法。
2、熟悉LCD(12864)的指令系統(tǒng)。
二、實驗內(nèi)容:
使用OCM12864-2 液晶顯示器,顯示漢字。
三、實驗電路圖:
四、實驗說明:
1、驅(qū)動LCD(12864)的GPIO 相關(guān)寄存器初始化;
2、LCD(12864)控制器的初始化,延時及清屏;
3、在LCD 屏上顯示“歡迎使用”。
五、實驗方法及步驟:
1、接線:
實驗系統(tǒng)底板128x64 液晶模塊的液晶數(shù)據(jù)口信號接線說明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)實驗系統(tǒng)底板128x64 液晶模塊的液晶控制口信號接線說明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)實驗1.7 蜂鳴器驅(qū)動
一、實驗?zāi)康模?/p>
了解蜂鳴器的使用和驅(qū)動方法。
二、實驗內(nèi)容:
利用GPIO 端口中的某一位驅(qū)動蜂鳴器。
三、實驗電路圖:
四、實驗說明:
1、相應(yīng)端口寄存器初始化;
2、送數(shù)據(jù)到相應(yīng)I/O 口,間斷驅(qū)動蜂鳴器。
五、實驗方法及步驟:
1、接線說明:
實驗系統(tǒng)底板的蜂鳴器控制模塊區(qū)域的蜂鳴器控制端接線說明: J_ Beep(Beep)----IO061(PE3)
2、運行程序,觀察現(xiàn)象。
六、心得體會:
通過本次實驗,熟悉了實驗板中蜂鳴器工作原理,掌握編程控制蜂鳴器播 放音樂。掌握單片機(jī)編程控制蜂鳴器發(fā)出不同頻率聲音的方法;雖然在本次試驗中遇到了的問題,都在同學(xué)和老師的幫助下解決了,同時還進(jìn)一步了解了單片機(jī)方面的有關(guān)知識。
實驗1.8 繼電器驅(qū)動
一、實驗?zāi)康模?/p>
了解繼電器的使用和驅(qū)動方法。
二、實驗內(nèi)容:
利用GPIO 端口中的某一位驅(qū)動蜂鳴器。
三、實驗電路圖:
四、實驗說明:
1、相應(yīng)端口寄存器初始化;
2、送數(shù)據(jù)到相應(yīng)I/O 口,驅(qū)動繼電器間歇動作。
五、實驗方法及步驟:
1、接線說明:
實驗系統(tǒng)底板的繼電器控制模塊的繼電器控制端接線說明: J_Relay(Relay)----IO061(PE3)使用跳線帽短接實驗系統(tǒng)底板繼電器控制模塊JP_LED 處的跳線。使用跳線帽短接實驗系統(tǒng)底板繼電器控制模塊JP_Power 處的跳線。
2、運行程序,觀察現(xiàn)象。
六、心得體會:
通過這八天的實驗和八次實驗,讓我學(xué)會了很多新的知識。能夠利用該軟件熟練地編譯下載程序。通過這幾天的學(xué)習(xí),讓我對飛思卡爾試驗箱也有了一定的了解,而且這八個實驗做下來也感覺很有意思,每次對代碼進(jìn)行一些小的改動出來效果以后,都感覺挺有趣的。不過在這幾天的學(xué)習(xí),我也發(fā)現(xiàn)了一些問題,那就是才編程方面的缺陷,有些以前的知識都已經(jīng)忘了,有些程序都看不太懂了,我覺得以后我應(yīng)該好好復(fù)習(xí)一下,把以前學(xué)的知識都拿回來。
第四篇:飛思卡爾智能車總結(jié)
關(guān)于飛思卡爾智能車尋跡
飛思卡爾智能車競賽是飛思卡爾公司贊助的由全國本科院校共同參與的一項大學(xué)生科技競賽。今年安徽省作為第一屆省級賽區(qū),很榮幸我們??圃盒R灿袡C(jī)會共同參與。因為專業(yè)知識的匹配我們系在我們專業(yè)選拔了一些同學(xué),我很高興能和我的隊員們并肩作戰(zhàn)。由于我們學(xué)校是第一參加一點經(jīng)驗都沒有,指導(dǎo)老師也是和我們一步步探索。我們這次使用B型車做的是光電尋跡。根據(jù)需要老師把這次任務(wù)劃分為幾個模塊(尋跡模塊、電源模塊、驅(qū)動模塊、測速模塊)我的任務(wù)是做好尋跡模塊。剛開始對于黑白尋跡,我唯一的感覺就是“神奇”。后來查閱資料,通過老師的講解,知道了它的尋跡原理。所謂的尋跡就是根據(jù)黑白顏色的反光程度不一樣(白色全部反射,黑色全部吸收),來判別黑白線。
對于我們來說沒有學(xué)過傳感器的知識,在這方面還是有點含糊,所以自己專門花了一段時間來學(xué)習(xí)傳感器,通過自己的學(xué)習(xí)懂得了傳感器在電路中的作用。之后的一段時間就是對材料的選取,市場上的光電管品類繁多,每個學(xué)校用的也不一樣,我們要的是一款適合自己車的光電管,剛開始我在網(wǎng)上找了一些電路圖,并在南京買進(jìn)了一些光電管,焊接好電路候發(fā)現(xiàn)跟本沒有達(dá)到自己想要的那種結(jié)果,之前一直以為是光電管的原因,后來又把光電發(fā)射與接受一體管改上去還是不行。那段時間一直耗在那個電路上停滯不前,一直想不通是什么原因。也許是靈感的,也許是出于好玩我改變了和接收管串聯(lián)的電阻阻值(把
原
來的10K
改
為
100K)得到了意想不到的效果——在不加套管的情況下接收距離提高到了十幾厘米。但是對于這樣的結(jié)果還是有些不理想因為為防止光電管之間互相的影響每個光電管得加上套管,在這種情況下我們買的光電管達(dá)不到要求。通過上網(wǎng)查詢,翻閱資料,和一次次的實驗我們最后選用了合肥一家的光電管(型號)。在這里我想說的是別人的經(jīng)驗可以做參考但是不一定能做為自己的,就像我前面選擇光電管的電路圖,那也許對有些場合適用。作為探索階段一步步的實驗永遠(yuǎn)是最關(guān)鍵的。
選好光電管之后就是焊接電路,通過借鑒其他學(xué)校的經(jīng)驗,我們的初定方案是用14對光電管。由于條件的限制我們采用的是普通的面包板焊接電路,普通的板子最大的缺點就是長度和寬度不夠,而且布局也不自由,通過決定我們用兩塊板子拼接在一起,多用外接電路線來搭接電路。因為我們學(xué)校提倡的是動手能力,焊接這樣普通的板子我們每個同學(xué)都能很好的完成,唯一的區(qū)別就是走線比較多那就要看每個人設(shè)計和審美觀。
把板子焊好后我制作的硬件就告一段落。
第五篇:飛思卡爾總結(jié)—電磁組
飛思卡爾賽后心得
通過近四個月的努力學(xué)習(xí)和制作,我們組的作品最后在第六屆全國大學(xué)生“飛思卡爾”杯華東賽區(qū)取得電磁組三等獎的成績,雖為未能取得二等獎以上而遺憾,但我們從中學(xué)到了很多在課堂上學(xué)不到的知識和經(jīng)驗,使我們的動手能力有了很大的提高。
兩天緊張的比賽結(jié)束了,第六屆“飛思卡爾”智能車競賽華東賽區(qū)的全部比賽也到結(jié)束了,在長沙,我們體驗了西湖風(fēng)景的美麗,也體會了各院校在“飛思卡爾”項目上的強(qiáng)大。
最終三等獎的成績,可喜可憂,喜在能在眾多高手中,獲得此成績實屬不易,憂的是下一步如何提升自己,如何可以使我們的電磁車跑到更快?,F(xiàn)在確實發(fā)現(xiàn)在“飛思卡爾”上我們所不懂的知識實在太多太多,尤其是在機(jī)械上,車輛的機(jī)械改造對于我們是一個陌生的一塊,如何通過改造,將模型車的性能更好的發(fā)揮出來,還是我們的短板。像四輪定位、重心選擇、舵機(jī)安置等方面幾乎是空白,這是我們下一步尤其要努力的地方。
這四個多月的競賽準(zhǔn)備中,暴露了很多問題,前期不夠重視,投入時間太少,以至于很多任務(wù)被推到最后一個月去解決,這也是我們止步三等獎的主要原因。而這些一定以及肯定要在下一屆“飛思卡爾”比賽中去解決。
比賽結(jié)束了,我們的心卻久久不能平靜,回想過去幾個月的學(xué)習(xí)和制作,我們覺得很多東西需要寫出來,算是對自己這幾個月的總結(jié)和反思吧,也是為下屆參加飛思卡爾小組提供一些參考。
1、前瞻過短。這是直接影響車速的問題所在,我們在制作由于前瞻過短,導(dǎo)致小車在判斷彎道時,反應(yīng)時間過短,車速一快,小車就直接傳感器就丟失信號。因此也就注定,小車無法高速行駛。在下屆的比賽中,一定要記住這個教訓(xùn),在加長前瞻的同時,最好想辦法使前瞻大小可調(diào),方便測試時調(diào)整。
2、電機(jī)驅(qū)動模塊過熱問題。比賽中我們使用的IRF4905與IRF3205構(gòu)成橋式驅(qū)動電路,并采用雙并聯(lián)方式分流作用,解決過熱問題,但未達(dá)到理想效果。下屆,要在小車的硬件構(gòu)建時,一定要充分多實驗,選擇最佳方案。
3、“做智能小車,不是做電子設(shè)計”,這是我和杭電的一位同學(xué)交流時,他說的一句話。其實意思就是制作智能車電路,要盡量簡潔,盡可能做PCB板,這不僅體現(xiàn)做智能小車的心態(tài),也可以減小信號在線路中的相互干擾。
4、車輛機(jī)械改造問題。在比賽中,印象最深是杭電的電磁車,由于后一名就是杭電選手,我得幸能近距離觀察他們的車。他們的車采用三舵機(jī)控制,一個控制車輛轉(zhuǎn)向,一個控制前方探頭,就是“搖頭”檢測,另一個調(diào)整車子的轉(zhuǎn)彎性能。前兩個,大家都可以理解,最后一個,或許有點難理解。第三個舵機(jī)通過兩個減震彈簧與底盤相接,倘若車子向左轉(zhuǎn)彎,此時舵機(jī)就向左轉(zhuǎn),壓迫左側(cè)彈簧,同時拉升右側(cè)彈簧,使車子的重心向內(nèi)側(cè)偏移,這樣車子的轉(zhuǎn)彎性能就能提上去。
我們隊在做車中結(jié)下了深厚的友誼。是他們的真誠讓我們知道了友情是多么的重要,是他們的鼓勵使我們有了堅持下去的勇氣,是他們的行動指引我們走到了比賽現(xiàn)場,有太多的事值得我們終生記憶。探索者2隊 電磁組 2011年7月25日