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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3657|回復: 6
收起左側

我想通過非門來將四個位選口變為兩個,單片機可以這樣編程嗎,大佬們幫我看看

[復制鏈接]
ID:364875 發表于 2020-4-20 03:05 | 顯示全部樓層 |閱讀模式
我想通過非門來將四個位選口變為兩個,可以這樣編程嗎,大佬們幫我看看
1587322801(1).png
回復

使用道具 舉報

ID:213173 發表于 2020-4-20 06:19 | 顯示全部樓層
用2個IO口和門電路控制四個位選沒有問題,IO口輸出00~11就可以得到0001、0010、0100、1000。但是電路有點復雜,如果用4017十進制計數器只要1個IO口就能完多達10個位選。 6位百分秒表 仿真.zip (135.05 KB, 下載次數: 5)

回復

使用道具 舉報

ID:364875 發表于 2020-4-20 12:10 | 顯示全部樓層
wulin 發表于 2020-4-20 06:19
用2個IO口和門電路控制四個位選沒有問題,IO口輸出00~11就可以得到0001、0010、0100、1000。但是電路有點復 ...

那我這樣編程對嗎?電路的話是不是從io口里引出兩條線其中一條經過非門芯片再分別接到位選的三極管里
回復

使用道具 舉報

ID:213173 發表于 2020-4-21 06:39 | 顯示全部樓層
asdfghjkl;a;lsd 發表于 2020-4-20 12:10
那我這樣編程對嗎?電路的話是不是從io口里引出兩條線其中一條經過非門芯片再分別接到位選的三極管里

你這個端口定義寫法是錯誤的,兩個IO口控制4個位選也不是簡單取反就能完成。兩個IO口可以組成4種狀態,是BCD碼,用BCD碼/十進制譯碼器CD4028 就能完美解決,為什么非得要用非門?
無標題.jpg


  1. #include <reg51.h>

  2. sbit wela1=P3^3;
  3. sbit wela2=P3^4;

  4. unsigned char code table[]={//共陽數碼管段碼"0~f-."
  5.                 0xc0,0xf9,0xa4,0xb0,
  6.                 0x99,0x92,0x82,0xf8,
  7.                 0x80,0x90,0x88,0x83,
  8.                 0xc6,0xa1,0x86,0x8e,0xbf,0x7f};

  9. void delay(unsigned int k)
  10. {
  11.         unsigned int i,j;
  12.         for(i=k;i>0;i--)
  13.                 for(j=120;j>0;j--);
  14. }

  15. void main()
  16. {
  17.     while(1)
  18.     {
  19.                 P0=0xff;           //消隱
  20.                 wela1=0;           //位選
  21.                 wela2=0;    //位選
  22.                 P0=table[1];//段碼
  23.                 delay(2);   //延時

  24.                 P0=0xff;       
  25.                 wela1=1;
  26.                 wela2=0;
  27.                 P0=table[2];
  28.                 delay(2);

  29.                 P0=0xff;       
  30.                 wela1=0;
  31.                 wela2=1;
  32.                 P0=table[3];
  33.                 delay(2);

  34.                 P0=0xff;       
  35.                 wela1=1;
  36.                 wela2=1;
  37.                 P0=table[4];
  38.                 delay(2);
  39.     }
  40. }
復制代碼



回復

使用道具 舉報

ID:213173 發表于 2020-4-21 09:36 | 顯示全部樓層
asdfghjkl;a;lsd 發表于 2020-4-20 12:10
那我這樣編程對嗎?電路的話是不是從io口里引出兩條線其中一條經過非門芯片再分別接到位選的三極管里

用兩個IO口+與非門驅動數碼管的4個位的方法,程序和上面的基本一樣,只是數碼管改為共陰極。
無標題.jpg


  1. #include <reg51.h>

  2. sbit wela1=P3^0;
  3. sbit wela2=P3^1;

  4. unsigned char code table[]={//共陰數碼管段碼"0~f-."
  5.                 0x3f,0x06,0x5b,0x4f,
  6.                 0x66,0x6d,0x7d,0x07,
  7.                 0x7f,0x6f,0x77,0x7c,
  8.                 0x39,0x5e,0x79,0x71,0x40,0x80};

  9. void delay(unsigned int k)
  10. {
  11.         unsigned int i,j;
  12.         for(i=k;i>0;i--)
  13.                 for(j=120;j>0;j--);
  14. }

  15. void main()
  16. {
  17.     while(1)
  18.     {
  19.                 P0=0x00;           //消隱
  20.                 wela1=0;           //位選
  21.                 wela2=0;    //位選
  22.                 P0=table[1];//段碼
  23.                 delay(2);   //延時

  24.                 P0=0x00;       
  25.                 wela1=1;
  26.                 wela2=0;
  27.                 P0=table[2];
  28.                 delay(2);

  29.                 P0=0x00;       
  30.                 wela1=0;
  31.                 wela2=1;
  32.                 P0=table[3];
  33.                 delay(2);

  34.                 P0=0x00;       
  35.                 wela1=1;
  36.                 wela2=1;
  37.                 P0=table[4];
  38.                 delay(2);
  39.     }
  40. }
復制代碼



回復

使用道具 舉報

ID:364875 發表于 2020-4-21 14:47 | 顯示全部樓層
wulin 發表于 2020-4-21 06:39
你這個端口定義寫法是錯誤的,兩個IO口控制4個位選也不是簡單取反就能完成。兩個IO口可以組成4種狀態,是 ...

我的數碼管是共陽數碼管,就是用你的第一個這樣的程序來相應的改嗎
回復

使用道具 舉報

ID:364875 發表于 2020-4-27 00:44 | 顯示全部樓層
wulin 發表于 2020-4-21 09:36
用兩個IO口+與非門驅動數碼管的4個位的方法,程序和上面的基本一樣,只是數碼管改為共陰極。

麻煩您幫我看看這個程序應該怎么改,和我這個原理圖有沒有接錯,因為馬上就要答辯了,麻煩您幫幫忙,謝謝。
3.04.png

程序 (2).docx

16.73 KB, 下載次數: 2

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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