欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2863|回復: 4
收起左側

關于STC89C52RC單片機的P1口輸出

[復制鏈接]
ID:638656 發表于 2019-11-9 15:33 | 顯示全部樓層 |閱讀模式
單片機設計,在一個簡單的用P1口輸出數據上出了問題,百思不得其解,煩請各位前輩高手幫忙指正下哪里做得不對哈,謝謝~
  方便起見就把程序里這個部分單拿出來了,下面是代碼:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. void main()
  4. {               
  5.    unsigned char i;        
  6.    while(1)
  7.   {
  8.      for(i=0;i<16;i++)
  9.        P1=i;
  10.   }
  11. }

復制代碼
非常簡單的一段代碼……電路圖里將P1的低四位依次和74HC154的地址線相連,目的是讓154依次選中Y0~Y15。但是生成HEX文件放到Proteus里仿真時完全不對,輸出到154地址線上的數據變成0111,1110,0000,0101,1100,1011,1110... 看不出規律,都亂套了
回復

使用道具 舉報

ID:235200 發表于 2019-11-9 17:37 | 顯示全部樓層
給出的程序沒有問題,不妨就編譯此程序進行調試,電路依然是那個電路,再去觀察P1口的變化
回復

使用道具 舉報

ID:245004 發表于 2019-11-9 18:22 | 顯示全部樓層
程序中有沒有時間間隔?例如:

  1. for (i = 0; i < 16; i++) {
  2.     P1 = i;
  3.     Delay_ms(500);
  4.     }
復制代碼

另外說句題外話,寫代碼還是規范好,大括號建議不要省略。

回復

使用道具 舉報

ID:638656 發表于 2019-11-9 18:38 | 顯示全部樓層
csmyldl 發表于 2019-11-9 17:37
給出的程序沒有問題,不妨就編譯此程序進行調試,電路依然是那個電路,再去觀察P1口的變化

emmm,請問怎樣編譯來調試呢,keil里不是點了編譯就得到了hex文件嗎
回復

使用道具 舉報

ID:213173 發表于 2019-11-9 19:21 | 顯示全部樓層
本帖最后由 wulin 于 2019-11-10 06:48 編輯

單從樓主寫的這段代碼看沒有什么問題,如果實際應用程序中P1高4位端口還有其它用途,就要對P1作字節操作,保持高4位端口狀態不變。
#include <reg52.h>
void main()
{               
        unsigned char i;        
        P1=0xff;
        for(i=0;i<16;i++)
        {
                P1&=0xf0;
                P1|=i;
        }
        while(1);
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表