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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4715|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)簡(jiǎn)單撥號(hào)鍵盤的仿真設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
簡(jiǎn)單撥號(hào)鍵盤仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<Reg52.h>
  2. int SELECT[8]={0X7F,0XBF,0XDF,0XEF,0XF7,0XFB,0XFD,0XFE};         //位選數(shù)組
  3. int LED[17]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71,0X40};
  4. //LED數(shù)碼管字形碼集合數(shù)組
  5. int SELECT1[2][4]={0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};//篩選異或結(jié)果集合數(shù)組
  6. int DISPLAY[8]={0X40,0X40,0X40,0X40,0X40,0X40,0X40,0X40};//初始化顯示數(shù)組
  7. int flag;

  8. void delay(int ms)
  9. {
  10.         int i,j;
  11.         for(i=ms;i>0;i--)
  12.                 for(j=110;j>0;j--);       
  13. }
  14. //延時(shí)函數(shù) (1ms)

  15. void display(int wei,int L[])//wei為位選數(shù)目
  16. {          
  17.         int k;
  18.         for(k=0;k<wei;k++){
  19.                 P0=SELECT[wei-1-k];
  20.                 P2=L[k];
  21.                 delay(1);
  22.                 P2=0X00;//消隱
  23.         }
  24. }//顯示函數(shù)——P0位選,P2段選

  25. int button(int pp,int new)//p1為0X0F(篩選行)或0XF0(篩選列)
  26. {        int a,p,q,m;//new為當(dāng)前P1端口按鍵狀態(tài),a為異或結(jié)果,p、q為循環(huán)計(jì)數(shù)變量,m為所在行、列
  27.         if(new==pp)
  28.                 {flag=0;return flag;}        //未有按鍵按下標(biāo)志
  29.         else{
  30.                 delay(1);
  31.                 if(new!=pp)
  32.                 {       
  33.                         a=new^pp;
  34.                         for(p=0;p<2;p++)
  35.                                 for(q=0;q<4;q++)
  36.                                         if(SELECT1[p][q]==a) m=q+1;        //遍歷異或結(jié)果集合數(shù)組后找到所在行、列
  37.                         }
  38.                 return m;
  39.                 }//篩選出行或列
  40. }//判斷按鍵所在行列位置,P1為按鍵接口端

  41. void main()
  42. {        int x,y,sum,n,temp;//x為行,y為列,sum為鍵值
  43.         while(1){
  44.         P1=0X0F;temp=P1;
  45.         x=button(0X0F,temp);
  46.         P1=0XF0;temp=P1;//用于判斷是否是新的按鍵值
  47.         y=button(0XF0,temp);
  48.         if(y==0)
  49.                 display(8,DISPLAY);
  50.         else{
  51.                 flag++;
  52. ……………………

  53. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
任務(wù)十:簡(jiǎn)單撥號(hào)鍵盤設(shè)計(jì).rar (52.29 KB, 下載次數(shù): 46)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:872264 發(fā)表于 2021-1-3 22:10 | 只看該作者
大佬能解釋一下如何實(shí)現(xiàn)強(qiáng)推挽輸出嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品亚洲欧美日韩一区在线 | 激情国产视频 | 五月综合久久 | 成人无遮挡毛片免费看 | 国产一区二区三区四区 | 精品久久国产 | 久草视频在线播放 | 亚洲www啪成人一区二区 | 伦理一区二区 | 日韩精品二区 | 亚洲精品国产综合区久久久久久久 | 91在线中文字幕 | 国产视频福利一区 | 久久99国产精品久久99果冻传媒 | 亚洲精品第一页 | 亚洲精品一区二区三区丝袜 | 久久精品国产免费一区二区三区 | 亚洲精品自在在线观看 | 日韩av一区在线观看 | 日韩视频在线观看 | 欧美综合视频 | 高清一区二区 | 91一区 | 精品伊人 | 国产黄色在线观看 | 久久亚洲精品国产精品紫薇 | 91精品久久久久久久久久入口 | 99久久久无码国产精品 | 日韩喷潮 | 天天视频一区二区三区 | 一级免费视频 | 999精品视频 | 91麻豆精品国产91久久久更新资源速度超快 | 精品国产18久久久久久二百 | 2020国产在线 | 国产精品视频免费观看 | 日本精品一区二区 | 欧美不卡一区二区三区 | 国产在线观看一区二区 | 国产日韩精品视频 | 欧美国产亚洲一区二区 |