第一篇:嵌入式實驗心得體會
嵌入式實驗心得體會是計算機專業應該具備的常用知識,以下這篇范文整理個人對嵌入式系統的認識,和進行操作之后的個人體會,對操作的疑難的反思。下面是這篇嵌入式實驗心得體會
嵌入式實驗心得體會
學期開始,我們開始學習《嵌入式系統及應用》,由于初次接觸嵌入式系統,感覺蠻難的,所以收獲不是很大,很多的概念都比較模糊,等到學期結束開始做嵌入式課程設計時,真是茫然無從下手,自從拿到設計主題后,我就像熱鍋上的螞蟻,一個字急。最后實在沒有辦法,逼著自己去學習,查資料,總算對嵌入式有了淺層理解。
嵌入式系統本身是一個相對模糊的定義,一個手持的mp3和一個pc104的微型工業控制計算機都可以認為是嵌入式系統。總體來說,嵌入式系統是用于控制,監視或者輔助操作機器和設備的裝備。一個典型的桌面linux系統包括3個主要的軟件層---linux內核、c庫和應用程序代碼。內核是唯一可以完全控制硬件的層,內核驅動程序代表應用程序與硬件之間進行會話。內核之上是c庫,負責把posix api轉換為內核可以識別的形式,然后調用內核,從應用程序向內核傳遞參數。應用程序依靠驅動內核來完成特定的任務。
在了解了基礎知識之后,我開始進行上機操作,當然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導操作,完全憑借自己去摸索練習。其中的困難可想而知。然而堅持就是勝利,牙一咬眼一閉堅持做下去,而通過本次實驗,我感覺收獲還是蠻多的。可能我對于嵌入式的知識學習的還是不太多,但是這之外的東西收獲頗豐。它讓我學會了如何通過自己的努力去認知一個新事物,更重要的是端正自己的學習態度,只有真正下功夫去學習,才能有收獲,正所謂一份耕耘,一份收獲。沒有付出,何談回報呢?再者,通過本次實驗,我也學會了如何去分析問題,如何找出自己設計中的不足,繼而去排除解決問題,這就是一個自我學習的過程。當我們通過實驗去學習理論知識時,自己動手得出的結論,不僅能加深我們對嵌入式的理解,更能加深我們對此的記憶。
當然,在這其中,我也發現自己的許多不足之處,由于學期伊始我沒有好好學習,才落到如此地步,這也可以說是一個教訓吧!我相信在以后的學習工作中,我一定會端正自己的學習態度,一絲不茍的去對待每一件事。
第二篇:2016嵌入式實驗心得體會
2016嵌入式實驗心得體會
嵌入式實驗心得體會是計算機專業應該具備的常用知識,以下這篇范文整理個人對嵌入式系統的認識,和進行操作之后的個人體會,對操作的疑難的反思。下面是這篇嵌入式實驗心得體會
嵌入式實驗心得體會
學期開始,我們開始學習《嵌入式系統及應用》,由于初次接觸嵌入式系統,感覺蠻難的,所以收獲不是很大,很多的概念都比較模糊,等到學期結束開始做嵌入式課程設計時,真是茫然無從下手,自從拿到設計主題后,我就像熱鍋上的螞蟻,一個字“急”。最后實在沒有辦法,逼著自己去學習,查資料,總算對嵌入式有了淺層理解。嵌入式系統本身是一個相對模糊的定義,一個手持的Mp3和一個pC104的微型工業控制計算機都可以認為是嵌入式系統。總體來說,嵌入式系統是“用于控制,監視或者輔助操作機器和設備的裝備”。一個典型的桌面Linux系統包括3個主要的軟件層---linux內核、C庫和應用程序代碼。內核是唯一可以完全控制硬件的層,內核驅動程序代表應用程序與硬件之間進行會話。內核之上是C庫,負責把pOSIXApI轉換為內核可以識別的形式,然后調用內核,從應用程序向內核傳遞參數。應用程序依靠驅動內核來完成特定的任務。
在了解了基礎知識之后,我開始進行上機操作,當然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導操作,完全憑借自己去摸索練習。其中的困難可想而知。然而堅持就是勝利,牙一咬眼一閉堅持做下去,而通過本次實驗,我感覺收獲還是蠻多的。可能我對于嵌入式的知識學習的還是不太多,但是這之外的東西收獲頗豐。它讓我學會了如何通過自己的努力去認知一個新事物,更重要的是端正自己的學習態度,只有真正下功夫去學習,才能有收獲,正所謂“一份耕耘,一份收獲。”沒有付出,何談回報呢?再者,通過本次實驗,我也學會了如何去分析問題,如何找出自己設計中的不足,繼而去排除解決問題,這就是一個自我學習的過程。當我們通過實驗去學習理論知識時,自己動手得出的結論,不僅能加深我們對嵌入式的理解,更能加深我們對此的記憶。
當然,在這其中,我也發現自己的許多不足之處,由于學期伊始我沒有好好學習,才落到如此地步,這也可以說是一個教訓吧!我相信在以后的學習工作中,我一定會端正自己的學習態度,一絲不茍的去對待每一件事。只有做好足夠的準備,才能事半功倍!
第三篇:嵌入式實驗總結
如今,嵌入式系統已經在眾多電氣電子產品上應用,有人預測今后5年發展形勢看好。嵌入式是典型的交叉學科,電信、電子、電氣、計算機、通信等等都有涉及。
嵌入式理論、實踐要求多、門檻高,只有理論、實踐同步才能在積累中更好的漸次掌握,這學期我們針對嵌入式入門做了一些實驗,通過自己動手和實驗箱、實驗軟件打交道,對嵌入式編程形成初步了解,為今后進一步發展打基礎。
實驗環境:
武漢創維特公司JXARM9-2410開發板、PC;
Linux、windows操作平臺;
DNW、VMwareWorkstation應用軟件;
《ARM9嵌入式技術及Linux高級實踐教程》、實驗參考資料等;
實驗內容及目標:
閱讀樣例程序,進行:
1.熟悉JXARM9-2410開發板、相關應用軟件的使用,能成功運行示例實驗程序(demo-led);
2.使用VMware,修改demo-led源程序,使開發板上數碼管按照demo-led顯示方式顯示;
3.使用VMware、DNW,修改相關源程序,實現開發板鍵盤輸入的字符在DNW中顯示;
4.使用VMware、DNW,修改相關源程序,實現對直流電機轉動狀態的控制;
觀看教學視頻,進行交叉編譯:
1.加載linux內核;
2.配置、編譯linux內核;
3.Windows、linux跨平臺文件共享;
4.編譯、運行linux程序(helloworld)
5.Linux下編譯數碼管顯示驅動程序;
6.Linux下編譯攝像頭、GPRS驅動程序;
學習嵌入式是一個漫長的過程,學好它還是需要一番的功夫。通過嵌入式實驗由淺入深的動手實踐,我漸漸對嵌入式有了具體概念,也逐漸對其產生了興致和好奇心。
對于初學者,還有一點小建議,不要好高騖遠,要腳踏實地.
第四篇:嵌入式實驗二
1.實驗二:利用中斷實現 OLED 動態顯示實驗
1.1 實驗名稱
1.2 實驗目的
(1)深入學習、理解、掌握 OLED 字符顯示方法
(2)深入學習、理解、掌握 OLED 圖形顯示方法(3)學習、理解、掌握中斷使用方法
1.3 實驗過程與分析
1.3.1 回答實驗報告中的實驗問題
(1)ISR是什么?簡述一下中斷的作用和使用方法
答:ISR是中斷服務程序。作用是通過處理器執行事先編好的某個特定的程序。使用方法就是在main中寫一個中斷程序,然后在startup.s中進行注冊。
(2)嵌入式系統中有哪些應用有定時性循環處理的要求?舉幾個例子
答:在各種網絡的應用中,設計的一些部件,如計數器,時鐘等。
(3)定時時間間隔如何修改?
(4)選作內容5-8的編程思路是什么?若做的話應該怎樣實現? 答:編程思路:先畫直線和豎線,組成一個正方形,將各個參數填寫到函數答:通過改變SysTickPeriodSet(SysCtlClockGet()/100)后面的100這個參數。
RIT128x96x4ImageDraw(buf,,);
第6個選作:判斷畫的原點x,原點y,和畫原點x+的長,畫原點y+畫寬的值要在0-128和0-96。
第7個選作:把RIT128x96x4StringDraw(“hello”,,);就是把畫的灰度定義為一個變量x。最后就會出現由不同的亮度而形成的波浪。
第8個就是利用隨機函數產生畫的原點,隨機的在屏幕上進行顯示。
(5)拖影現象如何解決?計數值顯示為什么沒有拖影? 答:在程序結束后執行清屏語句:計數顯示是每次重新賦值,所以不會出現拖影。
1.3.2 實驗中遇到的問題及解決方法
(1)字符和下方橫線,從左至右移動,無法同時到達
通過最大寬度128除以閥值,調整了字符和橫線的速度,解決(2)附加字符循環移動,移動到一半,不見了
查看函數排錯,得以解決
(3)基本問題做完時,字符顯示完整,添加附加任務后,字符顯示不全
未解決...1.4實驗結果總結 實驗結果(附照片)
總結(自己的收獲)1.5心得體會
#include
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff };unsigned char buf2[] = {
0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00 };unsigned char buf3[] = {
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff };unsigned char buf4[] = {
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff };unsigned char buf5[] = {
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff };unsigned char buf6[] = {
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff };unsigned char buf7[] = {
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff };unsigned char buf8[] = {
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff };
unsigned char r1[] = {
0xff,0xff };unsigned char r2[] = {
0xf0,0x0f };unsigned char r3[] = {
0xf0,0x0f };unsigned char r4[] = {
0xff,0xff };
unsigned char c1[] = {
0x0f,0xf0 };unsigned char c2[] = {
0xf0,0x0f };unsigned char c3[] = {
0xf0,0x0f };unsigned char c4[] = {
0x0f,0xf0 };void SysTick_Handler(void){ Event = 1;} void printX(){ }
int main(){
int count = 0,i,Light=0,x=0,z=0,y=0,zz=0,yy=0,c=0,cc=0,a=0,aa=0;unsigned char buf[5];
//存(數字)字符串
unsigned char name[20] = “";unsigned char number[20] = ”“;SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN SYSCTL_XTAL_8MHZ);RIT128x96x4Init(1000000);RIT128x96x4Clear();
串
SysTickPeriodSet(SysCtlClockGet()/ 10);
//調頻率
SysTickEnable();SysTickIntEnable();while(1){
if(Event){
RIT128x96x4Clear();
Event = 0;
sprintf(buf,”%3i“,count);
//通過sprintf將數字轉換為字符
| if(Light >= 15)
{
Light=0;
} else {
Light++;} RIT128x96x4StringDraw(name, 50, 55, 15-Light);RIT128x96x4StringDraw(number, 50, 65, Light);sprintf(buf,”%d",count);;RIT128x96x4StringDraw(buf, 50, 75, 12);
count++;if(count>=200){
count=0;} RIT128x96x4ImageDraw(buf2,(int)(x*0.50), 5, 20, 1);RIT128x96x4ImageDraw(buf3,(int)(x*0.50), 7, 20, 1);RIT128x96x4ImageDraw(buf4,(int)(x*0.50), 9, 20, 1);RIT128x96x4ImageDraw(buf5,(int)(x*0.50), 11,20, 1);RIT128x96x4ImageDraw(buf6,(int)(x*0.50), 13, 20, 1);RIT128x96x4ImageDraw(buf7,(int)(x*0.50), 15, 20, 1);RIT128x96x4ImageDraw(buf8,(int)(x*0.50), 17, 20, 1);RIT128x96x4ImageDraw(buf1, 0, 20,(int)(x*0.60), 1);RIT128x96x4ImageDraw(c1,(int)(60+c*1.20),(int)(5+a*0.85), 4, 1);RIT128x96x4ImageDraw(c2,(int)(60+c*1.20),(int)(7+a*0.85), 4, 1);RIT128x96x4ImageDraw(c3,(int)(60+c*1.20),(int)(9+a*0.85), 4, 1);RIT128x96x4ImageDraw(c4,(int)(60+c*1.20),(int)(11+a*0.85), 4, 1);RIT128x96x4ImageDraw(r1,(int)(z*0.30),(int)(50+y*0.20), 4, 1);RIT128x96x4ImageDraw(r2,(int)(z*0.30),(int)(52+y*0.20), 4, 1);RIT128x96x4ImageDraw(r3,(int)(z*0.30),(int)(54+y*0.20), 4, 1);RIT128x96x4ImageDraw(r4,(int)(z*0.30),(int)(56+y*0.20), 4, 1);if(x<=200&&x>=0)
//直線 {
x++;} if(x>=200){
x=0;} if(c<=50&&c>=-50)
//圓形循環 {
if(cc==0)c++;
if(cc==1)c--;} if(c>=50){
cc=1;} if(c<=-50){
cc=0;} if(a<=100&&a>=0){
if(aa==0)a++;
if(aa==1)a--;} if(a>=100){
aa=1;} if(x<=0){
aa=0;} if(y<=200&&y>=0){
if(yy==0)y++;
if(yy==1)y--;} if(y>=200){
yy=1;} if(y<=-200){
yy=0;} if(z<=400&&z>=0){
if(zz==0)z++;
if(zz==1)z--;} if(z>=400){
zz=1;} if(z<=0){
//矩形反彈
}
zz=0;
} } } return 0;
第五篇:嵌入式系統實驗
南京信息工程大學 實驗(實習)報告
實驗(實習)名稱
電機轉動控制及中斷實驗 實驗(實習)日期
2016.5 得分
指導教師 謝勝東
學院 計算機與軟件 專業 計算機科學與技術 年級
2013 班次 3 姓名
葉正舟 學號
20131308072 實驗名稱
電機轉動控制及中斷實驗 實驗目的
(1)熟悉ARM本身自帶的六路即三對PWM,掌握相應寄存器的配置
(2)編程實現 ARM系統的PWM 輸出和I/O 輸出,前者用于控制直流電機,后者用于控制步進電機。
(3)了解直流電機和步進電機的工作原理,學會用軟件的方法實現步進電機的脈沖分配,即用軟件的方法代替硬件的脈沖分配器。
(4)掌握帶有PWM 和I/O 的CPU 編程實現其相應功能的主要方法。實驗環境
(1)ADS1.2開發環境(2)PC(3)串口線 實驗內容及要求
學習步進電機和直流電機的工作原理,了解實現兩個電機轉動對于系統的軟件和硬件要求。學習ARM知識,掌握PWM 的生成方法,同時也要掌握I/O 的控制方法。
(1)編程實現ARM芯片的一對PWM 輸出用于控制直流電機的轉動,通過A/D 旋鈕控制其正反轉及轉速
(2)編程實現ARM的四路I/O 通道實現環形脈沖分配用于控制步進電機的轉動,通過A/D 旋鈕轉角控制步進電機的轉角。
(3)通過超級終端來控制直流電機與步進電機的切換。實驗設計與實驗步驟
(1)新建工程,將“電機轉動控制實驗”中的文件添加到工程(2)編寫直流電機初始化數(MotorCtrl.c)(3)控制直流電機與步進電機 實驗過程與分析
(1)通過把從串口中得到控制信息的代碼修改成從zlg7289芯片中讀取小鍵盤信息,從而利用試驗臺的小鍵盤來控制步進電機和直流電機的切換
(2)A/D轉換可以把電信號轉換成數字信號來控制電機的轉速。for(;;)
{ loop:
//if((rUTRSTAT0 & 0x1))//有輸入,則返回
if(rPDATG&ZLG7289_KEY)//17鍵小鍵盤控制電機
{
*Revdata=RdURXH0();
goto begin;
}
Delay(10);ADData=GetADresult(0);
if(abs(lastADData-ADData)<20)
goto loop;Delay(10);count=-(ADData-lastADData)*3;
//(ADData-lastADData)*270/1024為ad旋鈕轉過的角度,360/512為步距角,//由于接了1/8減速器,兩者之商再乘以8為步進電機相應轉過的角度
if(count>=0)
{//轉角大于零
for(j=0;j { for(i=0;i<=7;i++) { SETEXIOBITMASK(stepdata[i], 0xf0); Delay(200); } } } lastADData=ADData; } } 實驗結果總結 利用A/D轉換器實現了對直流電機和步進電機的控制,利用實驗設備上自帶的小鍵盤實現了A/D轉換器對兩個電機控制的切換。心得體會 通過本次實驗,熟悉了ARM自帶的六路(三對)PWM,并對直流電機和步進電機的工作原理有了進一步的了解。