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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2506|回復: 0
收起左側

單片機啤酒瓶計數實驗源程序+Proteus仿真

[復制鏈接]
ID:809136 發表于 2020-7-29 11:46 | 顯示全部樓層 |閱讀模式
實驗說明:在源程序中計算初值為0xf7,運用定時計數的方式2對程序進行計數,當程序開始運行,每按下一次按鍵(即每裝一瓶啤酒)LED顯示的計數就會+1直到8為止,當裝滿8瓶時再加1時LED的計數溢出就會跳轉到0,這時相當于裝滿了9瓶,程序停止。直到下一箱啤酒開始裝箱,依次反復進行。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
2。.png 51hei.png

單片機源程序如下:
  1. #include<reg52.h>
  2. char led[]={0x3f,0x06,0x5b,0x4f,0x66,
  3.             0x6d,0x7d,0x07,0x7f,0x6f};  //led顯示字模
  4. sbit P37=P3^7;
  5. sbit P34=P3^4;
  6. void delay(unsigned int time)  //約4ms的延時函數
  7. {
  8.   unsigned int j;
  9.   for (;time>0;time--);
  10.     for (j=0;j<500;j++);
  11. }

  12. void t0() interrupt 1
  13. {
  14.   TR0=0;           //停止計數
  15.   P37=0;           //啟動電機運轉
  16.   delay(1000); //延時,等待下一空箱運轉到位待裝啤酒
  17.   P37=1;           //停止電機運轉
  18.   TR0=1;           //啟動計數
  19. }
  20. /**********主函數**************/
  21. void main()
  22. {
  23. char i;
  24. TMOD=0x06;                //T0計數方式
  25. TL0=0xf7;                //計數初值247
  26. TH0=0xf7;
  27. TR0=1;                        //啟動T0計數
  28. ET0=1;                   //開中斷
  29. EA=1;
  30. P37=1;                        //停止電機運轉
  31. while(1)
  32. {
  33.   i=256-TL0;          //獲取計數差值
  34.   P0=led[9-i];          //顯示已裝了多少啤酒
  35.   delay(1000);
  36.   if(i==1)                 //是否已經裝了(9-1)=8瓶
  37.   {
  38.    while(P34==1);  //等待裝最后一瓶
  39.    P0=0x71;                        //顯示已經裝滿符號
  40.    delay(100);
  41.   }
  42. }
  43. }
復制代碼

所有資料51hei提供下載:
9瓶裝啤酒瓶.zip (69.34 KB, 下載次數: 15)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表