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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2238|回復(fù): 10
收起左側(cè)

STC15W408單片機BCD碼控制15臺電機的程序問題

[復(fù)制鏈接]
ID:368362 發(fā)表于 2018-7-10 08:27 | 顯示全部樓層 |閱讀模式
求高手幫我看看,有什么問題。由P1口低4位送入BCD碼,P2、P3輸出控制15臺電機。采用STC15W408。單片機程序如下
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar temp,key;

  5. /*uchar code table[]={
  6. 0xfe,0xfd,0xfb,0xf7,
  7. 0xef,0xdf,0xbf,0x7f,0xff};        */

  8. void delayms(uint xms)
  9. {
  10.         uint i,j;
  11.         for(i=xms;i>0;i--)
  12.                 for(j=110;j>0;j--);
  13. }

  14. void main()
  15. {
  16.         P3=0xff;
  17.         P2=0xff;
  18. //        P1=0xff;
  19.         while(1)
  20.         {
  21.                
  22.                 P3=0xff;
  23.                 P2=0xff;
  24. //                P1=0xff;        
  25.                 temp=P1;
  26.                 if(temp!=0xff)
  27.                 {
  28.                         delayms(20);
  29.                         temp=P1;
  30.                         if(temp!=0xff)
  31.                         {
  32.                                 temp=P1;
  33.                                 switch(temp)
  34.                                 {
  35.                                         case 0x01:
  36.                                         P3=0xfe;
  37.                                         break;
  38.                                         case 0x02:
  39.                                         P3=0xfd;
  40.                                         break;
  41.                                         case 0x03:
  42.                                         P3=0xfb;
  43.                                         break;
  44.                                         case 0x04:
  45.                                         P3=0xf7;
  46.                                         break;
  47.                                         case 0x05:
  48.                                         P3=0xef;
  49.                                         break;
  50.                                         case 0x06:
  51.                                         P3=0xdf;
  52.                                         break;
  53.                                         case 0x07:
  54.                                         P3=0xbf;
  55.                                         break;
  56.                                         case 0x08:
  57.                                         P3=0x7f;
  58.                                         break;
  59.                                         case 0x09:
  60.                                         P2=0xfe;
  61.                                         break;
  62.                                         case 0x0a:
  63.                                         P2=0xfd;
  64.                                         break;
  65.                                         case 0x0b:
  66.                                         P2=0xfb;
  67.                                         break;
  68.                                         case 0x0c:
  69.                                         P2=0xf7;
  70.                                         break;
  71.                                         case 0x0d:
  72.                                         P2=0xef;
  73.                                         break;
  74.                                         case 0x0e:
  75.                                         P2=0xdf;
  76.                                         break;
  77.                                         case 0x0f:
  78.                                         P2=0xbf;
  79.                                         break;
  80.                                 }
  81.                                 while(temp!=0xff)                           
  82.                                 {
  83.                                         temp=P1;
  84.                                 }
  85.                                 P2=0xff;
  86.                                 P3=0xff;
  87.                         }
  88.         
  89.                 }
  90.         }
  91. }
復(fù)制代碼


回復(fù)

使用道具 舉報

ID:7485 發(fā)表于 2018-7-10 09:52 | 顯示全部樓層
你的BCD編碼器是什么類型的?怎么接的(低電位有效與否)?

“ P1=0xff;”為什么要注釋掉?讀端口狀態(tài)之前,要先向端口鎖存器寫“1”(置高電平)。
回復(fù)

使用道具 舉報

ID:7485 發(fā)表于 2018-7-10 09:54 | 顯示全部樓層
本帖最后由 ahshmj 于 2018-7-10 10:03 編輯

其他的地方?jīng)]有看完,你應(yīng)該把重點說出來,這么長的程序一點點的分析一點點的看,還真沒那么多的功夫。
回復(fù)

使用道具 舉報

ID:368362 發(fā)表于 2018-7-10 10:15 | 顯示全部樓層
BCD來自紅外接收,高電平有效,經(jīng)反向后為送P1口低4位
回復(fù)

使用道具 舉報

ID:368362 發(fā)表于 2018-7-10 10:18 | 顯示全部樓層
注釋掉P1=0xff,只是要看看什么結(jié)果,應(yīng)該恢復(fù)
回復(fù)

使用道具 舉報

ID:368412 發(fā)表于 2018-7-10 10:25 | 顯示全部樓層
可以找個模擬軟件試一下
回復(fù)

使用道具 舉報

ID:231042 發(fā)表于 2018-7-10 11:04 | 顯示全部樓層
感覺沒有什么問題,你的現(xiàn)象出現(xiàn)在哪里?
回復(fù)

使用道具 舉報

ID:368588 發(fā)表于 2018-7-10 11:49 | 顯示全部樓層
說重點,沒時間一點點分析
回復(fù)

使用道具 舉報

ID:368362 發(fā)表于 2018-7-10 15:04 | 顯示全部樓層
讀不出數(shù)據(jù)
回復(fù)

使用道具 舉報

ID:368362 發(fā)表于 2018-7-10 15:07 | 顯示全部樓層
調(diào)試時總是在1,2,3循環(huán)
  P3=0xff;
        P2=0xff;
//        P1=0xff;
        while(1)
        {
               
1               P3=0xff;
  2              P2=0xff;
    3            P1=0xff;        
                temp=P1;
                if(temp!=0xff)
回復(fù)

使用道具 舉報

ID:368362 發(fā)表于 2018-7-11 07:47 | 顯示全部樓層
還是用不了,拜托高手指點
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色狠狠一区| 这里有精品 | 黑人性hd| 在线视频一区二区三区 | 天天艹逼网 | 精品一区二区三区视频在线观看 | 91嫩草精品 | 日韩精品一区二区三区视频播放 | 欧美 日韩 国产 在线 | 色又黄又爽网站www久久 | 欧美一区二区在线免费观看 | 国产高清在线精品一区二区三区 | 日本在线观看网址 | 日韩国产精品一区二区三区 | 爱爱综合网 | 免费一区二区三区 | 玖玖在线免费视频 | 中文字幕亚洲精品 | 亚洲一区二区久久 | 午夜视频网 | 国产免费一区二区三区免费视频 | 欧美精品一区二区在线观看 | 国产精品久久久久久久久久久久冷 | 小早川怜子xxxxaⅴ在线 | 国产欧美一区二区三区日本久久久 | 香蕉视频黄色 | www.操.com| 亚洲欧美一区二区三区国产精品 | 91久久| 亚洲精品 在线播放 | www.天天操.com | 美女激情av | 91精品国产综合久久小仙女图片 | 欧美福利 | 亚洲国产成人精品女人久久久 | 中文字幕av亚洲精品一部二部 | 在线播放一区二区三区 | 天天天天操 | 欧美一区二区三区在线看 | 久久亚洲欧美日韩精品专区 | 午夜电影网站 |