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

標題: 51單片機商品條形碼識別器設計(文檔+電路+程序) [打印本頁]

作者: dianzi787    時間: 2019-6-23 13:18
標題: 51單片機商品條形碼識別器設計(文檔+電路+程序)
本次設計便攜式商品條形碼識別器,由四大模塊組成。激光掃描,單片機,12864液晶顯示器,電源模塊。其工作的大致原理為,激光掃描到條形碼并進行存儲。同時蜂鳴器開始鳴響,然后掃描器將數據信息通過串口通信傳輸給單片機,單片機收到信息后會與事先設定好的程序進行對比,并將對比后的信息傳輸給12864液晶顯示器。顯示器也會根據事先設計好的程序進行相應的顯示格式,并完成工作。





單片機源程序如下:
  1. #include  
  2. #include
  3. #include
  4. #include
  5. #include
  6. #include
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. uint table1=0;
  10. unsigned char num,flag,a,i,j;
  11. uchar k;
  12. //uchar code table[]="I get ";
  13. uchar table_a[13]={"0123456789012"};
  14. uchar table_b[11]={"0123456789"};
  15. uchar code pin1[] = {"產品名稱:"};
  16. uchar code pin2[] = {"產品價格:"};
  17. uchar code pin3[] = {"              元"};
  18. uchar code dis0[] = {"0123456789."};
  19. uchar code dis1[] = {"碧禹飲用水  "};
  20. uchar code dis2[] = {"心相印衛生紙"};
  21. uchar code dis3[] = {"小露珠抽紙  "};
  22. uchar code dis4[] = {"東立A4紙    "};
  23. uchar code dis5[] = {"美汁源可樂  "};
  24. uchar code dis6[] = {"便攜條形碼識別器"};
  25. uchar code s1[11] = {"36402200042"};          //碧禹應用水
  26. uchar code s2[11] = {"22868289158"};          //心心相印紙
  27. uchar code s3[11] = {"34704601062"};          //小露珠抽紙
  28. uchar code s4[11] = {"23608677129"};          //東立A4紙
  29. uchar code s5[11] = {"56416200166"};          //美汁源
  30. uchar code s6[11] = {"56416200166"};          //美汁源
  31. void change();
  32. void duibi();
  33. char cmp(uchar *str,uchar *str1);
  34. void init()
  35. {
  36.         TMOD=0x20;
  37.         TH1=0xfd;
  38.         TL1=0xfd;
  39.         TR1=1;
  40.         REN=1;
  41.         SM0=0;
  42.         SM1=1;        
  43.         EA=1;
  44.         ES=1;        
  45. }
  46. void main()
  47. {
  48.         init();
  49.         Delay400Ms(); //啟動等待,等LCD講入工作狀態
  50.     LCDInit();    //LCM初始化
  51.     Delay5Ms();   //延時片刻(可不要)
  52.         DisplayListChar(0,0,dis6);        //顯示字庫中的中文數字   
  53.         DisplayListChar(0,2,pin1);        //顯示字庫中的中文數字
  54.         DisplayListChar(0,4,pin3);        //顯示字庫中的中文數字
  55.         DisplayListChar(0,4,pin2);        //顯示字庫中的中文數字
  56.         while(1)
  57.         {
  58. //                change()
  59.                 duibi();
  60.                 switch(num)
  61.                 {
  62.                         case 0:DisplayListChar(0,3,dis1);lcd_pos(3,5);WriteDataLCD(dis0[0]);WriteDataLCD(dis0[3]);break;
  63.                         case 1:DisplayListChar(0,3,dis2);lcd_pos(3,5);WriteDataLCD(dis0[0]);WriteDataLCD(dis0[1]);break;
  64.                         case 2:DisplayListChar(0,3,dis3);lcd_pos(3,5);WriteDataLCD(dis0[0]);WriteDataLCD(dis0[3]);break;
  65.                         case 3:DisplayListChar(0,3,dis4);lcd_pos(3,5);WriteDataLCD(dis0[2]);WriteDataLCD(dis0[0]);break;
  66.                         case 4:DisplayListChar(0,3,dis5);lcd_pos(3,5);WriteDataLCD(dis0[0]);WriteDataLCD(dis0[4]);break;        
  67.                 }
  68. /*                lcd_pos(0,0);             //設置顯示位置為第二行的第1個字符            
  69.             for(i=0;i<11;i++)
  70.                   {
  71.                                    k=table_b[i]-0x30;
  72. //                                 k=s1[i]-0x30;
  73.                              WriteDataLCD(dis0[k]); //
  74.                                  Delay5Ms();                                 
  75.                   }                        */
  76.         }
  77. }
  78. void ser() interrupt 4
  79. {
  80.         RI=0;
  81.         table_a[table1]=SBUF;
  82.         if(table_a[0]==0x36)
  83.                 table1++;
  84. if(table1>12)  table1=0;
  85. }
  86. void duibi()
  87. {
  88.         for(i=0;i<13;i++)
  89.           {
  90.                    table_b[i]=table_a[i+2];                                 
  91.           }
  92.         if(cmp(table_b,s1)==1) num=0;
  93.         if(cmp(table_b,s2)==1) num=1;
  94.         if(cmp(table_b,s3)==1) num=2;
  95.         if(cmp(table_b,s4)==1) num=3;
  96.         if(cmp(table_b,s5)==1) num=4;
  97. }
  98. char cmp(uchar *str,uchar *str1)
  99. {
  100.          int d,c=0;
  101.          for(d=0;d<11;d++)
  102.          {
  103.                  if(str[d]!=str1[d])
  104.                         {c=0;break;}
  105.                 else c=1;                        
  106.          }
  107.          return c;
  108. }
復制代碼

全部資料51hei下載地址:
文檔 電路 程序.zip (977.27 KB, 下載次數: 95)






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美精品一区二区三区在线播放 | 日本羞羞影院 | 天天操,夜夜爽 | 日韩一及片 | 国产视频精品免费 | 91精品国产91久久久 | 久久精品| 亚洲综合天堂网 | 日操夜操 | 午夜视频一区二区 | 91一区二区三区在线观看 | 中文字幕一区二区三区四区 | 99热热热热 | 男人的天堂久久 | 国产精品久久久久久久久久三级 | 中文字幕人成乱码在线观看 | 九九综合 | 日韩欧美在线视频 | 国产精品精品视频 | 国产精品一区二区三区在线 | 日韩第一夜 | 天天干干 | 精品区一区二区 | 黄色网页在线观看 | 日韩一二区 | 亚洲欧美中文日韩在线v日本 | 成人高潮片免费视频欧美 | 日韩精品一区二区三区中文字幕 | 精品美女久久久 | 高清欧美性猛交xxxx黑人猛交 | 久久久999精品 | 中文字幕国产 | 国产99久久精品一区二区300 | 91精品国产综合久久国产大片 | 久色网| 亚洲国产精品精华素 | 日本天堂视频在线观看 | 日本国产精品视频 | 亚洲第一av网站 | 欧美激情视频一区二区三区免费 | 日本成年免费网站 |