久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
S3C2440微控制器外部中斷實驗
[打印本頁]
作者:
Mr.zhang43
時間:
2020-5-21 10:46
標題:
S3C2440微控制器外部中斷實驗
實驗目的:掌握S3C2440微控制器I/O和外部中斷的使用方法
實驗內容:
用外部中斷的方式,實現:
(1)按下K11,LED1閃爍2次;
(2)按下K12,LED2閃爍2次;
(3)按下K13,LED3閃爍2次;
(4)按下K14,LED4閃爍2次;
(5)按下K15,LED1與LED3一起閃爍2次;
(6)按下K16,LED2與LED4一起閃爍2次;
要求使用下降沿觸發外部中斷。
#include "2440addr.h"
#include "2440lib.h"
#define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control
#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data
#define rGPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B
U16 i,a;
int delay(int times);
void INIT_interrupt(void);
static void __irq Eint1_ISR(void)
{
U8 j = 0;
for( j=0;i<2;i++){
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1c0; //LED1亮 1110
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
rSRCPND=(rSRCPND&~(0x1<<1))|(0x1<<1);
rINTPND=(rINTPND&~(0x1<<1))|(0x1<<1);
}
}
static void __irq Eint2_ISR(void)
{
U8 j = 0;
for(j=0;i<2;i++){
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1a0; //LED2亮 1101
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
rSRCPND=(rSRCPND&~(0x1<<2))|(0x1<<2);
rINTPND=(rINTPND&~(0x1<<2))|(0x1<<2 );
}
}
static void __irq Eint3_ISR(void)
{
U8 j = 0;
for(j=0;i<2;i++){
rGPBDAT= (rGPBDAT&~(0xf<<5))|0x160; //LED3亮 1011
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
rSRCPND=(rSRCPND&~(0x1<<3))|(0x1<<3);
rINTPND=(rINTPND&~(0x1<<3))|(0x1<<3 );
}
}
static void __irq Eint4_7_ISR(void)
{
U8 j = 0;
if(rEINTPEND == (rEINTPEND&~(0x1<<4))|(0x1<<4)){
for(j=0;i<2;i++){
rGPBDAT= (rGPBDAT&~(0xf<<5))|0x0e0; //LED4亮 0111
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
}
rEINTPEND=(1<<4);
ClearPending(BIT_EINT4_7);
}else if(rEINTPEND == (rEINTPEND&~(0x1<<5))|(0x1<<5)){
for(j=0;i<2;i++){
rGPBDAT= (rGPBDAT&~(0xf<<5))|0x140; //LED1,3亮 1010
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
}
rEINTPEND=(1<<5);
ClearPending(BIT_EINT4_7);
}else if(rEINTPEND == (rEINTPEND&~(0x1<<6))|(0x1<<6)){
for(j=0;i<2;i++){
rGPBDAT= (rGPBDAT&~(0xf<<5))|0xA0; //LED2,4亮 0101
delay(50000000);
rGPBDAT=(rGPBDAT&~(0xf<<5))|0x1E0; //全滅 1111
delay(50000000);
}
rEINTPEND=(1<<6);
ClearPending(BIT_EINT4_7);
}
rSRCPND=(rSRCPND&~(0x1<<1))|(0x1<<1);
rINTPND=(rINTPND&~(0x1<<1))|(0x1<<1 );
rEINTPEND=(rEINTPEND&~(0x7<<4))|(0x7<<4);
}
void INIT_interrupt()
{
rINTMSK=(rINTMSK&~(0x1<<1)); //中斷屏蔽(INTMSK)寄存器
//56000050 11 10
rGPFCON = (rGPFCON&~(0x3<<2))|(0x2<<2);//GPF1設置為 外部中斷1
rGPFCON = (rGPFCON&~(0x3<<4))|(0x2<<4);//GPF2設置為 外部中斷2
rGPFCON = (rGPFCON&~(0x3<<6))|(0x2<<6);//GPF3設置為 外部中斷3
rGPFCON = (rGPFCON&~(0x3<<8))|(0x2<<8);//GPF4設置為 外部中斷4
rGPFCON = (rGPFCON&~(0x3<<10))|(0x2<<10);//GPF5設置為 外部中斷5
rGPFCON = (rGPFCON&~(0x3<<12))|(0x2<<12);//GPF6設置為 外部中斷6
rEXTINT1 =(rEXTINT1&~(0x7<<4))|(0x2<<4) //外部中斷1,使用下降沿觸發
rEXTINT1 =(rEXTINT1&~(0x7<<8))|(0x2<<8) //外部中斷2,使用下降沿觸發
rEXTINT1 =(rEXTINT1&~(0x7<<12))|(0x2<<12) //外部中斷3,使用下降沿觸發
rEXTINT1 =(rEXTINT1&~(0x7<<16))|(0x2<<16) //外部中斷4,使用下降沿觸發
rEXTINT1 =(rEXTINT1&~(0x7<<20))|(0x2<<20) //外部中斷5,使用下降沿觸發
rEXTINT1 =(rEXTINT1&~(0x7<<24))|(0x2<<24) //外部中斷6,使用下降沿觸發
pISR_EINT1=(U32)Eint1_ISR;//把EINT1的中斷入口地址放進去
pISR_EINT2=(U32)Eint2_ISR;//把EINT2的中斷入口地址放進去
pISR_EINT3=(U32)Eint3_ISR;//把EINT3的中斷入口地址放進去
pISR_EINT4_7=(U32)Eint4_7_ISR;//把EINT4_7的中斷入口地址放進去
rSRCPND=(rSRCPND&~(0xF<<1))|(0xF<<1); //初始化時也清除一下掛起寄存器
rINTPND=(rINTPND&~(0xF<<1))|(0xF<<1);
rEINTPEND=(rEINTPEND&~(0x7<<4))|(0x7<<4);
//如果有外部中斷4-23,則中斷掛起寄存器也要清零一下,中斷屏蔽寄存器也要改為可服務
rINTMSK=(rINTMSK&~(0xF<<1))|(0x0<<1); //中斷屏蔽(INTMSK)寄存器 EINT1\ENIT2\ENIT3\ENIT4_7使能
rEINTMASK = (rEINTMASK&~(0x7<<4))|(0x0<<4);//子中斷屏蔽寄存器 EINT4\ENIT5\ENIT6使能
}
/* 自定義簡單延遲程序 */
int delay(int times)
{
int i;
for(i=0;i<times;i++);
return 0;
}
void xmain(void)
{
ChangeClockDivider(3,1);
ChangeMPllValue(127,2,1); //405MHZ
//Rtc_Init(); //實時時鐘初始化
Isr_Init();
Uart_Init(0, 115200);
Uart_Select(0);
rGPBCON=(rGPBCON & ~(0xFF<<10)) | (0x55<<10);//GPB5-8 set output
rGPBUP |= (0xFF<<5); //disable GPB pull up
INIT_interrupt();
while(1);
}
復制代碼
全部資料51hei下載地址:
外部中斷實驗.zip
(127.18 KB, 下載次數: 11)
2020-5-21 10:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
devcang
時間:
2024-1-6 20:13
還有TX玩 2440 么
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
中文字幕亚洲一区二区三区
|
国产一区二区高清在线
|
国产精品日韩欧美一区二区
|
男人影音
|
av手机免费在线观看
|
羞羞涩涩在线观看
|
毛色毛片免费看
|
日韩欧美成人精品
|
美日韩免费视频
|
亚洲乱码一区二区三区在线观看
|
亚洲成人黄色
|
四虎永久影院
|
亚洲欧美综合
|
国产成人精品a视频
|
亚洲成人av
|
人人干人人爽
|
另类专区成人
|
亚洲欧美在线一区
|
精品91视频
|
精国产品一区二区三区四季综
|
中文天堂网
|
美女人人操
|
欧美在线观看一区
|
一区二区三区四区免费观看
|
亚洲免费观看视频网站
|
五月婷婷丁香
|
91久久婷婷
|
九一在线观看
|
久久国内精品
|
人人射人人插
|
av毛片在线免费观看
|
91n成人
|
欧美综合一区
|
中文二区
|
亚洲精品电影
|
亚洲精品68久久久一区
|
日韩成人一区
|
成人午夜网站
|
国产精品久久久久久久久久免费看
|
午夜欧美日韩
|
91久久
|