您现在所在的是:

单片机论坛

回帖:1个,阅读:668 [上一页] [1] [下一页]
718
h661005
文章数:139
年度积分:50
历史总积分:718
注册时间:2010/5/28
发站内信
发表于:2010/8/16 21:49:29
#0楼
不太了解定时/计数器的用法,但是还是用了t0和t1稀里糊涂的弄出一个时钟来,也不知道哪些语句是比必须的哪些是不必须的。哈哈,先打个记号,有错再回来改。
 还是p2的位选,p0的段选。共8个数码管。本来想用intrins.h里面的一个循环移位程序的,但是想了半天没得出接过来,还希望会的指点下哈
程序
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//0123456789-
uchar count0,count1,second,minute,hour=12;
void delay1ms(uint z)//延时用来刷心数码管的间隙不明白为什么不要这个延时不行
{
uint x,y;
{
 for(x=z;x>0;x--)
 {
  for(y=110;y>0;y--);
 }
}
}
void t0() interrupt 1
{
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
count0++;
if(count0==20)
{
 count0=0;
 second++;
 if(second==60)
 {
  second=0;
  minute++;
  if(minute==60)
  {
   minute=0;
   hour++;
   if(hour==24)
   {
    hour=0;
   }
  }
 }
}
}
void t1() interrupt 3 //这个定时器1,不明白初值的设置长短有什么用,貌似没起作用
{

th1=(65536-1000)/256;
tl1=(65536-1000)%256;
p2=0x7f;
p0=table[second%10];
delay1ms(1);
p2=0xbf;
p0=table[second/10];
delay1ms(1);
p2=0xdf;
p0=table[10];
delay1ms(1);
p2=0xef;
p0=table[minute%10];
delay1ms(1);
p2=0xf7;
p0=table[minute/10];
delay1ms(1);
p2=0xfb;
p0=table[10];
delay1ms(1);
p2=0xfd;
p0=table[hour%10];
delay1ms(1);
p2=0xfe;
p0=table[hour/10];
delay1ms(1);
}
void main()
{
tmod=0x11;
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
th1=(65536-1000)/256;
tl1=(65536-1000)%256;
et0=1;
et1=1;
tr0=1;
tr1=1;
ea=1;
while(1)
{

}

}
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=121392&Name=h661005
20507
qlin 版主
文章数:6709
年度积分:50
历史总积分:20507
注册时间:2006/2/20
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2010/8/17 13:20:09
#1楼
不太了解就做试验,取得感性认识。
先不管三七二十一,能得出结果就行;然后回头再看,就清楚多了。


欢迎您支持 “中华工控网” 论坛  http://bbs.gkong.com/    “电工技术”版块
————
本人技术久已荒置,不便参与技术讨论、更无法答疑,只能一旁看看,偶尔可能提示一下队形、以示存在感……
各位见谅,谢了!   20170501启

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002