标题: 单片机模拟交通灯的Proteus仿真 [打印本页]

作者: 813640712    时间: 2017-11-13 13:05
标题: 单片机模拟交通灯的Proteus仿真
模拟交通灯仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


模拟交通灯单片机源程序如下:
  1. # include <absacc.h>
  2. # define PORTB   XBYTE[0X7FFA]
  3. # define CONTROL XBYTE[0X7FF8]
  4. void delaylong(void);
  5. void delayshort(void) ;
  6. void main(void)
  7. {
  8.           
  9.            CONTROL=0X02;//设定工作方式
  10.            PORTB=0XFF;//关闭所有LED
  11.           
  12.            while(1)       
  13.            {
  14.                   PORTB=0X36;//南北绿,东西红
  15.               delaylong();
  16.               PORTB=0X37;//东西红
  17.               delayshort();   
  18.               PORTB=0X35;//南北黄,东西红          南北黄灯闪第1次
  19.               delayshort();
  20.               PORTB=0X37;//东西红
  21.               delayshort();   
  22.               PORTB=0X35;//南北黄,东西红          南北黄灯闪第2次
  23.               delayshort();
  24.                           PORTB=0X37;//东西红
  25.               delayshort();   
  26.               PORTB=0X35;//南北黄,东西红          南北黄灯闪第3次
  27.               delayshort();
  28.                           PORTB=0X1B;//东西绿,南北红
  29.                           delaylong();
  30.               PORTB=0X3B;//南北红
  31.                           delayshort();
  32.                           PORTB=0X2B;//东西黄,南北红          南北黄灯闪第1次                                 
  33.                           delayshort();
  34.                           PORTB=0X3B;//南北红
  35.                           delayshort();
  36.                           PORTB=0X2B;//东西黄,南北红          南北黄灯闪第2次                                 
  37.                           delayshort();                          
  38.                           PORTB=0X3B;//南北红
  39.                           delayshort();
  40.                           PORTB=0X2B;//东西黄,南北红          南北黄灯闪第3次                                 
  41.                           delayshort();            
  42.            }
  43. }
  44. //延时函数
  45. void delaylong()
  46. {
  47.           unsigned  j,k,m;
  48.           for(j=0;j<30000;j++);
  49.           for(k=0;k<30000;k++);
  50.           for(m=0;m<30000;m++);
  51.           for(j=0;j<30000;j++);
  52.           for(k=0;k<30000;k++);
  53.           for(m=0;m<30000;m++);
  54.           for(j=0;j<30000;j++);
  55.           for(k=0;k<30000;k++);
  56.           for(m=0;m<30000;m++);
  57. ……………………

  58. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
实验四.rar (60.02 KB, 下载次数: 21)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1