找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4608|回复: 0
收起左侧

单片机模拟交通灯的Proteus仿真

[复制链接]
ID:248900 发表于 2017-11-13 13:05 | 显示全部楼层 |阅读模式
模拟交通灯仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

模拟交通灯单片机源程序如下:
  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)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表