原创
EDNCHINA 51实验板数码管显示秒计数程序
//EDNCHINA 51实验板数码管显示秒计数程序
//计数范围为0~9999;每100报警一次
//编程:LPC
//日期:2007年10月10日
//希望程序能对初学者起到引导作用
#include<reg52.h>
#define uchar unsigned char //定义一下方便使用
#define uint unsigned int
#define ulong unsigned long
sbit P0_4=P0^4;
sbit speaker="P1"^7;
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
static uint count="0";
static uint v="0";
static uint m="0";
uint t;
code uchar LED[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
code uchar L[4]={0xfe,0xfd,0xfb,0xf7};
//主程序
main(void)
{
TH0=0xf8; //T0定时时间为10ms
TL0=0xcd;
TH1=0xdc; //T1定时时间为50ms
TL1=0x00;
TMOD=0x11; //T0,T1设置为模式1
IE=0x8a; //开T0,T1中断
TCON=0x50; //启动T0,T1
while(1)
{
}
}
//T0中断
void tmr0() interrupt 1 using 2
{uint LED1,LED2,LED3,LED4;
m++;
if(m>=4)m=0;
TF0=0; //清除中断标志位
TH0=0xf8; //重新赋值定时器0初值
TL0=0xcd;
LED1=v/1000;
LED2=(v%1000)/100;
LED3=((v%1000)%100)/10;
LED4=((v%1000)%100)%10;
switch(m)
{
case 0:
P0=LED[LED1];
L1=0;
L2=L3=L4=1;
break;
case 1:
P0=LED[LED2];
L2=0;
L1=L3=L4=1;
break;
case 2:
P0=LED[LED3];
L3=0;
L1=L2=L4=1;
break;
case 3:
P0=LED[LED4];
L4=0;
L1=L2=L3=1;
break;
default:
P0=0xff;
L1=L2=L3=L4=1;
break;
}
TR0=1; //启动定时器0
}
//T1中断
void tmr1() interrupt 3 using 3
{ TF1=0;
TH1=0xdc;
TL1=0x00;
count++; //计数器+1
if(count>=100) //到1s
{
count=0; //计数器清零
v++; //秒计数器+1
if(v>9999)v=0; //如果秒数大于9999,秒计数器清零
}
if(count<=1&&!(v%100))
{
speaker=0;
}
else speaker="1";
TR1=1;
}
相关推荐阅读
-
用户741296
2008-10-08 10:31
-
在搞51跑TCP/IP的东西……
-
换了工作,也换了城市。 在这个公司,开始着手整51跑TCP/IP的东西,感觉好费劲!但必须整,这对自己也是个提高啊! 以后在ARM中也会用到TCP这一块,不如提前整整,先给后面最...
-
用户741296
2008-08-28 15:28
-
ASN.1学习笔记
-
ASN.1即抽象语法符号,用来定义应用程序数据和表示协议数据单元的抽象语言。优点是独立于机器、语言及应用程序的内部表示。适用于描述现代通信中复杂的、变化的、可扩展的数据结构。比如3G和VoIP均采用了...
-
用户741296
2008-07-16 16:26
-
辞职了!哈哈……
-
辞职了!这是最后一次以这家公司员工的身份这里发帖。心里轻松许多……虽然辞职了,但心里是非常喜悦的!离开了这个让自己心里非常不爽的公司。但有一点不可否认,就是我在这里学到了很多。我不是忘恩负义,只是这...
-
用户741296
2008-04-11 15:00
-
这个项目终于接近尾声了!
-
又是很久沒有發日誌了! 主要是由於這段時間忙著趕一個項目。終於算是接近尾聲了,因為現在正在測試,肯定後面還有一些工作要做。 這個項目其實也沒有什麽,通過雙串口實現上下行的通訊連接,...
-
用户741296
2008-02-29 15:54
-
好久没有写东西了!
-
好久没有在这里写东西了,想写点什么。那就汇总一下近来的工作吧! 年前一段时间一直在整SD卡的相关工作,其实很早一段时间就开始整了,只是没有东西才没有及时动手,但一直在研究相关资料。所以,...
-
用户741296
2008-01-02 10:59
-
崭新的2008已经开始!
-
崭新的2008已经开始! 在2008,世界瞩目中国。2008是属于中国的!北京奥运会,将会把中国带向世界,也会把世界带回中国。 让我们在2008,让中国在2008,展现自我,展现辉...
用户741296 2007-10-26 14:48