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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2670|回復: 9
打印 上一主題 下一主題
收起左側

關于51單片機一個問題一直困擾我幾天,有4個鍵,控制4個的狀態

[復制鏈接]
跳轉到指定樓層
樓主
ID:609031 發表于 2019-11-24 23:50 來自手機 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
真的困擾我好久了,希望能解決這個問題。有沒有大佬知道怎么做?可以大致說下思路嗎?
有4個鍵,控制4個的狀態。A鍵讓燈閃爍,B鍵讓閃爍停止;C鍵讓燈從上到下移位,D鍵讓燈從下到上移位

4913b1ed42ef6530.png (378.54 KB, 下載次數: 32)

4913b1ed42ef6530.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:609031 發表于 2019-11-24 23:51 來自手機 | 只看該作者
中間下面那兩個是與門
回復

使用道具 舉報

板凳
ID:25310 發表于 2019-11-25 06:44 來自手機 | 只看該作者
教科書害死人,一個單片機能解決的問題竟然用了那么多芯片!
回復

使用道具 舉報

地板
ID:584814 發表于 2019-11-25 07:00 | 只看該作者
《51單片機原理及應用(第二版)——基于Keil C與Proteus》第四章例4.4

1146465-20170419182854431-1491475702.png (187.02 KB, 下載次數: 37)

1146465-20170419182854431-1491475702.png
回復

使用道具 舉報

5#
ID:648876 發表于 2019-11-25 10:11 | 只看該作者
感覺也太麻煩了吧,不用這么多電路吧
回復

使用道具 舉報

6#
ID:378182 發表于 2019-11-25 11:14 | 只看該作者
一個單片機編程就能解決的問題,又何用那么多的外圍硬件與或非門來實現?
可能這個例題的目的就是要說明與或非門的功能用法?
回復

使用道具 舉報

7#
ID:160500 發表于 2019-11-25 12:12 | 只看該作者
將這個燈和鍵看做一個外部RAM,P3.0可以認為是片選,選中后可以像操作外部RAM一樣讀寫,讀是鍵盤,寫是LED。
回復

使用道具 舉報

8#
ID:302973 發表于 2019-11-25 12:35 | 只看該作者
用編程就可以解決
回復

使用道具 舉報

9#
ID:213173 發表于 2019-11-25 12:44 | 只看該作者
出這個題的目的是讓學生掌握IO口作輸出口的同時也做輸入口,編程時按分時輪換改變IO口狀態,在實際電路中檢測按鍵時短暫關閉LED是觀察不到的。仿真的效果不如實際電路好。
  1. #include <REG51.H>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit a=P3^0;       
  5. sbit b=P3^6;       
  6. sbit c=P3^7;
  7. uchar code table1[]={0xfe,0xfd,0xfb,0xf7};
  8. uchar code table2[]={0xf7,0xfb,0xfd,0xfe};
  9. uchar key=0x0f;

  10. void delay(uint k)//延時程序
  11. {
  12.         uint i,j;
  13.         for(i=k;i>0;i--)
  14.                 for(j=125;j>0;j--);
  15. }

  16. void keyscan()//按鍵掃描程序
  17. {
  18.         uchar i;
  19.         P0=0xff;
  20.         i=P0&0x0f;
  21.         if(i!=0x0f)
  22.         {
  23.                 key=i;       
  24.         }
  25. }
  26. void display()//顯示程序
  27. {
  28.         static uint i=0,j=0;

  29.         if(key==0x0e)
  30.         {       
  31.                 if(i<250)
  32.                         P0&=0x00;
  33.                 else P0=0x0f;
  34.         }
  35.         if(key==0x0d)
  36.         {
  37.                 P0=0x00;
  38.         }
  39.         if(key==0x0b)
  40.         {

  41.                 P0=table1[j];
  42.         }
  43.         if(key==0x07)
  44.         {
  45.                 P0=table2[j];
  46.         }

  47.         i++;
  48.         if(i>=500)
  49.         {
  50.                 i=0;
  51.                 j++;
  52.                 j%=4;
  53.         }
  54. }
  55. void main(void)
  56. {
  57.         b=0;
  58.         c=0;
  59.         while(1)
  60.         {
  61.                 a=0;
  62.                 keyscan();
  63.                 a=1;
  64.                 display();
  65.                 delay(1);
  66.         }
  67. }
復制代碼




回復

使用道具 舉報

10#
ID:609031 發表于 2019-11-25 20:38 來自手機 | 只看該作者
wulin 發表于 2019-11-25 12:44
出這個題的目的是讓學生掌握IO口作輸出口的同時也做輸入口,編程時按分時輪換改變IO口狀態,在實際電路中檢 ...

感謝大佬,已經解決
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品久久久久久久影视简单 | 自拍视频国产 | 五月综合激情在线 | 久久91| 亚洲一区二区三区观看 | 国产黄色av电影 | 亚洲视频免费一区 | 九九综合九九 | 精品香蕉一区二区三区 | 日本激情视频网 | 国产精品国产三级国产aⅴ中文 | 美女日皮网站 | 在线免费观看毛片 | 91传媒在线观看 | 中文字幕免费观看 | 精品日韩 | 国产人成在线观看 | 色www精品视频在线观看 | 欧美一级高潮片免费的 | 亚洲欧洲精品成人久久奇米网 | 丝袜美腿一区二区三区动态图 | 亚洲人成人一区二区在线观看 | 婷婷在线免费 | 亚洲精品在线免费播放 | 欧美一级片在线 | 天天操天天操 | 97视频精品 | 国产成人99久久亚洲综合精品 | 中文一区| 天堂久久网 | 色黄网站 | 国产精品入口 | 国产美女精品视频 | 日韩中文字幕一区二区 | 成人二区| 一区二区免费 | 亚洲人成在线观看 | 国产日韩一区二区三区 | 国产成人av一区二区三区 | аⅴ资源新版在线天堂 | 欧美激情黄色 |