单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机实现简易交通灯的程序和电路图

  [复制链接]
跳转到指定楼层
楼主
这是我前几天无聊自己写的交通灯程序,在51单片机上实现的。基本的定时的交通灯转换是实现了,根据时间来改变交通灯的变换。可以下载下来看看的,电路图和原程序都有,代码就自己下载吧。我不全放上了。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

单片机源程序:
  1. #include<reg51.h>
  2. sbit beiR=P1^0;
  3. sbit beiY=P1^1;
  4. sbit beiG=P1^2;
  5. sbit nanR=P1^3;
  6. sbit nanY=P1^4;
  7. sbit nanG=P1^5;
  8. uint a,b,c,type,j,i;
  9. void Delay(uint x)                   //延时
  10. {
  11.         uchar i;
  12.         while(x--)for(i=0;i<120;i++);        

  13. }
  14. void delay_ms(uint q)           //延时
  15. {         
  16.         uint i,j;
  17.         for(i=q;i>0;i--)
  18.         for(j=141;j>0;j--);
  19. }
  20. void shumaguan(uint k)           //数码管显示
  21. {
  22.                 b=k/10;
  23.                 c=k%10;
  24.                 P3=11111101;
  25.                 P2=smg_dw[b];//选段码
  26.         delay_ms(20);//延时5ms
  27.                 P3=11111110;
  28.                 P2=smg_dw[c];//选段码
  29.                 delay_ms(20);//延时5ms
  30. }
  31. main()
  32. {
  33.         TMOD=0x01;                                   //设置定时器T0为工作方式1定时
  34.         TH0=(65536-50000)/256;
  35.         TL0=(65536-50000)%256;
  36.         TR0=1;                                          //启动T0计数
  37.         ET0=1;                                          //允许T0中断
  38.         EX0=1;                                          //允许外部中断0中断
  39.         EA=1;                                          //开中断
  40.         IT0=1;                                          //允许外部中断0为边沿触发方式
  41.         a=10;                                          //倒计时10s
  42.         type=1;
  43.         while(1){
  44.                 switch(type)
  45.                 {
  46.                         case 1: //东西向绿灯与南北向红灯亮
  47.                                 beiR=0;beiY=1;beiG=1;
  48.                                 nanR=1;nanY=1;nanG=0;
  49.                                 shumaguan(a);
  50.                         break;
  51.                         case 2: //东西向黄灯闪烁,绿灯关闭        
  52.                                 if(a%2!=0)
  53.                                 {
  54.                                 beiR=1;beiY=0;beiG=1;
  55.                                 }
  56.                                 if(a%2==0)
  57.                                 {               
  58.                                 beiR=1;beiY=1;beiG=1;
  59.                                 }
  60.                                 shumaguan(a);
  61.                         break;
  62.                         case 3: //东西向红灯,南北向绿灯亮
  63.                                 beiR=1;beiY=1;beiG=0;
  64.                                 nanR=0;nanY=1;nanG=1;
  65.                                 shumaguan(a);
  66.                         break;
  67.                         case 4: //南北向黄灯闪烁3次
  68.                                 if(a%2!=0)
  69.                                 {
  70.                                 nanR=1;nanY=0;nanG=1;
  71.                                 }        
  72.                                 if(a%2==0)
  73.                                 {        
  74.                                 nanR=1;nanY=1;nanG=1;
  75.                                 }
  76.                                 shumaguan(a);
  77.                         break;
  78.                 }
  79.                         }
  80. }
复制代码



全部资料51hei下载地址:
51单片机实现定时交通灯.rar (55.81 KB, 下载次数: 188)



评分

参与人数 4黑币 +61 收起 理由
daxudaai + 1 很给力!
Ekoo + 5 共享资料的黑币奖励!
hhhgg + 5
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

无效楼层,该帖已经被删除
板凳
凯尔特 发表于 2018-5-6 15:43 | 只看该作者
你的proteus仿真没有办法打开,格式上传错误的。请解决。
回复

使用道具 举报

地板
guiyajin 发表于 2018-5-7 12:42 | 只看该作者
谢谢  
回复

使用道具 举报

5#
13033542722 发表于 2018-5-16 08:58 | 只看该作者
不能用啊

[code][/code]
回复

使用道具 举报

6#
q734258234 发表于 2018-6-3 21:13 | 只看该作者
数码管是共阴的还是共阳的
回复

使用道具 举报

7#
sbdf 发表于 2018-6-14 08:48 | 只看该作者
回复

使用道具 举报

8#
无效楼层,该帖已经被删除
9#
无效楼层,该帖已经被删除
10#
无效楼层,该帖已经被删除
11#
1785346 发表于 2018-6-16 21:02 | 只看该作者
666太棒了
回复

使用道具 举报

12#
Marauder 发表于 2018-9-14 21:20 | 只看该作者
谢谢你啊////
回复

使用道具 举报

13#
3361541322 发表于 2018-9-15 19:15 | 只看该作者
凯尔特 发表于 2018-5-6 15:43
你的proteus仿真没有办法打开,格式上传错误的。请解决。

那个可能是版本问题吧
回复

使用道具 举报

14#
衷曲无默 发表于 2018-10-6 15:10 | 只看该作者
代码有错
回复

使用道具 举报

15#
zjx66666 发表于 2018-11-22 15:14 | 只看该作者
压缩包错误打不开啊
回复

使用道具 举报

16#
100234 发表于 2018-11-22 18:06 来自手机 | 只看该作者
衷曲无默 发表于 2018-10-6 15:10
代码有错

我也觉得好像是有点问题的样子
回复

使用道具 举报

17#
1378917401 发表于 2018-11-24 15:11 | 只看该作者
定义的那里有错误啊
回复

使用道具 举报

18#
无效楼层,该帖已经被删除
19#
无效楼层,该帖已经被删除
20#
zjlmm 发表于 2019-1-10 16:25 | 只看该作者
仿真图根本打不开
回复

使用道具 举报

21#
zjlmm 发表于 2019-1-10 16:45 | 只看该作者
用isis打开不了
回复

使用道具 举报

22#
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

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