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