欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 為什么這個(gè)程序十位數(shù)字總是閃爍,還請大神幫助? [打印本頁]

作者: wang哈哈    時(shí)間: 2019-10-16 13:35
標(biāo)題: 為什么這個(gè)程序十位數(shù)字總是閃爍,還請大神幫助?
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;        
uint num,shi,ge;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z)
{
uint x,y;
  for(x=z;x>0;x--)
   for(y=110;y>0;y--);
}
void main()
{
while(1)
{
  dula=1;
  P0=table[shi];
  dula=0;
  wela=1;
  P0=0xfe;
  wela=0;
  delay(5);

  dula=1;
  P0=table[ge];
  dula=0;
  wela=1;
  P0=0xfd;
  wela=0;
  delay(5);

  num++;
  delay(1000);
  if(num==100)
  {
   num=0;
  }
  shi=num/10;
  ge=num%10;
}
}


作者: mdj-fish    時(shí)間: 2019-10-16 16:30
把單片機(jī)主頻率提高,或者把delay減少
作者: csmyldl    時(shí)間: 2019-10-16 18:28
這是因?yàn)闆]有消影,在程序中P0=table[shi]; P0=table[ge];前各加一個(gè)消影就行了,即加入dula=1;
  P0=0;  dula=0;
作者: Ming305    時(shí)間: 2019-10-17 07:17
把代碼改成下面的試試:
作者: Ming305    時(shí)間: 2019-10-17 07:19
#include"reg51.h" #define uint unsigned int #define uchar unsigned char sbit wela=P2^7; sbit dula=P2^6;         uint num,shi,ge; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z) { uint x,y;   for(x=z;x>0;x--)    for(y=110;y>0;y--); } void main() {  while(1) {   dula=1;   P0=table[shi];   dula=0;P0=0;   wela=1;   P0=0xfe;   wela=0;    delay(5);   dula=1;   P0=table[ge];   dula=0;   wela=1;   P0=0xfd;   wela=0;    delay(5);   num++;   delay(1000);   if(num==100)   {    num=0;   }   shi=num/10;   ge=num%10; }  }
作者: Ming305    時(shí)間: 2019-10-17 07:21
dula=1;   P0=table[shi];   dula=0;P0=0xff   wela=1;   P0=0xfe;   wela=0;    delay(5);   dula=1;   P0=table[ge];   dula=0; P0=0xff  wela=1;   P0=0xfd;   wela=0;    delay(5);
作者: wang哈哈    時(shí)間: 2019-10-20 15:41
還是不行
是不是delay()延時(shí)一秒達(dá)不到
只能用中斷
作者: wulin    時(shí)間: 2019-10-20 19:30
你這是郭天祥的示例改的,其原程序本身就有缺陷。給你改了,你試試。對比一下就明白問題在哪里。樓上講的都不在重點(diǎn)上。

  1. #include"reg51.h"
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit wela=P2^7;
  5. sbit dula=P2^6;        
  6. uint num,num1,shi,ge;
  7. uchar code table[]={
  8. 0x3f,0x06,0x5b,0x4f,
  9. 0x66,0x6d,0x7d,0x07,
  10. 0x7f,0x6f,0x77,0x7c,
  11. 0x39,0x5e,0x79,0x71};
  12. bit flag=0;

  13. void delay(uint z)
  14. {
  15.         uint x,y;
  16.         for(x=z;x>0;x--)
  17.                 for(y=110;y>0;y--);
  18. }
  19. void main()
  20. {
  21.         while(1)
  22.         {
  23.                 P0=0x00;//消隱
  24.                 dula=1;
  25.                 dula=0;
  26.                 if(!flag)
  27.                 {
  28.                         P0=0xfe;
  29.                         wela=1;
  30.                         wela=0;
  31.                         P0=table[shi];
  32.                         dula=1;
  33.                         dula=0;
  34.                         flag=1;
  35.                 }
  36.                 else
  37.                 {
  38.                         P0=0xfd;
  39.                         wela=1;
  40.                         wela=0;
  41.                         P0=table[ge];
  42.                         dula=1;
  43.                         dula=0;
  44.                         flag=0;
  45.                 }
  46.                 delay(1);
  47.                 num++;
  48.                 if(num>=1000)
  49.                 {
  50.                         num=0;
  51.                         num1++;
  52.                         if(num1>=100)
  53.                                 num1=0;
  54.                 }
  55.                 shi=num1/10;
  56.                 ge=num1%10;
  57.         }
  58. }
復(fù)制代碼

作者: wang哈哈    時(shí)間: 2019-10-26 17:15
wulin 發(fā)表于 2019-10-20 19:30
你這是郭天祥的示例改的,其原程序本身就有缺陷。給你改了,你試試。對比一下就明白問題在哪里。樓上講的都 ...

嗯 謝謝
這個(gè)標(biāo)志位太好了
萬分感謝  
作者: 1137876630    時(shí)間: 2019-10-27 10:50
都是大神.....




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1