嵌入式实验报告(4)

2019-04-09 08:49

void Traffic_lignt() {

switch(Operation_Type) {case 1: IO0SET=RED_A; IO0SET=YELLOW_A; IO0CLR=GREEN_A; IO0CLR=RED_B; IO0SET=YELLOW_B; IO0SET=GREEN_B; DelayMS(2000); Operation_Type = 2; break; case 2: DelayMS(200); IO0SET=YELLOW_A; DelayMS(200); IO0CLR=YELLOW_A; IO0SET=GREEN_A; if(++Flash_Count !=5) return; Flash_Count=0; Operation_Type = 3; break; case 3: IO0CLR=RED_A; IO0SET=YELLOW_A; IO0SET=GREEN_A; IO0SET=RED_B; IO0SET=YELLOW_B; IO0CLR=GREEN_B; DelayMS(2000); Operation_Type = 4; break; case 4: DelayMS(200); IO0SET=YELLOW_B; DelayMS(200); IO0CLR=YELLOW_B; IO0SET=GREEN_B; if(++Flash_Count !=5) return; Flash_Count=0; Operation_Type = 1; break; } }

int main(void) { PINSEL0=0x00000000;

PINSEL1=0X00000000; IO0DIR=0x00003f00; while(1)

{Traffic_lignt(); }}

十一、流水灯 实验电路图:

#include \

void DelayNS (uint32 dly) { uint32 i; for ( ; dly>0; dly--) for (i=0; i<50000; i++); }

int main (void) { PINSEL0 = 0x00000000; IO0DIR = 0x000000ff; while (1) { IO0PIN = 0xAA; DelayNS(15); IO0PIN = 0x55 ; DelayNS(15); IO0PIN = 0x00 ; DelayNS(15); }}

十二、模拟交通灯 实验电路图:

源程序:

#include #define RED_A (1<<8); #define YELLOW_A (1<<9); #define GREEN_A (1<<10); #define RED_B (1<<11); #define YELLOW_B (1<<12); #define GREEN_B (1<<13); uint8 Flash_Count = 0; uint8 Operation_Type = 1; void DelayMS(uint16 x) { uint16 t; while(x--) {for(t=500;t>0;t--);} }

void Traffic_lignt() {

switch(Operation_Type) {case 1: IO0SET=RED_A; IO0SET=YELLOW_A; IO0CLR=GREEN_A; IO0CLR=RED_B; IO0SET=YELLOW_B; IO0SET=GREEN_B; DelayMS(2000); Operation_Type = 2; break; case 2: DelayMS(200); IO0SET=YELLOW_A; DelayMS(200); IO0CLR=YELLOW_A; IO0SET=GREEN_A; if(++Flash_Count !=5) return;

Flash_Count=0;

Operation_Type = 3; break; case 3: IO0CLR=RED_A; IO0SET=YELLOW_A; IO0SET=GREEN_A; IO0SET=RED_B; IO0SET=YELLOW_B; IO0CLR=GREEN_B; DelayMS(2000); Operation_Type = 4; break; case 4: DelayMS(200); IO0SET=YELLOW_B; DelayMS(200); IO0CLR=YELLOW_B; IO0SET=GREEN_B; if(++Flash_Count !=5) return; Flash_Count=0; Operation_Type = 1; break; }

}

int main(void) { PINSEL0=0x00000000; PINSEL1=0X00000000; IO0DIR=0x00003f00; while(1) {Traffic_lignt(); }}

十三、FIQ中断服务 实验电路图:

#include \

#define LED1 1 << 18 #define EINT0 14 int main (void)

{ PINSEL1 = 0x00000001; IO0DIR = LED1; EXTMODE = 0x00; FIQEnable(); VICIntSelect = 1 << EINT0; EXTINT = 0x01; VICIntEnable = 1 << EINT0; while (1); }

void FIQ_Exception(void) { uint32 i; i = IO0SET; if ((i & LED1) == 0) IO0SET = LED1; else IO0CLR = LED1; while ((EXTINT & 0x01) != 0) { EXTINT = 0x01; } }

十四、按键控制LED 实验内容:

每一按键对应一个LED灯,当按键被按下,对应的LED灯亮;

实验电路图:

#include \IO0SET=LED4; else IO0CLR=LED4; break; #include \ case KEY5 :if((IO0PIN&LED5)!=LED5) void DelayNS(uint32 dly) IO0SET=LED5; else IO0CLR=LED5; break; { uint32 i; case KEY6 :if((IO0PIN&LED6)!=LED6) for(; dly>0; dly--) IO0SET=LED6; else IO0CLR=LED6; break; for(i=0; i<50000; i++); case KEY7 :if((IO0PIN&LED7)!=LED7) } IO0SET=LED7; else IO0CLR=LED7; break; void keyscan(void) case KEY8 :if((IO0PIN&LED8)!=LED8) { uint32 i,j,k; IO0SET=LED8; else IO0CLR=LED8; break; k=IO0PIN; }} if((k&keycon)!=keycon) while((k&keycon)!=keycon) k=IO0PIN; { }} for(j=0; j<50000; j++); int main(void) k=IO0PIN; { if((k&keycon)!=keycon) TargetResetInit(); { i=(k&keycon)|(~keycon); PINSEL0 = 0x00000000; i=~i; PINSEL1 = 0x00000000; switch(i) IO0DIR = 0x000000ff; { case KEY1 :if((IO0PIN&LED1)!=LED1) IO0CLR = 0xffffffff; IO0SET=LED1;else IO0CLR=LED1;break; while(1) case KEY2 :if((IO0PIN&LED2)!=LED2) {

IO0SET=LED2;、else IO0CLR=LED2; break; keyscan();

} case KEY3 :if((IO0PIN&LED3)!=LED3)

} IO0SET=LED3;else IO0CLR=LED3; break;

case KEY4 :if((IO0PIN&LED4)!=LED4)


嵌入式实验报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大气污染控制工程试题库(2013)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: