日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月21日(星期一)

正在發(fā)生

2018年07月21日 | S3C2440學習之GPIO按鍵控制LED燈

發(fā)布者:boczsy2018 來源: eefocus關(guān)鍵字:S3C2440  GPIO  按鍵控制  LED燈 手機看文章 掃描二維碼
隨時隨地手機看文章

/* 

名稱:S3C2440學習之GPIO按鍵控制LED燈 

說明:這是實驗2440GPIO的輸入功能。基本的流程和51單片機開發(fā)的差不多。都是對GPIO端口寄存器的控制不同的是,51單片機可以直接對進行位控制,而2440中GPIO只能對32位的寄存器進行寫入或者讀出。這樣的話,對于有些邏輯操作要稍微復雜點。還有個不同的是,無論是STM32還是51在進行IO按鍵輸入的時候,都需要進行按鍵消抖,在這里卻沒又體現(xiàn)出來按鍵消抖,這是為什么呢?據(jù)我了解是這樣,在進行51和STM32實驗的時候,按鍵控制的是數(shù)碼管(數(shù)字增加,降低),所以按鍵的機械抖動會給數(shù)碼管數(shù)字的變化帶來顯著的影響。在這里是按鍵控制led燈的亮和滅,雖然仍然存在機械抖動,但是由于led只有兩種狀態(tài),而且機械抖動只有幾十毫秒,使得人眼分辨不出來了感覺是沒影響一樣。


*/


#define GPFCON      (*(volatile unsigned long *)0x56000050)

#define GPFDAT      (*(volatile unsigned long *)0x56000054)


#define GPGCON      (*(volatile unsigned long *)0x56000060)

#define GPGDAT      (*(volatile unsigned long *)0x56000064)


/*

 * LED1,LED2,LED4對應(yīng)GPF4、GPF5、GPF6

 */

#define GPF4_out    (1<<(4*2))

#define GPF5_out    (1<<(5*2))

#define GPF6_out    (1<<(6*2))


#define GPF4_msk    (3<<(4*2))

#define GPF5_msk    (3<<(5*2))

#define GPF6_msk    (3<<(6*2))


/*

 * S2,S3,S4對應(yīng)GPF0、GPF2、GPG3

 */

#define GPF0_in     (0<<(0*2))

#define GPF2_in     (0<<(2*2))

#define GPG3_in     (0<<(3*2))


#define GPF0_msk    (3<<(0*2))

#define GPF2_msk    (3<<(2*2))

#define GPG3_msk    (3<<(3*2))


int main()

{

        unsigned long dwDat;

        // LED1,LED2,LED4對應(yīng)的3根引腳設(shè)為輸出

        GPFCON &= ~(GPF4_msk | GPF5_msk | GPF6_msk);

        GPFCON |= GPF4_out | GPF5_out | GPF6_out;


        // S2,S3對應(yīng)的2根引腳設(shè)為輸入

        GPFCON &= ~(GPF0_msk | GPF2_msk);

        GPFCON |= GPF0_in | GPF2_in;


        // S4對應(yīng)的引腳設(shè)為輸入

        GPGCON &= ~GPG3_msk;

        GPGCON |= GPG3_in;


        while(1)

        {

            //若Kn為0(表示按下),則令LEDn為0(表示點亮)

            dwDat = GPFDAT;             // 讀取GPF管腳電平狀態(tài)


            if (dwDat & (1<<0))        // S2沒有按下

                GPFDAT |= (1<<4);       // LED1熄滅

            else    

                GPFDAT &= ~(1<<4);      // LED1點亮


            if (dwDat & (1<<2))         // S3沒有按下

                GPFDAT |= (1<<5);       // LED2熄滅

            else    

                GPFDAT &= ~(1<<5);      // LED2點亮


            dwDat = GPGDAT;             // 讀取GPG管腳電平狀態(tài)


            if (dwDat & (1<<3))         // S4沒有按下

                GPFDAT |= (1<<6);       // LED3熄滅

            else    

                GPFDAT &= ~(1<<6);      // LED3點亮

        }


    return 0;

}


關(guān)鍵字:S3C2440  GPIO  按鍵控制  LED燈 引用地址:S3C2440學習之GPIO按鍵控制LED燈

上一篇:STM32定時器之控制LED燈循環(huán)顯示
下一篇:ARM學習之時鐘體系結(jié)構(gòu)

推薦閱讀

STM32是一款低功耗的芯片,所以其外設(shè)均有一個與之對應(yīng)的時鐘,而在芯片剛上電的時候這些時鐘是被關(guān)閉的,所以如果想要外設(shè)工作,便必須將與之對應(yīng)的時鐘打開。 本文介紹如何基于GPIO來通過按鍵控制LEN燈的開關(guān)。 (1)按鍵的控制 上圖所示為按鍵的電路,在按鍵未被按下的時候,KEY2的輸出信號為低電平(按鍵所在的電路不...
節(jié)卡機器人億元B輪融資刷新國內(nèi)協(xié)作機器人領(lǐng)域最高單筆融資,樹根互聯(lián)5億B輪融資創(chuàng)下中國工業(yè)互聯(lián)網(wǎng)平臺融資金額的全新紀錄,曠視科技7.5億美元D輪融資成今年融資大戶。今年上半年,工業(yè)機器人融資依然熱鬧。 據(jù)不完全統(tǒng)計,2019年上半年,工業(yè)機器人領(lǐng)域累計融資案例達43起,AGV、、工業(yè)互聯(lián)網(wǎng)這三個細分領(lǐng)獲得融資的企業(yè)最多,融資案例分別為11起、1...
今天,天馬正式發(fā)布了全球首款LCD屏內(nèi)多點指紋解決方案(TED Finger Print,簡稱TFP),官方稱其具有自主知識產(chǎn)權(quán),兼具高集成化、全屏多點指紋識別、高屏占比等特點。據(jù)介紹,TFP屏內(nèi)多點指紋解決方案是將指紋圖像采集器內(nèi)嵌于TFT顯示基板,首次實現(xiàn)觸控、顯示、指紋識別三項功能融合為一;同時,將光路和sensor覆蓋整個顯示屏,搭載基于玻璃基板的傳感...
聲明:tq 2440m沒有官方的移植文檔,本人在網(wǎng)上查看了很多資料都都也很亂,整理較好的是“唐智浩 2009.12”和“By dyf 2010- 9- 5”的《移植u-boot-1.1.6到tq2440》,但是他們的也有些與我的板子不相符的地方,通過參考他們的文檔和網(wǎng)上資料,經(jīng)過兩天的努力終于弄好了,以下是本人的筆記。一、移植說明1、移植相關(guān)源代碼:u - boot- 1.1.6.tar....

史海拾趣

小廣播
設(shè)計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved