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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

4位數碼管模仿電飯煲工作狀態 單片機程序+Proteus仿真圖

查看數: 2777 | 評論數: 4 | 收藏 4
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-2-9 21:50

正文摘要:

每天做飯,電飯煲的4位數碼管開始工作后都會動態流動,想了想思路,就寫了這個代碼,有個小問題,流動的速度不一致,1-實物是STC15W408A,仿真用的AT89C52,2-單個筆劃的速度沒改一致,1,實物的4位數碼管是按自己的 ...

回復

ID:161164 發表于 2022-2-10 10:19
lids 發表于 2022-2-10 09:03
大師,這個電路是怎么連接的

跟樓主的一樣
ID:140489 發表于 2022-2-10 09:03
lkc8210 發表于 2022-2-10 00:34
阻塞式延時的寫法
電飯鍋什么都不用干
只顯示這轉圈圈

大師,這個電路是怎么連接的
ID:977804 發表于 2022-2-10 07:18
這水平高。哈哈,就是想要這效果
ID:161164 發表于 2022-2-10 00:34


阻塞式延時的寫法
電飯鍋什么都不用干
只顯示這轉圈圈
來一個簡化版,拋磚引玉
  1. #include <reg52.h>

  2. typedef         unsigned char        u8;  //0 to 255
  3. typedef         unsigned int        u16;  //0 to 65535

  4. sbit debug = P3^7;
  5. sbit P10 = P1^0;
  6. sbit P11 = P1^1;
  7. sbit P12 = P1^2;
  8. sbit P14 = P1^4;
  9. sbit P16 = P1^6;
  10. sbit P17 = P1^7;

  11. u8 DigiTube_Buff[4];
  12. void IO_out(u8 dat)
  13. {
  14.   P11=dat&0x20;
  15.   P17=dat&0x10;
  16.   P16=dat&0x08;
  17.   P14=dat&0x04;
  18.   P10=dat&0x02;
  19.   P12=dat&0x01;
  20. }
  21. void disp()
  22. {
  23.     static u8 i;
  24.     P2 = 0xFF;
  25. //    P1 = DigiTube_Buff[i];
  26.         IO_out(DigiTube_Buff[i]);
  27.         P2 = ~(0x01 << i);
  28.     i = ++i % 4;
  29. }
  30. void Pattern()
  31. {   static u8 mode = 0;
  32.     u8 i;
  33.     for(i =0; i<4; i++)
  34.         DigiTube_Buff[i] = 0;

  35.     if((mode >= 0) && (mode < 12))DigiTube_Buff[0]+=0x01;
  36.     if((mode >= 9) && (mode < 21))DigiTube_Buff[0]+=0x08;
  37.     if((mode >= 10) && (mode < 22))DigiTube_Buff[0]+=0x10;
  38.     if((mode >= 11) && (mode < 23))DigiTube_Buff[0]+=0x20;
  39.     if((mode >= 1) && (mode < 13))DigiTube_Buff[1]+=0x01;
  40.     if((mode >= 8) && (mode < 20))DigiTube_Buff[1]+=0x08;
  41.     if((mode >= 2) && (mode < 14))DigiTube_Buff[2]+=0x01;
  42.     if((mode >= 7) && (mode < 19))DigiTube_Buff[2]+=0x08;
  43.     if((mode >= 3) && (mode < 15))DigiTube_Buff[3]+=0x01;
  44.     if((mode >= 4) && (mode < 16))DigiTube_Buff[3]+=0x02;
  45.     if((mode >= 5) && (mode < 17))DigiTube_Buff[3]+=0x04;
  46.     if((mode >= 6) && (mode < 18))DigiTube_Buff[3]+=0x08;
  47.     mode = ++mode %24;
  48. }
  49. void main()
  50. {   int ScanCNT1 = 0, ScanCNT2 = 0;
  51.     while(1)
  52.     {
  53.         if(ScanCNT1++ > 100)
  54.         {
  55.             ScanCNT1 = 0;
  56.             disp();
  57.         }
  58.         if(ScanCNT2++ > 5000)
  59.         {
  60.             ScanCNT2 = 0;
  61.             Pattern();                                       
  62.         }
  63.     }
  64. }
復制代碼






評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

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

Powered by 單片機教程網

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