这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 设计工具 » 89c51十字路****通灯可调接时间的C语言程序?怎样修改?

共2条 1/1 1 跳转至

89c51十字路****通灯可调接时间的C语言程序?怎样修改?

菜鸟
2011-12-20 20:37:55     打赏
#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;
 }
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;
   }
}



关键词: 89c51     十字路     通灯     可调     接时     间的     语言程    

工程师
2012-04-22 14:51:04     打赏
2楼
改什么?你把你想问的东西说出来啊

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]