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

標(biāo)題: 51單片機(jī)紅外傳送帶設(shè)計(jì) [打印本頁(yè)]

作者: 榆木G    時(shí)間: 2018-5-10 10:36
標(biāo)題: 51單片機(jī)紅外傳送帶設(shè)計(jì)
技術(shù)要求:
(1)用獨(dú)立按鍵控制傳送帶的啟動(dòng)或停止;
(2)用光電傳感器檢測(cè)通過(guò)其的產(chǎn)品數(shù)量;
(3)用LED顯示傳送帶通過(guò)產(chǎn)品的數(shù)量;
(4)用矩陣鍵盤預(yù)置終值,當(dāng)計(jì)數(shù)達(dá)到終值時(shí),傳送帶停止;

傳動(dòng)采用步進(jìn)電機(jī)模擬,資料很多,本程序未附該部分源碼。

單片機(jī)源程序如下:

  1.     /*16進(jìn)制數(shù)碼管顯示對(duì)應(yīng)按鍵鍵值,單一數(shù)碼管顯示,無(wú)需掃描*/

  2. #include < reg52.h >

  3. sbit IR_INPUT = P3^2;                        //P3.3引腳設(shè)定
  4. //sbit led = P0^0;
  5. sbit ADDR0 = P1^0;
  6. sbit ADDR1 = P1^1;
  7. sbit ADDR2 = P1^2;
  8. sbit ADDR3 = P1^3;
  9. sbit ENLED = P1^4;
  10. sbit KEY_IN_1 = P2^4;
  11. sbit KEY_IN_2 = P2^5;
  12. sbit KEY_IN_3 = P2^6;
  13. sbit KEY_IN_4 = P2^7;
  14. sbit KEY_OUT_1 = P2^3;   
  15. sbit KEY_OUT_2 = P2^2;   
  16. sbit KEY_OUT_3 = P2^1;   
  17. sbit KEY_OUT_4 = P2^0;   

  18. unsigned char code LedChar[] = {
  19.         0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
  20.         0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
  21. };
  22. unsigned char KeySta[4][4] = {
  23.         {1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
  24. };

  25. unsigned char OptCnt = 0;           //產(chǎn)品數(shù)量

  26. void intinit(){

  27.         EA= 1;
  28.         EX0 = 1;           //使能INT0中斷
  29.         IT0 = 1;       //設(shè)置INT0為正邊沿觸發(fā)
  30.         PX0 = 1;         //外部中斷0優(yōu)先

  31. }                  
  32. void main(){

  33.         unsigned char i,j;
  34.         unsigned char backup[4][4] = {
  35.                 {1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
  36.         };
  37.         EA = 1;                 
  38.         ENLED = 0;
  39.         ADDR3 = 1;
  40.         ADDR2 = 1;
  41.         ADDR1 =1 ;
  42.         ADDR0 = 1;
  43.         TMOD = 0x01;
  44.         TH0 = 0xFC;
  45.         TL0 = 0x67;
  46.         intinit();
  47.         ET0 = 1;
  48.         TR0 = 1;

  49.         P0 = LedChar[0];

  50.        
  51.         while (1){
  52.                         for(i=0;i<4;i++){
  53.                                 for(j=0;j<4;j++){
  54.                                         if(backup[i][j] != KeySta[i][j]){
  55.                                                 if(backup[i][j] != 0){
  56.                                                         P0 = (LedChar[i*4+j-OptCnt]);
  57.                                                 }
  58.                                         }
  59.                                 }
  60.                        
  61.                         }       
  62.                
  63.                 }       

  64. }



  65. void IterruptTimer0() interrupt 1{
  66.         unsigned char i;
  67.         static unsigned char keyout = 0;
  68.         static unsigned char keybuf[4][4] = {
  69.                 {0xFF,0xFF,0xFF,0xFF},{0xFF,0xFF,0xFF,0xFF},
  70.                 {0xFF,0xFF,0xFF,0xFF},{0xFF,0xFF,0xFF,0xFF}
  71.         };

  72.         TH0 = 0xFC;
  73.         TL0 = 0x67;

  74.         keybuf[keyout][0] = (keybuf[keyout][0] << 1) | KEY_IN_1;
  75.         keybuf[keyout][1] = (keybuf[keyout][1] << 1) | KEY_IN_2;
  76.         keybuf[keyout][2] = (keybuf[keyout][2] << 1) | KEY_IN_3;
  77.         keybuf[keyout][3] = (keybuf[keyout][3] << 1) | KEY_IN_4;

  78.         for (i=0;i<4;i++){
  79.                 if ((keybuf[keyout][i] & 0x0F) == 0x00){
  80.                         KeySta[keyout][i] = 0;
  81.                 }
  82.                 else if ((keybuf[keyout][i] & 0x0F) == 0x0F){
  83.                         KeySta[keyout][i] = 1;
  84.                 }
  85.         }
  86.         keyout++;
  87.         keyout = keyout & 0x03;
  88.         switch(keyout){
  89.                 case 0:KEY_OUT_4 = 1;KEY_OUT_1 = 0;break;       
  90.                 case 1:KEY_OUT_1 = 1;KEY_OUT_2 = 0;break;       
  91.                 case 2:KEY_OUT_2 = 1;KEY_OUT_3 = 0;break;       
  92.                 case 3:KEY_OUT_3 = 1;KEY_OUT_4 = 0;break;       
  93.                 default: break;
  94.         }
  95. }

  96. void chufa()  interrupt 0{        /*需設(shè)置中斷優(yōu)先級(jí),與數(shù)碼管動(dòng)態(tài)掃描區(qū)分*/
  97.         IE0 = 0;                                            
  98.         OptCnt++;       
  99.         led=~led;
  100.                                                                           
  101. }                                                                                                                                                                                                                 
復(fù)制代碼

所有資料51hei提供下載:
51傳送帶設(shè)計(jì).zip (30.53 KB, 下載次數(shù): 67)



作者: 1465633027    時(shí)間: 2020-6-20 21:19
有protues文件嗎
作者: 1465633027    時(shí)間: 2020-6-20 21:19
有protues文件嗎
作者: cds_63405    時(shí)間: 2020-6-21 14:54
能不能幫做一個(gè)封箱機(jī)簡(jiǎn)單控制程序?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久草中文在线 | 久久免费看 | 亚洲精品在线免费观看视频 | 华人黄网站大全 | 久久天堂网| 久久精品久久久久久 | 免费一级黄色录像 | 国产一二区视频 | 国产精品成人一区二区三区夜夜夜 | 欧美日韩国产一区二区三区不卡 | 在线中文av | 成人影院免费视频 | 午夜视频一区二区三区 | 麻豆av一区二区三区久久 | 亚洲精品一 | 国产精选一区 | 精品不卡 | 国产一二三区免费视频 | 日本一本在线 | 欧美一区二区在线 | 色黄爽 | 亚洲国产成人精品女人久久久野战 | 国产农村妇女毛片精品久久麻豆 | www.日本精品 | 一呦二呦三呦国产精品 | 国产欧美在线播放 | 欧美亚洲一区二区三区 | 一区二区在线视频 | 国产午夜精品一区二区三区嫩草 | 日韩亚洲视频在线 | 国产精品揄拍一区二区久久国内亚洲精 | 日韩欧美视频在线 | 国产精品视频综合 | 国产精品成人国产乱一区 | 久久国产亚洲 | 欧美激情一区二区三区 | 中文字幕电影在线观看 | 日本久久久一区二区三区 | 精品国产一区二区久久 | 国产视频日韩 | 国产一区二区三区视频 |