當前位置:首頁 » 課程大全 » arm嵌入式時鍾課程設計

arm嵌入式時鍾課程設計

發布時間: 2021-03-06 08:52:14

A. 畢設求助:基於ARM嵌入式系統的實時時鍾設計

所用的屏幕是哪種? 其實找到屏幕相關資料 驅動並不難寫 只寫自己需要的即可
如果是串口屏 寫起來更方便了

B. 比較簡單的arm嵌入式課程設計

你在網上找一下,國嵌的視頻還可以

C. 嵌入式ARM/LINUX畢業設計

嵌入式的范圍好大啊!!我寒假就做過用ARM來閉環控制個直流電機,然後用QT界面顯示電機速度的曲線。總之用嵌入式,幾乎可以做任何東西!我做這個就比較簡單了。

D. ARM9嵌入式課程設計

ARM9處理器與ARM7處理器比較
2007-03-09 19:03:27 作者:清華大學深圳研究生院ASIC研究中心 劉魯新 權進國 林孝康 來源:互聯網
摘要:ARM處理器是世界上最流行的嵌入式處理器,廣泛應用於個人通信等嵌入式領域。ARM7處理器雖然功能強大,但是目前已經開始退出主流應用領域,代替它的是性能更加強大的ARM9系列處理器。介紹了ARM9處理器與ARM7處理器的不同之處,並且給出了ARM9的應用實例。 關鍵詞:ARM9 ARM7 流水線 指令周期 ARM9系列處理器是英國ARM公司設計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。本文主要介紹它們與ARM7TDMI的結構以及性能比較。 以手機應用為例,2G手機只需提供語音及簡單的文字簡訊功能,而目前的2.5G和未來的3G手機除了提供這兩項功能外,還必須提供各種其他的應用功能。主要包括:(1)無線網路設備:手機上網、電子郵件及其他定位服務等功能;(2)PDA功能:含有用戶操作系統(Windows CE、Symbian OS、Linux等)及其他功能;(3)高性能功能:音頻播放器、視頻電話、手機游戲等。在2.5G和3G的應用中ARM9已經全面替代了ARM7。因為ARM9的新特性能夠滿足各種新需求的同時減少產品研發時間並降低研發費用。 新一代的ARM9處理器,通過全新的設計,採用了更多的晶體管,能夠達到兩倍以上於ARM7處理器的處理能力。這種處理能力的提高是通過增加時鍾頻率和減少指令執行周期實現的。 1 時鍾頻率的提高 ARM7處理器採用3級流水線,而ARM9採用5級流水線,如圖1、2、3所示。增加的流水線設計提高了時鍾頻率和並行處理能力。5級流水線能夠將每一個指令處理分配到5個時鍾周期內,在每一個時鍾周期內同時有5個指令在執行。在同樣的加工工藝下,ARM9TDMI處理器的時鍾頻率是ARM7TDMI的1.8~2.2倍。 圖1、圖2和圖3 2 指令周期的改進 指令周期的改進對於處理器性能的提高有很大的幫助。性能提高的幅度依賴於代碼執行時指令的重疊,這實際上是程序本身的問題。對於採用最高級的語言,一般來說,性能的提高在30%左右。 2.1 loads 指令矛n stores指令 指令周期數的改進最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執行時間減少了30%。指令周期的減少是由於ARM7和ARM9兩種處理器內的兩個基本的微處理結構不同所造成的。 (1)ARM9有獨立的指令和數據存儲器介面,允許處理器同時進行取指和讀寫數據。這叫作改進型哈佛結構。而ARM7隻有數據存儲器介面,它同時用來取指令和數據訪問。 (2)5級流水線引入了獨立的存儲器和寫迴流水線,分別用來訪問存儲器和將結果寫回寄存器。 以上兩點實現了一個周期完成loads指令和stores指令。 2.2 互鎖(interlocks)技術 當指令需要的數據因為以前的指令沒有執行完而沒有準備好就會產生管道互鎖。當管道互鎖發生時,硬體會停止這個指令的執行,直到數據准備好為止。雖然這種技術會增加代碼執行時間,但是為初期的設計者提供了巨大的方便。編譯器以及匯編程序員可以通過重新設計代碼的順序或者其他方法來減少管道互鎖的數量。 2.3 分枝指令 ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S並沒有對分枝指令進行預測處理。 3 ARM9結構及特點 以ARM9E-S為例介紹ARM9處理器的主要結構及其特點。ARM9E-S的結構如圖4所示。其主要特點如下: (1)32bit定點RISC處理器,改進型ARM/Thumb代碼交織,增強性乘法器設計。支持實時(real-time)調試; (2)片內指令和數據SRAM,而且指令和數據的存儲器容量可調; (3)片內指令和數據高速緩沖器(cache)容量從4K位元組到1M位元組; (4)設置保護單元(protcction unit),非常適合嵌入式應用中對存儲器進行分段和保護; (5)採用AMBA AHB匯流排介面,為外設提供統一的地址和數據匯流排; (6)支持外部協處理器,指令和數據匯流排有簡單的握手信令支持; (7)支持標准基本邏輯單元掃描測試方法學,而且支持BIST(built-in-self-test); (8)支持嵌入式跟蹤宏單元,支持實時跟蹤指令和數據。 圖5 4 ARM9的典型應用 TI公司的OMAP730是最新的無線通信基帶信號處理器。該處理器是TI的GPRS Class 12通信模塊與專用於應用處理的ARM926通用處理器(GPP)的集成。由於GPP的速度可達200MHz,因此OMAP730具有兩倍於上一代OMAP710處理器的應用處理性能。如同所有的OMAP處理器一樣,OMAP730可支持領先的移動操作系統,其中包括Microsoft的智能電話與Pocket PC PhoneEdition、Svmbian OS與Series 60、Palm OS以及Linux。 TI OMAP730結構如圖5所示。其中ARM926TEJ處理器的主要特性包括:(1)最高頻率200MHz;(2)16KB指令高速緩存,8KB數據高速緩存;(3)硬體JAVA加速;(4)擴展多媒體指令集結構。 ARM微處理器是一種高性能、低功耗的32位微處器,它被廣泛應用於嵌入式系統中。ARM9代表了ARM公司主流的處理器,已經在手持電話、機頂盒、數碼像機、GPS、個人數字助理以及網際網路設備等方面有了廣泛的應用。
開發版之家

E. 求LED數字鍾嵌入式的課程設計詳細步驟!

我幫你做好。。。。。。

F. 嵌入式linux 基於ARM S3C2410平台上的 LCD數字時鍾設計

Linux是Unix操作系統的一種變種,在Linux下編寫驅動程序的原理和思想完全類似於其他的Unix系統,但它dos或window環境下的驅動程序有很大的區別。在Linux環境下設計驅動程序,思想簡潔,操作方便,功能也很強大,但是支持函數少,只能依賴kernel中的函數,有些常用的操作要自己來編寫,而且調試也不方便。本人這幾周來為實驗室自行研製的一塊多媒體卡編制了驅動程序,獲得了一些經驗,願與Linux fans共享
一、Linux device driver 的概念系統調用是操作系統內核和應用程序之間的介面,設備驅動程序是操作系統內核和機器硬體之間的介面。設備驅動程序為應用程序屏蔽了硬體的細節,這樣在應用程序看來,硬體設備只是一個設備文件, 應用程序可以象操作普通文件一樣對硬體設備進行操作。設備驅動程序是內核的一部分,它完成以下的功能:
1.對設備初始化和釋放。
2.把數據從內核傳送到硬體和從硬體讀取數據。
3.讀取應用程序傳送給設備文件的數據和回送應用程序請求的數據。
4.檢測和處理設備出現的錯誤。
二、實例剖析我們來寫一個最簡單的字元設備驅動程序。雖然它什麼也不做,但是通過它可以了解Linux的設備驅動程序的工作原理。參考資料:http://hi..com/marrensy/blog/item/186562f20486f059d7887d39.html

G. 跪求:嵌入式系統綜合設計實習課題 電子鍾設計,包括時、分、秒LCD顯示及時鍾調整

//按4X4鍵盤的F鍵 進入設定狀態
//E D 鍵是前後移動鍵
//C按鍵是調整數值按鍵
#include "reg52.h"
#define uchar unsigned char
sbit RW=P2^1;
sbit RS=P2^0;
sbit E=P2^2;
bit at=0;
uchar code shen[]={"CLOCKH"};
uchar code word[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x20};
uchar dispbuf[8],h,m,s,counter;
void delay()
{
uchar i;
for(i=0;i<255;i++);
}

/*******寫命令**********/
void lcd_wmc(uchar i)
{

P0=i;
RS=0;
RW=0;
E=0;
delay();
E=1;
}

/*******寫數據***********/

void lcd_wmd(uchar i)
{

P0=i;
RS=1;
RW=0;
E=0;
delay();
E=1;
}

/*******初始化液晶*******/
void lcd_init()
{
uchar i;
lcd_wmc(0x01);
lcd_wmc(0x38);
lcd_wmc(0x0c);
lcd_wmc(0x06);
lcd_wmc(0xc9);
for(i=0;i<6;i++)
lcd_wmd(shen[i]);
lcd_wmc(0xc0);
}

/*******更新緩沖區子程序*******/
void newbuf()
{
dispbuf[0]=s%10;
dispbuf[1]=s/10;
dispbuf[3]=m%10;
dispbuf[4]=m/10;
dispbuf[6]=h%10;
dispbuf[7]=h/10;
}
/*******顯示子程序**********/
void disp(uchar dispadd)
{
uchar tmp;
lcd_wmc(dispadd);
tmp=dispbuf[7];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[6];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[5];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[4];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[3];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[2];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[1];
tmp=word[tmp];
lcd_wmd(tmp);
tmp=dispbuf[0];
tmp=word[tmp];
lcd_wmd(tmp);
}
/*********************鍵盤子程序***********************/

uchar keypro(void)
{
uchar scanl,scanh;
P1=0x0f;//先將所有行線拉低
if((P1&0x0f)!=0x0f) //如果列線有變化
{
delay();//延遲一段時間。
if((P1&0x0f)!=0x0f)//如果此時此刻列線還有變化,說明確實有按鍵按下
{
scanl=0xfe;
while((scanl&0x10)!=0)
{
P1=scanl; //給P1口賦掃描碼,每次只拉低一行
if((P1&0xf0)!=0xf0) //如果判斷為真,則說明找到了按鍵按下的行
{
scanh=(P1&0xf0)|0x0f; //計算識別碼
return (~scanh)+(~scanl);
}
else scanl=(scanl<<1)|0x01; //否則依次將第二,第三,第四行拉低

}
}
}
return 0;//沒有按鍵 按下 返回0
}

/********************時間調整子程序********************/
void adjustime()
{
uchar k;
static uchar add;
k=keypro();
switch(k)
{
case 0x88: if(!at){add=0xc1;EA=0;lcd_wmc(0xc1);lcd_wmc(0x0f);at=1;}
else {lcd_wmc(0xc0);lcd_wmc(0x0c);at=0;EA=1;} break;

case 0x48: if(at)
{
if(add==0xc1){add=0xc7; lcd_wmc(add);}
else {add=add-3;lcd_wmc(add);}
}
break;

case 0x28: if(at)
{
if(add==0xc7) {add=0xc1;lcd_wmc(add);}
else {add=add+3;lcd_wmc(add);}
}
break;

case 0x18: if(at)
{
if(add==0xc1) h++;
if(h==24)
h=0;
if(add==0xc4) m++;
if(m==60)
m=0;
if(add==0xc7) s++;
if(s==60)
s=0;
newbuf();
disp(0xc0);
lcd_wmc(add);
}
break;
default: break;
}
if(k!=0)
{
while((P1&0xf0)!=0xf0)
P1=0xf0;
}

}
/*********************初始化子程序**********************/
void init()
{

TMOD=0x01;
TH0=0x4c;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
counter=0;
h=12;m=0;s=0;
dispbuf[2]=10;
dispbuf[5]=10;
}

/***************************主程序************************/

void main(void)
{
init();
lcd_init();

while(1)
{
adjustime();
if(!at)
{
//閃爍
if(counter<10)
{
dispbuf[2]=10;
dispbuf[5]=10;
}
else
{
dispbuf[2]=11;
dispbuf[5]=11;
}
//更新顯示緩沖區及調用顯示程序
if(counter==0)
{
newbuf();
disp(0xc0);
}
else if(counter==10)
disp(0xc0);
}
}
}

/*************************定時器0的中斷**********************/
void Time0() interrupt 1 using 2 //再次強調中斷子程序執行時間越短越好
{
TH0=(65536-46075)/256;
TL0=(65536-46075)%256;
counter++;
if(counter==20)
{
s++;
counter=0;
if(s==60)
{
m++;
s=0;
if(m==60)
{
h++;
m=0;
if(h==24)
h=0;
}
}

}
}

H. 我會單片機(自學的,自己做過電子時鍾),c語言編程,現在在學arm嵌入式,我們專業是能源與動力工程

依你的介紹,你是一個肯學習有自學能力的人,做過小產品,也有一定版動手能力,要求又不權高,找個實習工作肯定能找到並且不難。問題是只是假期,如果你想勤工儉學,那就不說了,多少能掙一點錢,如果你想學點什麼大概就有限了,時間太短了,就算你遇到一個好老闆,也只能學點感性知識。不過只要你期望值不是太高,還是可以嘗試。
告訴你一個事實,自學也能成才。只要你肯努力、只要你肯付出,你終將得到回報。加油!

I. 求嵌入式arm畢業設計選題題目(急!!!)

嵌入式的范圍好大啊!!我寒假就做過用arm來閉環控制個直流電機,然後用qt界面顯示電機速度的曲線。總之用嵌入式,幾乎可以做任何東西!我做這個就比較簡單了。

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919