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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3953|回復: 3
打印 上一主題 下一主題
收起左側

51單片機紅外傳送帶設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:326613 發表于 2018-5-10 10:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
技術要求:
(1)用獨立按鍵控制傳送帶的啟動或停止;
(2)用光電傳感器檢測通過其的產品數量;
(3)用LED顯示傳送帶通過產品的數量;
(4)用矩陣鍵盤預置終值,當計數達到終值時,傳送帶停止;

傳動采用步進電機模擬,資料很多,本程序未附該部分源碼。

單片機源程序如下:

  1.     /*16進制數碼管顯示對應按鍵鍵值,單一數碼管顯示,無需掃描*/

  2. #include < reg52.h >

  3. sbit IR_INPUT = P3^2;                        //P3.3引腳設定
  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;           //產品數量

  26. void intinit(){

  27.         EA= 1;
  28.         EX0 = 1;           //使能INT0中斷
  29.         IT0 = 1;       //設置INT0為正邊沿觸發
  30.         PX0 = 1;         //外部中斷0優先

  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{        /*需設置中斷優先級,與數碼管動態掃描區分*/
  97.         IE0 = 0;                                            
  98.         OptCnt++;       
  99.         led=~led;
  100.                                                                           
  101. }                                                                                                                                                                                                                 
復制代碼

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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩2
回復

使用道具 舉報

沙發
ID:782002 發表于 2020-6-20 21:19 | 只看該作者
有protues文件嗎
回復

使用道具 舉報

板凳
ID:782002 發表于 2020-6-20 21:19 | 只看該作者
有protues文件嗎
回復

使用道具 舉報

地板
ID:785685 發表于 2020-6-21 14:54 | 只看該作者
能不能幫做一個封箱機簡單控制程序?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品成人国产乱一区 | 国产精品久久久久久久久污网站 | 日韩精品一区二区三区 | 玖玖视频国产 | 欧美日韩国产精品一区 | 日韩三级在线观看 | 国产色婷婷精品综合在线播放 | 成人av网站在线观看 | 精品国产高清一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 男人阁久久 | 亚洲视频在线观看一区二区三区 | 欧美精品91 | 国产精品久久久久久久久久不蜜臀 | 欧美成人第一页 | 久久精品国产精品青草 | 黄a网| 午夜精品久久久 | 久久青视频 | 日日噜噜噜夜夜爽爽狠狠视频, | 精品国产乱码久久久久久图片 | 韩国欧洲一级毛片 | 日本亚洲精品成人欧美一区 | 欧美日韩亚洲在线 | 一二区视频 | 夜夜操天天操 | 成人精品国产一区二区4080 | 国产成人精品在线 | 91视频大全| 午夜精品在线观看 | 国产区在线观看 | 伊人影院在线观看 | 欧美日韩一区二区在线播放 | 欧美精品久久久久 | 在线观看亚 | 国产精品一区在线 | 国产精品一区二区在线 | 国产精品不卡视频 | 亚洲午夜精品在线观看 | 中文字幕精品一区二区三区精品 | 毛片综合 |