找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機如何通過改變P2口的狀態(tài)來分別控制P1和P2LED的點亮效果?

查看數(shù): 1710 | 評論數(shù): 9 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2022-3-27 10:55

正文摘要:

問題是:實現(xiàn)用P2.0至P2.7端口連接的8個開關按鍵,控制P0口和P1口連接的16個發(fā)光二級管,實現(xiàn)不同花樣的流水點亮效果。 下面是Proteus仿真圖: 我現(xiàn)在遇到的問題就是想要通過改變P2口的狀態(tài)來分別控制P1 ...

回復

ID:230742 發(fā)表于 2022-3-29 10:45
掉坑里出不來了。哈哈。
ID:161164 發(fā)表于 2022-3-28 21:08
ION_i 發(fā)表于 2022-3-28 17:41
這個是后來改的,改過之后還是之前的效果。

第29行:誰教你在函數(shù)中用while(1)的?
ID:161164 發(fā)表于 2022-3-28 10:23
你的描述,仿真圖和代碼都不一至
仿真圖上的描述是P2控制P0和P1
仿真圖里P2接按鍵,P0和P1接LED
仿真圖下的描述是P2控制不了P1和P2
代碼里是P2控制P1和P2
請你再檢查一下
ID:1013404 發(fā)表于 2022-3-27 20:44
zhxiufan 發(fā)表于 2022-3-27 19:08
肯定是程序有問題呀,要獲得幫助你需要將你的程序貼出來才行。

好的,正在審核
ID:1013404 發(fā)表于 2022-3-27 20:43
部分代碼如下:
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. //Delay
  4. void delay(){
  5.         uchar i,j;
  6.         for(i=0;i<255;i++)
  7.         for(j=0;j<255;j++);
  8. }

  9. char GetKey(){
  10.         char key;
  11.         key = ~P2;
  12.         return key;
  13. }


  14. //P2=1,P0 All On.
  15. void P0_All_On(){
  16.         P0 = 0x00;
  17. }

  18. //P1 unidirectional led
  19. void P1_Unidirectional_Led(){
  20.        
  21. }

  22. //P2=0xfd,P1 All On.
  23. void P1_All_On(){       
  24.                 P1 = 0x00;
  25. }

  26. void LedDispose(char key){
  27.         P1 = 0xff;
  28.         P2 = 0xff;
  29.         if(key == 0x01)
  30.                 P0_All_On();
  31.         if(key == 0x02)
  32.                 P1_All_On();
  33. }


  34. void main(){
  35.         char key;
  36.         P2 = 0xff;
  37.         key = ~P2;
  38.         while(1)
  39.         {
  40.                 key = GetKey();
  41. //                state = ~P2;
  42.                 if(key != 0x00)
  43.                 {
  44.                         LedDispose(key);
  45.                 }else{
  46.                         P1 = 0xff;
  47.                         P2 = 0xff;
  48.                 }

  49.         }
  50. }
復制代碼
ID:121859 發(fā)表于 2022-3-27 19:08
肯定是程序有問題呀,要獲得幫助你需要將你的程序貼出來才行。
ID:301191 發(fā)表于 2022-3-27 18:06
頂一下

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

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

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