找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2911|回复: 5
收起左侧

求大神教,交通灯咋弄?为啥我这个总失败?

[复制链接]
ID:152530 发表于 2016-12-8 16:25 | 显示全部楼层 |阅读模式
#include<REGX51.H>
#define uchar unsigned char
#define uint unsigned int
uchar n=0,temp=0;
uchar                code segcode0[]={0x5b,0x06,0x3f,0x5b,0x06,0x3f,0x5b,0x06,0x3f};
uchar                code segcode1[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f};
//uchar code segcode0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(x)
{
while(x--);
}
void timer0()interrupt 1
{        TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n++;   
temp=temp%61;  
if(n==20)  
{  
                temp++;  
                n=0;   
}   
if(temp<25) P1=0x21;   
if((temp>=25)&&(temp<28)) P1=0x22;
if((temp>=28)&&(temp<30)) P1=0x24;
if((temp>=30)&&(temp<55)) P1=0x0c;
if((temp>=55)&&(temp<58)) P1=0x14;
if((temp>=58)&&(temp<60)) P1=0x24;
}
void main()
{   uint i=0;    //P1_0=0;
                //P1_7=0;
                TMOD=0x01;  
                TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                //while(1)  //{//i=temp;  
                // }
                // TH1=256-125;
                // TL1=256-125;  
                EA=1;  ET0=1;  
                // ET1=1;  TR0=1;
        while(1)
                {
                                P2_0=0;
                                P2_1=1;   
                                P0=segcode0[temp/10];  
                                delay(3000);
                                P2_0=1;
                                P2_1=0;  
                                P0=segcode1[temp%10];
                                delay(3000);  
                                P2_1=1;//TR1=1;
                }
}
这个程序有错吗?为啥模拟总失败

交通灯.png
交通灯2.png
回复

使用道具 举报

ID:111634 发表于 2016-12-8 20:13 | 显示全部楼层
本帖最后由 zl2168 于 2016-12-8 21:31 编辑

带限行时间显示的模拟交通灯
Proteus仿真一下,确认有效。
对照正确案例,查找自己的错误。
缩短亮灯时间,是为了仿真演示,便于观看,否则,你等得不耐烦了,实际应用时,可可修改延长。
实例30 带限行时间显示模拟交通灯.rar (40.64 KB, 下载次数: 10)
回复

使用道具 举报

ID:153281 发表于 2016-12-8 20:39 | 显示全部楼层
楼上的看起来不错
回复

使用道具 举报

ID:152530 发表于 2016-12-9 21:16 | 显示全部楼层
zl2168 发表于 2016-12-8 20:13
带限行时间显示的模拟交通灯
先Proteus仿真一下,确认有效。
对照正确案例,查找自己的错误。

不过大哥,你没给我程序呀
回复

使用道具 举报

ID:111634 发表于 2016-12-10 12:47 | 显示全部楼层
氺墨留苩 发表于 2016-12-9 21:16
不过大哥,你没给我程序呀

程序在给你推荐的书中,自己可去看。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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