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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機8279芯片構成8行2列鍵盤接口電路+Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
注意:在總線上加入標號AD[0..7]和RL[0..7],另外在導線上也要加上標號AD0~AD7和RL0~RL7
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



單片機源程序如下:
  1. #include<reg51.h>
  2. #include<ABSACC.H>

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define com XBYTE[0x7fff] //A15=0(cs=0),A14=1(A0=1),命令狀態口
  6. #define dat XBYTE[0x3fff] //A15=0(cs=0),A14=0(A0=0),數據口

  7. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  //共陰極字型碼
  8. uchar temp;
  9. bit key;

  10. void delay(uint z){
  11. uint x,y;
  12. for(x=z;x>0;x--)
  13. for(y=110;y>0;y--);
  14. }

  15. int main(void){
  16. temp=0;
  17. EA=1;
  18. EX0=1;
  19. IT0=0;
  20. delay(10);
  21. com=0xd2;  //11010010,清除RAM
  22. delay(10);
  23. com=0x00;  //00000000,8位字符顯示——左邊輸入,編碼掃描鍵盤,雙鍵鎖定
  24. delay(10);
  25. com=0x34;  //00110100,時鐘編碼命令,20分頻,晶振12MHz,ALE輸入2MHZ,8279經20分頻后得到100KHz工作頻率
  26. delay(10);
  27. com=0x90;  //從單元0開始寫要顯示的數據,每次寫完后自動地址加1
  28. delay(10);
  29. com=0x70;  //從單元0開始讀要顯示的數據,每次讀完后自動地址加1
  30. key=0;
  31. while(1){  //等中斷
  32. if(key){
  33. com=0x40;  //01000000,讀FIFO/傳感器RAM命令字
  34. delay(1);
  35. temp=dat&0x3f;  //去鍵盤數據低6位,即為鍵值
  36. dat=table[temp];  //送數碼管顯示
  37. key=0;  //按鍵標志復位
  38. }
  39. }
  40. }

  41. void time() interrupt 0{
  42. key=1;  //有鍵按下
  43. }
復制代碼



Keil5代碼與Proteus8.8仿真下載: 51單片機8279芯片構成8行2列鍵盤接口電路.zip (96.95 KB, 下載次數: 18)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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