求单片机高手!编写用定时器中断的秒表程序,仿真成功后把程序源代码,和仿真文件发给我。万分感谢。 5

 我来答
sdlylshl9
2014-11-09 · TA获得超过1814个赞
知道小有建树答主
回答量:779
采纳率:75%
帮助的人:254万
展开全部
#include <REGX52.H>
#include <INTRINS.H>

unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

unsigned char k=0,x,t;
sbit key=P3^7;

void delay(unsigned char xms)
{
unsigned char i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

void keyscan()
{
if(key==0)
{
delay(10);
if(key==0)
{
k++;
if(k>=4)
k=0;
while(!key);
}
}
// while(key=!key);
}

void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0x0B0;
EA = 1;
ET0 = 1;
TR0 = 1;
}

void main(void)
{
InitTimer0();
while(1)
{
keyscan();
switch(k)
{
case 0x01:
TR0=0;
break;
case 0x02:
TR0=1;
break;
case 0x03:
t=0;
break;
}
// P0=0x00;
P0=table[t/10];
// P2=0x01;
delay(2);
// P0=0x00;
P2=table[t%10];
// P2=0x02;
delay(2);
}
}

void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x3C;
TL0 = 0x0B0;
x++;
if(x==20)
{x=0;t++;}
if(t==60)
t=0;
}

这是10s秒表程序,仿真文件可以传给你。
查晓筠0i5
2014-11-08 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4962万
展开全部
具体什么要求
可以发给我
更多追问追答
追问
就是 用51单片机实现的0到99的秒表的设计 加一个定时器进行中断即可。
新手水平即可,麻烦大哥弄好了把程序源代码和仿真文件发给我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匡默cP
2014-11-09 · 超过19用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:37.6万
展开全部
仿真要用什么软件来实现?
追问
秒表用数码管显示,仿真用isis显示,做好把文件上传给我,感激不尽啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式