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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)和8255擴(kuò)展16矩形鍵盤仿真與源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是自己最近研究的單片機(jī)和8255擴(kuò)展的連接方法
組成了一個(gè)16個(gè)按鍵的矩形鍵盤
用LCD來顯示按鍵的數(shù)字和一些小小的功能
新手初來乍到,不足之處還請各位多多指點(diǎn)。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  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. //延時(shí)
  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寫數(shù)據(jù)
  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讀數(shù)據(jù)
  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);//設(shè)置功能
  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. //主函數(shù)
  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黑下載附件…………
復(fù)制代碼

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


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

使用道具 舉報(bào)

沙發(fā)
ID:92810 發(fā)表于 2018-3-16 22:13 | 只看該作者
非常需要這個(gè)程序啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:92810 發(fā)表于 2018-3-16 22:14 | 只看該作者
非常需要這個(gè)程序啊!!!!
回復(fù)

使用道具 舉報(bào)

地板
ID:92810 發(fā)表于 2018-3-16 22:19 | 只看該作者
我也不會(huì)這個(gè)呢
回復(fù)

使用道具 舉報(bào)

5#
ID:92810 發(fā)表于 2018-3-19 10:02 | 只看該作者
仿真可以,但是用到實(shí)際就不可以的
回復(fù)

使用道具 舉報(bào)

6#
ID:92810 發(fā)表于 2018-3-19 10:03 | 只看該作者
我試過了,下載單片機(jī)試驗(yàn)箱就不可以
回復(fù)

使用道具 舉報(bào)

7#
ID:92810 發(fā)表于 2018-11-15 14:50 | 只看該作者
謝謝分享了,樓主,學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

8#
ID:92810 發(fā)表于 2018-11-15 14:50 | 只看該作者
剛好不懂,可以下載學(xué)習(xí)學(xué)習(xí)先
回復(fù)

使用道具 舉報(bào)

9#
ID:278679 發(fā)表于 2020-3-29 20:44 | 只看該作者
謝謝!!剛好需要
回復(fù)

使用道具 舉報(bào)

10#
ID:723392 發(fā)表于 2020-5-4 17:41 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

11#
ID:415338 發(fā)表于 2020-12-23 19:57 | 只看該作者
可以編譯和仿真,樓主應(yīng)該是準(zhǔn)備寫個(gè)計(jì)算器吧,后續(xù)還有待補(bǔ)全,等于后面的東東還沒有寫
回復(fù)

使用道具 舉報(bào)

12#
ID:456196 發(fā)表于 2021-5-24 12:22 | 只看該作者
請問樓主軟件是用的什么軟件寫的
回復(fù)

使用道具 舉報(bào)

13#
ID:1057970 發(fā)表于 2022-12-17 20:44 | 只看該作者
怎么讓最后一個(gè)鍵顯示f
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美专区日韩 | 激情在线视频网站 | 精品国产欧美一区二区三区成人 | 日韩精品在线观看视频 | 欧美伊人| 国产综合网站 | 成人性视频免费网站 | 亚洲天天干| 紧缚调教一区二区三区视频 | 精品在线一区 | 日韩欧美精品在线 | 韩国毛片一区二区三区 | 亚洲在线 | 午夜精品影院 | 亚洲高清av在线 | 97偷拍视频| va在线 | 四虎永久免费在线 | 欧美日韩最新 | 国产精品国产成人国产三级 | 久久久999精品 | 亚洲精品亚洲人成人网 | 日韩精品成人 | 国产精品久久久久久一区二区三区 | 激情毛片 | 伊人性伊人情综合网 | 精品一二三区在线观看 | 天天搞天天操 | 国产精品国产精品国产专区不蜜 | 欧美网站一区 | 国产精品电影网 | 国产精品久久久久久久白浊 | 欧美福利在线 | 最新毛片网站 | 男人av的天堂| 欧美一区二区久久 | 亚洲精品第一页 | 日本午夜视频 | 精品一区二区在线观看 | 91性高湖久久久久久久久_久久99 | 成人国产精品色哟哟 |