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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機(jī)設(shè)計(jì)傳送帶產(chǎn)品計(jì)數(shù)器不好使

查看數(shù): 1804 | 評(píng)論數(shù): 15 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2024-6-23 20:26

正文摘要:

這個(gè)是我在CSDN上找到的一個(gè)產(chǎn)品計(jì)數(shù)器,但是我按照上面弄卻不好使,有人能幫我解決一些嗎 這個(gè)是那個(gè)網(wǎng)站 基于“51系列單片機(jī)”的傳送帶產(chǎn)品計(jì)數(shù)器設(shè)計(jì)(包含Proteus仿真模擬、keil編程,以及實(shí)物設(shè)計(jì)過程)_單片 ...

回復(fù)

ID:1104671 發(fā)表于 2025-1-31 09:53
166165489 發(fā)表于 2024-7-2 14:14
為啥按了鍵盤上的按鍵沒變化

你好,可以發(fā)一下正確的仿真嗎?我也是遇到了問題,謝謝
ID:1127862 發(fā)表于 2024-7-2 14:14
方程式d 發(fā)表于 2024-6-28 20:33
兄弟們,好像是那個(gè)網(wǎng)站上的代碼不對(duì),今天那個(gè)博主給我發(fā)仿真了,他的是好使得,但是他沒發(fā).c源文件。他說 ...

為啥按了鍵盤上的按鍵沒變化

ID:161164 發(fā)表于 2024-7-2 11:56
key_scan()里有松手檢測
有些按鍵按死了,所以影響顯示了

ID:161164 發(fā)表于 2024-7-2 11:38
166165489 發(fā)表于 2024-7-2 11:09
為什么我也還是那個(gè)鍵盤用不了呀

請看我的貼子
解決某些版本Proteus陣列鍵盤失效的奇葩方法
ID:1127862 發(fā)表于 2024-7-2 11:09
方程式d 發(fā)表于 2024-6-28 20:33
兄弟們,好像是那個(gè)網(wǎng)站上的代碼不對(duì),今天那個(gè)博主給我發(fā)仿真了,他的是好使得,但是他沒發(fā).c源文件。他說 ...

為什么我也還是那個(gè)鍵盤用不了呀

ID:1126506 發(fā)表于 2024-6-28 20:33
兄弟們,好像是那個(gè)網(wǎng)站上的代碼不對(duì),今天那個(gè)博主給我發(fā)仿真了,他的是好使得,但是他沒發(fā).c源文件。他說源文件到不到了, 我把CSDN上的代碼建立一個(gè)工程在仿真加上新的.hex文件還是出現(xiàn)那個(gè)問題,但是使用他發(fā)的hex文件就好使了。感謝兄弟們,下面是那個(gè)博主給我發(fā)的,有感興趣得兄弟可以看看,感謝。能將正確得源代碼弄出來就更好了,因?yàn)槲蚁爰尤敕澍Q器,自動(dòng)計(jì)數(shù),這個(gè)是點(diǎn)擊計(jì)數(shù),有點(diǎn)累

仿真模擬.zip

70.09 KB, 下載次數(shù): 3

產(chǎn)品計(jì)數(shù)器

ID:1126506 發(fā)表于 2024-6-24 20:23
不好意思,因?yàn)檫@個(gè)單片機(jī)上學(xué)期學(xué)的,現(xiàn)在有點(diǎn)忘得干凈了導(dǎo)致弄得東西很亂,等著我有時(shí)間再整理一下。
ID:161164 發(fā)表于 2024-6-24 17:20
f.uvproj打不開
dfsd.uvproj缺了a.c
proteus可以打開
運(yùn)行仿真看到的是數(shù)碼管隨機(jī)顯示單一個(gè)0
估計(jì)是沒消影
ID:267719 發(fā)表于 2024-6-24 16:36
里面找到個(gè)文件名為f的文件,沒有擴(kuò)展名?赡苁窃创a,F(xiàn)在貼出來。

  1. #include<reg51.h>
  2. #define PKEY P1
  3. #define PDIG P2

  4. sbit LSA = P3 ^ 0;
  5. sbit LSB = P3 ^ 1;
  6. sbit LSC = P3 ^ 3;
  7. sbit IN0 = P3 ^ 4;
  8. sbit IN1 = P3 ^ 5;
  9. sbit E = P3 ^ 6;

  10. unsigned char code smgnum[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//?????0~9??
  11. unsigned char code smgmum[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//?????0~9??
  12. unsigned int gd;
  13. unsigned int num=99;
  14. unsigned int keyswitch, tuiwei, wei = 0, x, y;
  15. unsigned int box[8]={0};
  16. unsigned int i;

  17. void delay(unsigned int x)                //延遲函數(shù)
  18. {
  19.     unsigned int i, j;
  20.     for (i = 0; i < x; i++)
  21.         for (j = 0; j < 120; j++) ;
  22. }

  23. void kaishi()                             //電機(jī)正轉(zhuǎn)
  24. {
  25.     IN0 = 1;
  26.     IN1 = 0;
  27.     delay(5);
  28. }

  29. void daofang()                            //電機(jī)倒轉(zhuǎn)
  30. {
  31.     IN1 = 1;
  32.     IN0 = 0;
  33.     delay(5);
  34. }

  35. void int0_init(void)                      //開啟外部中斷
  36. {
  37.         EX0=1;
  38.         IT0=1;
  39.         EA=1;
  40. }

  41. void key_scan()                           //矩陣鍵盤檢測函數(shù)
  42. {
  43.     unsigned char temp0 = 0, temp1 = 0, temp = 0;
  44.     unsigned int a = 0;
  45.     PKEY = 0xf0;
  46.     if (PKEY != 0xf0)
  47.     {
  48.         delay(20);
  49.         if (PKEY != 0xf0)
  50.         {
  51.             temp0 = PKEY;
  52.             PKEY = 0x0f;
  53.             if (PKEY != 0x0f)
  54.             {
  55.                 temp1 = PKEY;
  56.             }
  57.             temp = temp0 + temp1;
  58.             if (temp == 0xee) { num = 1; }
  59.             else if (temp == 0xed) { num = 2; }
  60.             else if (temp == 0xeb) { num = 3; }
  61.             else if (temp == 0xe7) { num = 12; }
  62.             else if (temp == 0xde) { num = 4; }
  63.             else if (temp == 0xdd) { num = 5; }
  64.             else if (temp == 0xdb) { num = 6; }
  65.             else if (temp == 0xd7) { num = 13; }
  66.             else if (temp == 0xbe) { num = 7; }
  67.             else if (temp == 0xbd) { num = 8; }
  68.             else if (temp == 0xbb) { num = 9; }
  69.             else if (temp == 0xb7) { num = 14; }
  70.             else if (temp == 0x7e) { num = 10; }
  71.             else if (temp == 0x7d) { num = 0; }
  72.             else if (temp == 0x7b) { num = 11; }
  73.             else if (temp == 0x77) { num = 15; }
  74.             if (num == 0 || num == 1 || num == 2 || num == 3 || num == 4 || num == 5 || num == 6 || num == 7 || num == 8 || num == 9)
  75.                 keyswitch = 1;
  76.             if (num == 10)
  77.                 tuiwei = 1;
  78.             while ((a < 50) && (PKEY != 0x0f))
  79.             {
  80.                 delay(10);
  81.                 a++;
  82.             }
  83.         }
  84.     }
  85. }
  86.   
  87. void smg()                           //數(shù)碼管顯示函數(shù)
  88. {
  89.     LSA = 1; LSB = 1; LSC = 1;
  90.     PDIG = smgnum[box[0]];
  91.     delay(1); PDIG = 0x00;

  92.     LSA = 0; LSB = 1; LSC = 1;
  93.     PDIG = smgnum[box[1]];
  94.     delay(1); PDIG = 0x00;

  95.     LSA = 1; LSB = 0; LSC = 1;
  96.     PDIG = smgnum[box[2]];
  97.     delay(1); PDIG = 0x00;

  98.     LSA = 0; LSB = 0; LSC = 1;
  99.     PDIG = smgnum[box[3]];
  100.     delay(1); PDIG = 0x00;

  101.     LSA = 1; LSB = 1; LSC = 0;
  102.     PDIG = smgnum[box[4]];
  103.     delay(1); PDIG = 0x00;

  104.     LSA = 0; LSB = 1; LSC = 0;
  105.     PDIG = smgnum[box[5]];
  106.     delay(1); PDIG = 0x00;

  107.     LSA = 1; LSB = 0; LSC = 0;
  108.     PDIG = smgnum[box[6]];
  109.     delay(1); PDIG = 0x00;

  110.     LSA = 0; LSB = 0; LSC = 0;
  111.     PDIG = smgnum[box[7]];
  112.     delay(1); PDIG = 0x00;
  113. }

  114. void main()                                    //主函數(shù)
  115. {
  116.                 int0_init();
  117.     while (1)
  118.     {
  119.         smg();
  120.         key_scan();
  121.         if (num == 12)                         //按鍵控制直流電機(jī)正轉(zhuǎn)
  122.         {
  123.             x = 1;
  124.             y = 0;
  125.         }
  126.         if (x == 1)
  127.         {
  128.             kaishi();
  129.             if ((box[7] == 0) && (box[6] == 0) && (box[5] == 0) && (box[4] == 0))
  130.             {
  131.                 kaishi();
  132.             }
  133.             else
  134.             {
  135.                 if ((box[3] == box[7]) && (box[2] == box[6]) && (box[1] == box[5]) && (box[0] == box[4]))
  136.                 {
  137.                     num = 13;
  138.                 }
  139.             }
  140.         }
  141.         if (num == 14)                    //按鍵控制直流電機(jī)倒轉(zhuǎn)
  142.         {
  143.             y = 1;
  144.             x = 0;
  145.         }
  146.         if (y == 1)
  147.             daofang();
  148.             if ((box[7] == 0) && (box[6] == 0) && (box[5] == 0) && (box[4] == 0))
  149.             {
  150.                 daofang();
  151.             }
  152.             else
  153.             {
  154.                 if ((box[3] == box[7]) && (box[2] == box[6]) && (box[1] == box[5]) && (box[0] == box[4]))
  155.                 {
  156.                     num = 13;
  157.                 }
  158.             }
  159.         }
  160.         if (num == 13)                             //按鍵控制直流電機(jī)停止
  161.         {
  162.             E = 1;
  163.             IN0 = 1;
  164.             IN1 = 1;
  165.             x = 0;
  166.             y = 0;
  167.             num = 99;
  168.         }
  169.         if ((keyswitch == 1) && (wei < 4))        //預(yù)設(shè)數(shù)值輸入
  170.         {
  171.             for (i = 7; i > 4; i--)
  172.             { box[i] = box[i - 1]; }
  173.             box[4] = num;
  174.             keyswitch = 0;
  175.             wei++;
  176.         }
  177.         if (num == 11)                           //預(yù)設(shè)數(shù)值清零
  178.         {
  179.             for (i = 4; i < 8; i++)
  180.             {
  181.                 box[i] = 0;
  182.             }
  183.             wei = 0;
  184.         }
  185.         if (num == 15)                          //計(jì)數(shù)數(shù)值清零
  186.         {
  187.             gd = 0;
  188.             num = 99;
  189.         }
  190.         if (tuiwei == 1)                        //預(yù)設(shè)數(shù)值退位
  191.         {
  192.             box[4] = box[5];
  193.             box[5] = box[6];
  194.             box[6] = box[7];
  195.             box[7] = 0;
  196.             if (wei > 0)
  197.                 wei--;
  198.             tuiwei = 0;
  199.         }
  200.         box[0] = gd  % 10;
  201.         box[1] = gd / 10 % 10;
  202.         box[2] = gd / 100 % 10;
  203.         box[3] = gd / 1000 % 10;
  204.     }
  205. }

  206. void int0() interrupt 0                  //中斷函數(shù)
  207. {
  208.         gd++;
  209.         delay(200);
  210. }
復(fù)制代碼
ID:1109793 發(fā)表于 2024-6-24 13:52
方程式d 發(fā)表于 2024-6-24 13:26
這個(gè)具體是咋回事呀

下載的文件用KEIL打不開,用proteus8也打不開,版本太低了,抱歉
ID:1126506 發(fā)表于 2024-6-24 13:26
xiaobendan001 發(fā)表于 2024-6-24 10:50
仿真,真的不太會(huì)啊

這個(gè)具體是咋回事呀
ID:1109793 發(fā)表于 2024-6-24 10:50
仿真,真的不太會(huì)啊
ID:1126506 發(fā)表于 2024-6-24 08:27
我開始仿真,數(shù)碼管顯示的數(shù)字都是0 ,每次都是顯示一位,顯示從左到右。不知道怎么演示這個(gè)程序,按各種開關(guān)都沒有反應(yīng),因?yàn)镃SDN上沒有演示過程,我不知道他這個(gè)到底是如何操作的,您能幫我看看嗎,哥
ID:1109793 發(fā)表于 2024-6-24 07:29
對(duì)啊,不好使的具體現(xiàn)象是什么?
ID:161164 發(fā)表于 2024-6-23 22:20
什么叫不好使?

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 性天堂网| 国产欧美精品一区二区三区 | 中文字幕亚洲一区二区三区 | 婷婷在线免费 | 国产精品美女久久久久aⅴ国产馆 | 狠狠狠色丁香婷婷综合久久五月 | 羞羞的视频网站 | 精品欧美一区二区三区精品久久 | 亚洲精品一区二区三区中文字幕 | 日本手机看片 | 日韩在线视频一区二区三区 | 欧美精品福利 | 色五月激情五月 | 成人在线视频一区 | 国产成人高清 | 丁香久久| 一级片免费网站 | 欧美综合视频在线 | 日韩av在线一区 | 黄色精品 | 亚洲精品一区久久久久久 | 成年人网站国产 | 国产精品久久久久久福利一牛影视 | 国产99久久| 欧美亚洲视频 | 超碰在线网站 | 亚洲国产看片 | 男人久久天堂 | 国产精品视频500部 a久久 | 99精品视频在线观看免费播放 | 国产在线a视频 | 欧美一级在线 | 免费国产视频在线观看 | 欧美精品二区三区 | 国产欧美综合在线 | 韩日免费视频 | 日日夜夜视频 | 性高湖久久久久久久久3小时 | av大全在线 | 国产精品区二区三区日本 | 天天射天天操天天干 |