首先看原理圖知道KEY的引腳:
那么我們知道了按鍵的引腳,根據上一篇的led的引腳,可以理清楚,按鍵按下會修改某寄存器的值,CPU檢測到按鍵修改,則輸出電平到LED數據寄存器,進而控制LED的亮滅。
那么來修改程序。
/*LED.c*/
#define GPBCON ((volatile unsigned int *)0x56000010)/*led控制引腳*/
#define GPBDAT ((volatile unsigned int *)0x56000014)/*led數據引腳*/
#define GPGCON ((volatile unsigned int *)0x56000060)/*key控制引腳*/
#define GPGDAT ((volatile unsigned int *)0x56000064)/*key數據引腳*/
#define GPB5_clear (3<<10)
#define GPB6_clear (3<<12)
#define GPB7_clear (3<<14)
#define GPB8_clear (3<<16)
#define GPB5_in (1<<10)
#define GPB6_in (1<<12)
#define GPB7_in (1<<14)
#define GPB8_in (1<<16)
#define GPG0_OUT (3<<0)
#define GPG3_OUT (3<<6)
#define GPG5_OUT (3<<10)
#define GPG6_OUT (3<<12)
void delay(int count)
{
while(count--);
}
int main()
{
unsigned int *Kdata ;
*GPBCON &= ~(GPB5_clear|GPB6_clear|GPB7_clear|GPB8_clear); //clear 0
*GPBCON |= (GPB5_in|GPB6_in|GPB7_in|GPB8_in); /*設置GPBCON位的led1-4輸出模式01*/
*GPGCON &= ~(GPG0_OUT|GPG3_OUT|GPG5_OUT|GPG6_OUT); /*設置GPGCON位的KEY1-4輸入模式00*/
Kdata = GPGDAT;
while(1) /*一直監測按鍵情況*/
{
if(*Kdata & (1<<0)) /*檢查到松開key1*/
*GPBDAT |= (1<<5) ; /*熄滅LED1*/
else
*GPBDAT &= ~(1<<5) ; /*點亮LED1*/
if(*Kdata & (1<<3))
*GPBDAT |= (1<<6) ;
else
*GPBDAT &= ~(1<<6) ;
if(*Kdata & (1<<5))
*GPBDAT |= (1<<7) ;
else
*GPBDAT &= ~(1<<7) ;
if(*Kdata & (1<<6))
*GPBDAT |= (1<<8) ;
else
*GPBDAT &= ~(1<<8) ;
delay(10000); //延時一下
}
return 0;
}
/*start.s--增加關閉看門狗等操作*/
.text
.global _start
_start:
/*diaable watchdog*/
ldr r0 ,=0x53000000
ldr r1 ,=0
str r1 ,[r0]
/*往0地址處寫0,如果讀出來是0,則說明硬盤被修改了,是nand啟動,如果不是0,則是nor啟動*/
ldr r0 ,= 0
ldr r1 , [r0] //store the inital value
str r0 , [r0]
ldr r2 , [r0] //store the after value
cmp r0 , r2 //r0 == r2?
ldr sp,=0x40000000 + 0x4096 /*nor啟動*/
moveq sp , #4096 /*nand啟動時,0地址處是4K的片內內存,它會映射到0地址,設置為4K的頂部(棧可能是滿減棧)*/
streq r1 , [r0]
/*設置內存:sp棧*/
//ldr sp,=4096 /*nand啟動時,0地址處是4K的片內內存,它會映射到0地址,設置為4K的頂部(棧可能是滿減棧)*/
// ldr sp,=0x40000000 + 0x4096 /*nor啟動*/
bl main
halt:
b halt /*加一個死循環*/
上一篇:mini2440開發總結
下一篇:Linux下基于fl2440開發板platform按鍵驅動詳解(一)
推薦閱讀
史海拾趣
隨著公司產品的技術成熟和品質提升,Esterline Power Systems開始尋求國際市場的拓展。公司高層制定了明確的國際化戰略,包括在歐洲和亞洲設立分支機構,與當地合作伙伴建立緊密的合作關系。通過參展國際航空展、加強與全球航空公司的技術交流與合作,公司逐漸打開了國際市場的大門,產品銷售遍及全球多個國家和地區。
面對數字化浪潮的沖擊,ECS-D公司積極擁抱數字化轉型,通過引入先進的信息技術和智能化設備,提升企業的運營效率和創新能力。公司建立了數字化管理平臺,實現了生產、銷售、財務等各個環節的信息化管理。同時,ECS-D公司還加強了對員工的數字化培訓和教育,提升員工的數字化素養和創新能力。這些數字化轉型的舉措使ECS-D公司在激烈的市場競爭中保持了領先地位,也為公司的未來發展奠定了堅實的基礎。
以上五個故事均以ECS公司的發展為主題,分別從不同角度描述了這些公司在電子行業中的成長歷程和成功經驗。這些故事旨在展示ECS公司如何通過技術創新、全球化戰略、品質管理、綠色環保理念和數字化轉型等方式實現持續發展和壯大。
隨著技術的成熟,AC Photonics Inc開始積極拓展市場。公司不僅在國內建立了完善的銷售網絡,還積極開拓海外市場。同時,AC Photonics Inc還與其他知名電子企業建立了戰略合作關系,共同推動光電技術在各個領域的應用。這些合作不僅提升了公司的知名度和影響力,還為公司的長遠發展提供了有力支持。
品質是企業的生命線,DECON公司深知這一點。因此,公司建立了完善的品質管理體系,從原材料采購到生產過程的每一個環節都進行嚴格的質量監控。公司引進了先進的生產設備和技術,優化了生產流程,提高了生產效率和產品質量。同時,公司還建立了完善的售后服務體系,為客戶提供及時、高效的技術支持和解決方案。
在電子行業的初期,BELLING LEE公司以其對新技術的敏銳洞察力和強大的研發能力脫穎而出。公司投入大量資源研發出了一款具有革命性的高效能電子芯片,這一創新產品不僅提高了電子設備的性能,還大大降低了能耗。憑借這一技術突破,BELLING LEE公司迅速在電子市場上獲得了認可,并逐漸建立起自己的市場地位。
隨著技術的成熟,ABL公司開始積極拓展市場。公司通過與大型電子產品制造商建立合作關系,將其鋁合金組件應用于更廣泛的領域。同時,ABL公司也注重品牌建設,通過參加行業展會、發布技術白皮書等方式,提升公司在業內的知名度和影響力。隨著市場份額的逐步擴大,ABL公司逐漸成為了電子行業鋁合金組件領域的領軍企業。
這個電路我也仿真出來了,跟實際測試基本能夠吻合,但問題是我現在計算出的電壓輸出Vo和電壓Vi 表達式好像不正確,通過我自己推出的函數表達式算出來的值和實際、仿真都不能吻合。 先說下此電路的一些參數,輸入電壓是 0-5KHZ 、幅值為 8.2V(低電 ...… 查看全部問答∨ |
要求: 1. 利用I2C接口對三路帶I2C接口的AD采樣; 2. 利用SSI接口對一路DAC進行數模轉換。 3. 利用USB口接收上位機的數據 ...… 查看全部問答∨ |
現在我打開位圖時,有時候即使地址中有位圖,也會顯示:"未找到歷史記錄!"。只要一次出現這種情況,以后再點打開按鈕,都會顯示:"未找到歷史記錄!",而且過一會程序會顯示無法找到正確的源代碼。 到底是哪里出了問題,請大俠們幫忙看看 ...… 查看全部問答∨ |
原理圖: 小菜鳥剛剛學習數字電路有幾個地方怎么看都看不懂請老師們幫我解答解答 Orc謝謝了 第一個問題: 這個VDD_3V3是干什么用的??? 第二個問題: DM DP信號為什么要穿一個電阻啊? 第三個問題: DP和VDD_3V3之間有什么聯系為什么要穿一 ...… 查看全部問答∨ |
單片機 通D/A產生正弦波,要實現頻率步進 問題? 大家幫幫忙 ! 我的是STC89C516RD+的單片機 (晶振24MHZ) 在通過D/A (8位)轉換,得到了一個頻率固定的正弦信號, 但 我要讓它實現步進, 我的思想是讓改變 D/A采樣間隔之間的延時來(,改決 步進問題. 但我不知道 怎么去定義一個變量,來改決頻率 ...… 查看全部問答∨ |
|
設計資源 培訓 開發板 精華推薦
- 英特爾 SoC FPGA 開發者論壇 (ISDF) 預約報名享好禮!
- TI史上最強音視頻DSP—DM6467之SEED開發板全套資源
- 全球首款Cortex-M23內核物聯網芯片SAML10和SAM L11系列 闖關獲取SAML10/SAML11法寶,拆除電子界安全危機,贏好禮!
- Sitara™ AM335x ARM® Cortex™-A8 團購
- 看MCU精品課程,讓你立馬變身考試達人!
- 有獎連線:“泰”想開車 動力篇:800V超充技術,掃清里程焦慮
- Microchip最新SAM 以及 PIC32單片機軟件開發平臺-- MPLAB® Harmony V3介紹 ”
- “TI 中國大學計劃” 知多少——答題贏好禮!
- EEworld版主招新啦!歡迎加入我們的隊伍
- 下載有禮!是德科技高速數字精選解決方案,專為您的數字設計而挑戰!