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

標題: 單片機和8255擴展16矩形鍵盤仿真與源程序 [打印本頁]

作者: Pulstar    時間: 2018-1-2 16:36
標題: 單片機和8255擴展16矩形鍵盤仿真與源程序
這是自己最近研究的單片機和8255擴展的連接方法
組成了一個16個按鍵的矩形鍵盤
用LCD來顯示按鍵的數字和一些小小的功能
新手初來乍到,不足之處還請各位多多指點。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <REGX52.H>
  2. #include<intrins.h>
  3. #include<absacc.h>
  4. #define uchar unsigned char
  5. #define uint  unsigned int
  6. //ABC口,控制定義
  7. #define PA  XBYTE[0X7CFF]
  8. #define PB  XBYTE[0X7DFF]  
  9. #define PC  XBYTE[0X7EFF]  
  10. #define COM XBYTE[0X7FFF]
  11. //定義鍵盤
  12. uchar code JP[]={       
  13.                                         0xe7,0xeb,0xed,0xee,
  14.                                         0xd7,0xdb,0xdd,0xde,
  15.                                         0xb7,0xbb,0xbd,0xbe,
  16.                                         0x77,0x7b,0x7d,0x7e,
  17.                 };
  18. uchar code lcd[]={        '0','1','2','3',
  19.                                         '4','5','6','7',
  20.                                         '8','9', '+','-',
  21.                                         '*','/', '=',
  22.                                   
  23.                                 };
  24. //定義控制引腳
  25. sbit RS=P3^0;
  26. sbit RW=P3^1;
  27. sbit EN=P3^2;
  28. sbit WR1=P3^6;
  29. sbit RD1=P3^7;
  30. //延時
  31. void DelayMS(uint ms)
  32. {
  33.         uchar i;
  34.         while(ms--)
  35.         {
  36.                 for(i=0;i<120;i++);
  37.         }
  38. }
  39. //1602寫指令
  40. void Write_LCD_Command(uchar cmd)
  41. {
  42.          RS=0;RW=0;EN=0;
  43.          P1=cmd;
  44.          DelayMS(5);
  45.          EN=1;
  46.          DelayMS(5);
  47.          EN=0;
  48. }
  49. //1602寫數據
  50. void Write_LCD_data(uchar dat)
  51. {
  52.         RS=1;RW=0;EN=0;
  53.         P1=dat;
  54.         DelayMS(5);
  55.         EN=1;
  56.         DelayMS(5);
  57.         EN=0;
  58. }
  59. //1602讀數據
  60. void read(uchar rea)
  61. {
  62.         RS=1;RW=1;EN=1;
  63.         P1=rea;
  64.         DelayMS(5);
  65.         EN=0;
  66.         DelayMS(5);
  67.         EN=1;       
  68. }
  69. //1602初始化
  70. void Ini_LCD()
  71. {
  72.         Write_LCD_Command(0x0F);DelayMS(5);//設置功能
  73.         Write_LCD_Command(0x38);DelayMS(5);
  74.         Write_LCD_Command(0x06);DelayMS(5);//AC+1
  75.         Write_LCD_Command(0x01);DelayMS(5);//清屏
  76.         Write_LCD_Command(0x0c);DelayMS(5);//顯示功能               
  77. }
  78. //1602顯示位置
  79. void WAdd( uchar x,uchar y)
  80. {
  81.         Write_LCD_Command(0x80+x);
  82.         Write_LCD_data(y);       
  83. }
  84. //主函數
  85. void main()
  86. {

  87.         COM=0X90;
  88.         Ini_LCD();
  89.         while(1)
  90.         {       
  91.          uchar key,temp,num,a;
  92.                 PC=0X0F;
  93.                 if(PC!=0X0F)
  94.                 {
  95.                         DelayMS(10);
  96.                         if(PC!=0X0F)
  97.                         {
  98.                                 temp=PC;
  99.                                 PC=0xf0;
  100.                                 key=temp|PC;
  101.                                 if(key==0x7e)
  102.                                 {
  103.                                                 Write_LCD_Command(0x01);DelayMS(5);//清屏       
  104. ……………………

  105. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
8255 16按鍵.rar (61.55 KB, 下載次數: 281)



作者: gemxie    時間: 2018-3-16 22:13
非常需要這個程序啊
作者: gemxie    時間: 2018-3-16 22:14
非常需要這個程序啊!!!!
作者: gemxie    時間: 2018-3-16 22:19
我也不會這個呢
作者: gemxie    時間: 2018-3-19 10:02
仿真可以,但是用到實際就不可以的
作者: gemxie    時間: 2018-3-19 10:03
我試過了,下載單片機試驗箱就不可以
作者: gemxie    時間: 2018-11-15 14:50
謝謝分享了,樓主,學習下
作者: gemxie    時間: 2018-11-15 14:50
剛好不懂,可以下載學習學習先
作者: L_uan    時間: 2020-3-29 20:44
謝謝!!剛好需要
作者: POI520    時間: 2020-5-4 17:41
謝謝分享

作者: 遠小劉    時間: 2020-12-23 19:57
可以編譯和仿真,樓主應該是準備寫個計算器吧,后續還有待補全,等于后面的東東還沒有寫
作者: 桀啊桀    時間: 2021-5-24 12:22
請問樓主軟件是用的什么軟件寫的

作者: lvgqislucky    時間: 2022-12-17 20:44
怎么讓最后一個鍵顯示f




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲日本国产 | 色综合色综合网色综合 | 国产精品一区在线 | 毛片一区二区三区 | 中文日韩在线视频 | 亚洲午夜精品视频 | 国产清纯白嫩初高生视频在线观看 | 国产精品久久久一区二区三区 | 国产精品成人一区二区三区 | 亚洲国产欧美日韩 | 久久性色 | 91精品国产色综合久久 | 日本午夜视频 | 91精品国产91久久综合桃花 | 久久精品国产一区二区电影 | 日日夜夜操天天干 | 在线观看你懂的网站 | 夜夜草视频 | 国产在线麻豆精品入口 | 国产精品一区二区在线 | 国产精品视频在线观看 | 国内精品视频在线 | 91久久久久久久久久久久久 | 成人性视频在线 | 久久中文网 | 九九久久国产 | 91资源在线 | 男女网站免费 | 亚洲精品日韩在线观看 | 天天曰夜夜操 | 精品亚洲二区 | 一区二区三区四区免费观看 | 国产精品一区二区三区四区五区 | 91麻豆精品国产91久久久久久 | 大伊人久久 | 久久久免费电影 | 一级片成人 | 狠狠操在线 | 日本人麻豆 | 伊人国产精品 | 99久久久久久久 |