找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3228|回复: 1
打印 上一主题 下一主题
收起左侧

单片机模拟交通灯源程序+proteus仿真

[复制链接]
跳转到指定楼层
楼主
交通灯的仿真图:


源程序:
  1. #include <reg51.h>
  2. unsigned char t0,t1;
  3. void delay0_5s1()
  4. {

  5. for(t0=0;t0<10;t0++)
  6.      {
  7.          TH1=(65536-50000)/256;
  8.          TH1=(65536-50000)%256;
  9.          TR1=1;
  10.          while(!TF1);
  11.          TF1=0;       
  12.      }

  13. }
  14. void delay_t1(unsigned char t)
  15. {
  16. for(t1=0;t1<t;t1++)
  17. delay0_5s1();
  18. }
  19. void int_0() interrupt 0
  20. {
  21. unsigned char i,j,k,l,m;
  22. i=P1;
  23. j=t0;
  24. k=t1;
  25. l=TH1;
  26. m=TL1;
  27. P1=0xdb;
  28. delay_t1(20);
  29. P1=i;
  30. t0=j;
  31. t1=k;
  32. TH1=l;
  33. TL1=m;
  34. }
  35. void int_1() interrupt 2
  36. {
  37. unsigned char i,j,k,l,m;

  38. i=P1;
  39. j=t0;
  40. k=t1;
  41. l=TH1;
  42. m=TL1;
  43. P1=0xf3;
  44. delay_t1(10);
  45. P1=i;
  46. t0=j;
  47. t1=k;
  48. TH1=l;
  49. TL1=m;

  50.   
  51. }
  52. void main()
  53. { unsigned char k;
  54.   TMOD=0X10;
  55.   EA=1;
  56.   EX0=1;
  57.   IT0=1;
  58.   EX1=1;
  59.   IT1=1;
  60.   while(1)
  61.   {
  62.    P1=0Xf3;
  63.    delay_t1(110);
  64.    for(k=0;k<3;k++)
  65.       {
  66.            P1=0Xfb;
  67.           delay0_5s1();
  68.            P1=0Xf3;
  69.           delay0_5s1();
  70.       }
  71.    P1=0Xeb;
  72.    delay_t1(4);
  73.    P1=0Xde;
  74.    delay_t1(110);
  75.    for(k=0;k<3;k++)
  76.       {
  77.            P1=0Xde;
  78.            delay0_5s1();
  79.            P1=0Xdf;
  80.            delay0_5s1();
  81.       }
  82.    P1=0Xdd;
  83.    delay_t1(4);

  84.   }
  85. }
复制代码



模拟交通灯.rar

44.72 KB, 下载次数: 16, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:193002 发表于 2017-4-25 20:14 | 只看该作者
感谢fnexiang
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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