找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
#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 (115.88 KB, 下载次数: 126)

交通灯.png

交通灯2.png (119.75 KB, 下载次数: 132)

交通灯2.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2016-12-8 20:13 | 只看该作者
本帖最后由 zl2168 于 2016-12-8 21:31 编辑

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

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行书中电路和程序设计有详细说明,程序语句条条有注解。

回复

使用道具 举报

板凳
ID:153281 发表于 2016-12-8 20:39 | 只看该作者
楼上的看起来不错
回复

使用道具 举报

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

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

使用道具 举报

5#
ID:111634 发表于 2016-12-10 12:47 | 只看该作者
氺墨留苩 发表于 2016-12-9 21:16
不过大哥,你没给我程序呀

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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