基于凌阳单片机交通灯的设计.pdfVIP

  • 0
  • 0
  • 约2.84千字
  • 约 4页
  • 2020-10-22 发布于广东
  • 举报
学 海 无 涯 基于凌阳单片机交通灯的设计 一、实验设备:凌阳开发板一块,unSPIDE 3.0.4 编译软件 二、实验目的:红灯显示时间50s,黄灯显示时间5s,绿灯显示时间50s 三、实验程序的编写 1、首先打开unSPIDE 3.0.4 编译软件,建一个名字为miaobiao 的工程 2 、新建一个c 文件命名 main ,输入相应的代码并保持(代码见附件) 3、添加头文件#include SPCE061V004.h ,方法是在软件的安装目录下找到 SPCE061V004.h 文件,并复制到miaobiao 工程文件夹下,然后把SPCE061V004.h 文件 添加到工程中(不填加该文件进工程会报错)。 上面两段代码在unSPIDE 3.0.4 上编译通过,在低版本软件上编译可能会出现错误 四、硬件的连接 1、共阴的二位数码管1 个,排针若干,导线若干,LED 灯6 个(灯的个数可以自己定,现 在暂时定为6 个) 2 、单片机上的IOA0~IOA7 引脚分别接数码管a~dp ,用于控制断选 IOB0~IOB2 分别接数码管位选脚,用于控制位选 IOB3 接焊好LED 六个灯的公共端 电路图: 1 学 海 无 涯 五、实验代码: #include SPCE061V004.h #define P_WatchDog_Clear (volatile unsigned int *) 0x7012 static int b[10]={0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};// 共 阴 int temp,shi,ge,LED; void delay(int z); main() { int i=0; *P_IOA_Attrib=0x00ff;//设置A 口低8 位为同向低输出,高8 位为同向上拉输入 *P_IOA_Dir=0x00ff; *P_IOA_Data=0xff00;// *P_IOB_Attrib=0x00ff;//初始化IB0~IB1 ,控制数码管的位选 *P_IOB_Dir=0x00ff; *P_IOB_Data=0x0000; *P_TimerA_Ctrl=C_SourceA_8192Hz+C_SourceB_1;//设置定时器TimerA:8192Hz *P_TimerA_Data=0xe000;//计数初值,定时时间为1s,X=65536- 1*8192=e000h *P_INT_Ctrl=C_IRQ1_TMA; 2 学 海 无 涯 temp=50; LED=0x0003;//红灯亮 __asm(INT IRQ);//安装定时,开放IRQ 的总中断允许位,但FIQ 中断仍禁止 while(1) { if(temp==00i==0) { temp=5; i=1; LED=0x000c;//黄灯亮 } else if(temp==00i==1) { temp=50; LED=0x0030;//绿灯亮 i=2; } else if(temp==00i==2) { temp=5; LED=0x

文档评论(0)

1亿VIP精品文档

相关文档