找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5111|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

幫我看看程序 一個(gè)簡(jiǎn)單的數(shù)字累加器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:38293 發(fā)表于 2012-4-25 13:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; uchar ge, shi, bai, qian, wan,tt; uint z; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void display(uint z); void delay(uchar x); void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; z=0; while(1); } void timer0() interrupt 1 //中斷函數(shù)定時(shí)1秒 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; if(tt==20) { tt=0; z++; if(z==10000) z=0; display(z); } } void display(z) //顯示函數(shù),顯示五位數(shù) { while(1) { wan=z/10000; qian=z%10000/1000; bai=z%1000/100; shi=z%100/10; ge=z%10; dula=1; P0=table[wan]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } } void delay(uchar x)//延時(shí)函數(shù)造成殘影 { uint a,y; for(a=x;a>0;a--) for(y=110;y>0;y--); } 謝謝了 小弟剛剛學(xué) 希望各位不吝賜教 附加附件 [upload=c,計(jì)數(shù)器.c]viewFile.asp?ID=1051[/upload]
[此貼子已經(jīng)被作者于2012-4-25 13:02:36編輯過(guò)]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:35775 發(fā)表于 2012-4-25 17:00 | 只看該作者
不能用嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:38293 發(fā)表于 2012-4-25 19:15 | 只看該作者
恩 跑不了 ,只是顯示000001 幫忙瞅瞅吧?
回復(fù)

使用道具 舉報(bào)

地板
ID:39537 發(fā)表于 2012-5-2 17:01 | 只看該作者
大致看了一下,z的數(shù)據(jù)類型錯(cuò)了,不應(yīng)該是uint類型的.還有中斷服務(wù)程序再調(diào)用函數(shù),太復(fù)雜,中斷服務(wù)程序越短小越好
回復(fù)

使用道具 舉報(bào)

5#
ID:46654 發(fā)表于 2012-11-21 17:16 | 只看該作者

已經(jīng)給你修改過(guò)了  你寫的有點(diǎn)小問(wèn)題

 

 

 

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar ge, shi, bai, qian, wan,tt,z;

uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
void display(uchar z);
void delay(uchar x);
void main()
{
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;
 ET0=1;
 TR0=1; 
 z=0;
 while(1)

{
void display();

}
}

void timer0() interrupt 1  //中斷函數(shù)定時(shí)1秒
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 tt++; 
 if(tt==20)
 {
  tt=0;
  z++;
  if(z==10000)
  z=0;
  display();
 }
}
void display()
    //顯示函數(shù),顯示五位數(shù)
{    
  
  wan=z/10000;
  qian=z%10000/1000;
  bai=z%1000/100;
  shi=z%100/10;
  ge=z%10;
  dula=1;
     P0=table[wan];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xfe;
  wela=0;
  delay(1);

  dula=1;
  P0=table[qian];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xfd;
  wela=0;
  delay(1);

  dula=1;
  P0=table[bai];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xfb;
  wela=0;
  delay(1);

  dula=1;
  P0=table[shi];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xf7;
  wela=0;
  delay(1);

  dula=1;
  P0=table[ge];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xef;
  wela=0;
  delay(1);
    
   }
void delay(uchar x)//延時(shí)函數(shù)造成殘影
{
 uint a,y;
 for(a=x;a>0;a--)
  for(y=110;y>0;y--);
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表