找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6096|回复: 0
收起左侧

有关数组方面的难题

[复制链接]
ID:8198 发表于 2008-12-30 22:17 | 显示全部楼层 |阅读模式
我想搞个抽题的 程序通过数码管显示题号
1-24随机数字   按一个键抽一个数n
下次再抽个数m
要保证抽过的数 不再抽到

我写的程序但是抽过的数还会显示出来



#include  <AT89X51.h>
#define unchar unsigned char
#define unint unsigned int
sbit key1=P1^4;
sbit key2=P1^7;
unint nb[];
unchar numb,du,we,u,c=0,ui,x=24;
unchar disnum,dis,o;
unchar code tabdu[]={0xc0,0xf9,0xa4,
0xb0,0x99,0x92,0x82,0xf8,0x80,0x98,             //编码定义
0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f};
unchar code tabwe[]={0xff,0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
void xianshi(unint,unint);
void yanshi(unint);
void chuandi();
void xianshi2(unint,unint);
void main()
{
 unint nb[24]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24};
 while(1)
 {
   
   chuandi();  
   EA=1;
      ET1=1;
      TMOD=0x10;                               //工作模式
      TH1=(65536-65000)/256;           // fuzhi 高八位
      TL1=(65536-65000)%256;        //低八位
      TR1=1;
  
      do
          { 
     
                  if(numb==1)
            {
                 numb=0;
                 if(disnum==24)
                   disnum=0; 
                                disnum++;
              
            }
                           xianshi(disnum%100/10,disnum%10);   
   }
   while(key1!=0);
    //if(&&)
    //chuandi();
   do
   {
    TR1=0;
    
  
    xianshi(nb[disnum]%100/10,nb[disnum]%10);
   
   }
   while(key2!=0);
   for(o=disnum;o<24-1;o++)  //删除出现过的数
     {
      nb[o]=nb[o+1];
     } 
   
   
 }
}
void time1() interrupt 3
{
      TH1=(65536-65000)/256;          // fuzhi 高八位
      TL1=(65536-65000)%256;
      numb++;
}
void chuandi()
{
 unchar io;
io=1;
}
void xianshi(unint shi,unint ge)
{
  
 
    P0=tabdu[shi];
    P2=0xfd;
    yanshi(5);

    P0=tabdu[ge];
    P2=0xfb;
    yanshi(5);
}
void xianshi2(unint shi,unint ge)
{
  
 
    P0=tabdu[shi];
    P2=0xf7;
    yanshi(5);

    P0=tabdu[ge];
    P2=0xef;
    yanshi(5);
}
void yanshi(unint x)
{
    unint a,b;
   for(a=x;a>0;a--)
   for(b=200;b>0;b--);
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表