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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5814|回復: 0
收起左側

單片機按鍵識別程序與proteus仿真

[復制鏈接]
ID:137190 發表于 2016-10-10 16:47 | 顯示全部樓層 |閱讀模式
一個最簡單的單片機應用 按鍵識別的proteus仿真,原理圖如下:
0.png
單片機源程序:
  1. /********************************************************************
  2.                             51黑電子論壇
  3. *********************************************************************/
  4. #include<reg52.h>                 //庫文件
  5. #define uchar unsigned char//宏定義無符號字符型
  6. #define uint unsigned int  //宏定義無符號整型
  7. /********************************************************************
  8.                             初始定義
  9. *********************************************************************/
  10. uchar count;   //按鍵計數,每按一下,count 加1
  11. uchar a,b;           //定義字符型變量
  12. uchar temp;    //定義字符型變量
  13. sbit BY1=P2^1; //定義按鍵的輸入端(為單片機P2口的P2.1按鍵)
  14. /********************************************************************
  15.                             延時函數
  16. *********************************************************************/
  17. void delay10ms(void) //延時程序
  18. {
  19. uchar i,j;
  20. for(i=20;i>0;i--)
  21. for(j=248;j>0;j--);
  22. }
  23. /********************************************************************
  24.                            按鍵判斷函數
  25. *********************************************************************/
  26. void key() //按鍵判斷程序
  27. {
  28.         if(BY1==0) //判斷是否按下鍵盤
  29.         {
  30.                 delay10ms(); //延時,軟件去干擾
  31.                 if(BY1==0) //確認按鍵按下
  32.                 {
  33.                         count++; //按鍵計數加1
  34.                         if(count==8) //計8次重新計數
  35.                         {
  36.                                 count=0;//將count 清零
  37.                         }
  38.                 }
  39.         while(BY1==0);//按鍵鎖定,每按一次count 只加1.
  40.         }
  41. }
  42. /********************************************************************
  43.                             主函數
  44. *********************************************************************/
  45. void main()
  46. {
  47.         temp=0xfe; //定義為11111110
  48.         while(1)
  49.         {
  50.                 key(); //調用按鍵判斷函數
  51.                 a=temp<<count;//左移count位
  52.                 b=temp>>(8-count);//右移8-count位
  53.                 P0=a|b;        //求值
  54.         }
  55. }
  56.         
  57. /********************************************************************
  58.                               結束
  59. *********************************************************************/
復制代碼

0.png
所有資料下載:
按鍵識別.rar (56.31 KB, 下載次數: 14)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品美女久久久久 | 久久精品国产免费一区二区三区 | 成人午夜激情 | 日韩在线观看一区 | www.亚洲国产精品 | 亚洲性综合网 | 国产精品久久久久aaaa樱花 | 国产中文在线 | 超碰成人免费 | 久久亚| 91福利在线导航 | 欧美aaa| 国内精品视频在线观看 | 国产精品观看 | 亚欧洲精品在线视频免费观看 | 久久99精品国产自在现线小黄鸭 | 中文字幕一区二区在线观看 | 中文字幕亚洲欧美日韩在线不卡 | 国产欧美日韩在线一区 | 丁香六月伊人 | 自拍视频网 | 亚洲成人日韩 | 超碰免费观看 | 视频在线亚洲 | 男人的天堂久久 | 亚洲综合伊人 | 中文二区 | 欧美日韩高清 | 亚洲一二视频 | 一区二区三区四区视频 | 久久精品国产一区老色匹 | 欧美精品一区二区在线观看 | 欧美一区二区三区精品免费 | 国产做爰| 国产精品美女 | 日韩精品在线免费观看视频 | 婷婷综合激情 | 最近最新中文字幕 | 天天操 天天操 | 日本不卡一区二区三区 | 国产一区二区三区在线免费 |