久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2840|回復(fù): 7
收起左側(cè)

用單片機(jī)定時(shí)中斷實(shí)現(xiàn)數(shù)碼管數(shù)字逐漸增加,用外部中斷實(shí)現(xiàn)清零 程序問(wèn)題

[復(fù)制鏈接]
ID:760188 發(fā)表于 2020-5-24 21:48 | 顯示全部樓層 |閱讀模式
個(gè)位和百位正常,十位顯示異常(不停的變換),看了很久不知道是什么問(wèn)題,能有人幫我解答下嗎?甚是感謝,編程如下。
  1. #include<reg51.h>
  2. #include<stdio.h>
  3. unsigned int tim;
  4. unsigned int num=0;
  5. unsigned int b,s,g;
  6. unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  7. /*延時(shí)函數(shù)*/
  8. void delayms(unsigned int x)
  9. {unsigned char y;
  10.    for(;x>0;x--)
  11.    {for(y=0;y<128;y++)
  12.       {;}
  13.    }
  14. }
  15. /*子函數(shù)*/
  16. void gewei()
  17. {g=(num/10)%10;
  18. P0=0x01;
  19. P2=a[g];
  20. }
  21. void shiwei()
  22. {s=num%10;
  23. P0=0x02;
  24. P2=a[s];
  25. }
  26. void baiwei()
  27. {b=num/100;
  28. P0=0x04;
  29. P2=a[b];
  30. }
  31. /*主函數(shù)*/
  32. void main(void)
  33. {tim=65536-50000;
  34. EA=1;  
  35. ET0=1;  
  36. TMOD=0x01;  
  37. TH0=tim/256;  
  38. TL0=tim%256;  
  39. TR0=1;
  40.    IT0=1;
  41.    IT1=1;
  42.    EX0=1;
  43.    EX1=1;
  44. while(1)
  45. {gewei();
  46.   delayms(10);

  47.   shiwei();
  48.   delayms(10);

  49.   baiwei();
  50.   delayms(10);

  51.   }  

  52. }
  53. /*定時(shí)中斷*/
  54. void time() interrupt 1
  55. {TH0=tim/256;  
  56. TL0=tim%256;
  57. if(num==99)
  58.         {num=0;
  59.         }
  60.         else
  61.         {num++;
  62.         }

  63. }

  64. /*清零*/
  65. void int0() interrupt 0
  66. {num=0;
  67. }
復(fù)制代碼

電路如圖

電路如圖
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-5-25 08:30 | 顯示全部樓層
無(wú)標(biāo)題.jpg
  1. #include<reg51.h>
  2. #include<stdio.h>
  3. unsigned int tim;
  4. unsigned int num=0,num0=0;
  5. unsigned int b,s,g;
  6. unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  7. /*延時(shí)函數(shù)*/
  8. void delayms(unsigned int x)
  9. {unsigned char y;
  10.    for(;x>0;x--)
  11.    {for(y=0;y<128;y++)
  12.       {;}
  13.    }
  14. }
  15. /*子函數(shù)*/
  16. void gewei()
  17. {
  18.         g=num%10;
  19.         P0=0x04;
  20.         P2=a[g];
  21. }
  22. void shiwei()
  23. {
  24.         s=num/10%10;
  25.         P0=0x02;
  26.         P2=a[s];
  27. }
  28. void baiwei()
  29. {
  30.         b=num/100%10;
  31.         P0=0x01;
  32.         P2=a[b];
  33. }
  34. /*主函數(shù)*/
  35. void main(void)
  36. {
  37.         tim=65536-50000;
  38.         EA=1;  
  39.         ET0=1;  
  40.         TMOD=0x01;  
  41.         TH0=tim/256;  
  42.         TL0=tim%256;  
  43.         TR0=1;
  44.         IT0=1;
  45.         IT1=1;
  46.         EX0=1;
  47.         EX1=1;
  48.         while(1)
  49.         {
  50.                 gewei();
  51.                 delayms(10);
  52.                 shiwei();
  53.                 delayms(10);
  54.                 baiwei();
  55.                 delayms(10);
  56.         }  
  57. }
  58. /*定時(shí)中斷*/
  59. void time() interrupt 1
  60. {
  61.         TH0=tim/256;  
  62.         TL0=tim%256;
  63.         if(++num0>=20)
  64.         {
  65.                 num0=0;
  66.                 num++;
  67.                 if(num>999)
  68.                         num=0;       
  69.         }
  70. }

  71. /*清零*/
  72. void int0() interrupt 0
  73. {
  74.         num0=0;
  75.         num=0;       
  76. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2020-5-25 08:36 | 顯示全部樓層
個(gè)位和百位疑似錯(cuò)亂
回復(fù)

使用道具 舉報(bào)

ID:267719 發(fā)表于 2020-5-25 09:19 | 顯示全部樓層
硬件部分:
1:P0口應(yīng)該上拉;
2:三極管應(yīng)該用PNP管,改為低電平驅(qū)動(dòng);
3:建議按鍵兩端加個(gè)電容硬件去抖。
軟件部分:
1:gewei()函數(shù)其實(shí)你顯示的是十位;
2:shiwei()函數(shù)其實(shí)顯示的是個(gè)位;
3:百位始終為0.因?yàn)閚um達(dá)到99就為0了。
回復(fù)

使用道具 舉報(bào)

ID:744327 發(fā)表于 2020-5-25 10:59 | 顯示全部樓層
中斷沒(méi)有重新賦值
回復(fù)

使用道具 舉報(bào)

ID:760188 發(fā)表于 2020-5-25 11:43 | 顯示全部樓層

謝謝您的回復(fù)
回復(fù)

使用道具 舉報(bào)

ID:760188 發(fā)表于 2020-5-25 11:43 | 顯示全部樓層
carpcarey 發(fā)表于 2020-5-25 09:19
硬件部分:
1:P0口應(yīng)該上拉;
2:三極管應(yīng)該用PNP管,改為低電平驅(qū)動(dòng);

謝謝您的回復(fù)
回復(fù)

使用道具 舉報(bào)

ID:760188 發(fā)表于 2020-5-25 11:44 | 顯示全部樓層
man1234567 發(fā)表于 2020-5-25 08:36
個(gè)位和百位疑似錯(cuò)亂

謝謝您的回復(fù)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚州精品天堂中文字幕 | 国产精品美女久久久久久免费 | 99re | 国产一区二区在线看 | 国产精品99久久久久久大便 | 国产激情在线播放 | 国产成人精品一区 | 国产乱码久久久久久 | 国产精品视频综合 | 国产免费a | 国产精品视频在线播放 | 免费同性女女aaa免费网站 | 天堂成人av | 超碰操| 成人免费观看网站 | 99精品国产一区二区三区 | 亚洲精品一区二区三区在线观看 | 视频在线亚洲 | 国产精品久久片 | 国产99视频精品免费播放照片 | 日韩中文字幕免费在线观看 | 免费电影av | 色婷婷精品国产一区二区三区 | 国产清纯白嫩初高生在线播放视频 | 久久国产精品久久久久 | 国产在线一区观看 | 精品乱子伦一区二区三区 | 一级在线毛片 | 久久国产视频网站 | 亚洲免费一区 | 亚洲天堂中文字幕 | 国产一级免费视频 | 免费成人高清在线视频 | 亚洲综合天堂 | 视频三区| 国产乱码精品1区2区3区 | 亚洲综合久久久 | 91综合网 | 亚洲视频在线观看免费 | 成年人网站免费 | 好好的日在线视频 |