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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8349|回復(fù): 12
收起左側(cè)

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

  [復(fù)制鏈接]
ID:193960 發(fā)表于 2018-1-2 16:36 | 顯示全部樓層 |閱讀模式
這是自己最近研究的單片機(jī)和8255擴(kuò)展的連接方法
組成了一個(gè)16個(gè)按鍵的矩形鍵盤(pán)
用LCD來(lái)顯示按鍵的數(shù)字和一些小小的功能
新手初來(lái)乍到,不足之處還請(qǐng)各位多多指點(diǎn)。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png

單片機(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. //定義鍵盤(pán)
  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寫(xiě)指令
  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寫(xiě)數(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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

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


相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

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)

ID:92810 發(fā)表于 2018-3-19 10:02 | 顯示全部樓層
仿真可以,但是用到實(shí)際就不可以的
回復(fù)

使用道具 舉報(bào)

ID:92810 發(fā)表于 2018-3-19 10:03 | 顯示全部樓層
我試過(guò)了,下載單片機(jī)試驗(yàn)箱就不可以
回復(fù)

使用道具 舉報(bào)

ID:92810 發(fā)表于 2018-11-15 14:50 | 顯示全部樓層
謝謝分享了,樓主,學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

ID:92810 發(fā)表于 2018-11-15 14:50 | 顯示全部樓層
剛好不懂,可以下載學(xué)習(xí)學(xué)習(xí)先
回復(fù)

使用道具 舉報(bào)

ID:278679 發(fā)表于 2020-3-29 20:44 | 顯示全部樓層
謝謝!!剛好需要
回復(fù)

使用道具 舉報(bào)

ID:723392 發(fā)表于 2020-5-4 17:41 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:456196 發(fā)表于 2021-5-24 12:22 | 顯示全部樓層
請(qǐng)問(wèn)樓主軟件是用的什么軟件寫(xiě)的
回復(fù)

使用道具 舉報(bào)

ID:1057970 發(fā)表于 2022-12-17 20:44 | 顯示全部樓層
怎么讓最后一個(gè)鍵顯示f
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品一区二区三区在线观看 | 亚洲网站观看 | 精品国产一区二区久久 | 国产午夜精品一区二区三区四区 | 91国内产香蕉 | 日韩有码一区二区三区 | 一级片av | 久久免费视频1 | 亚洲一区在线日韩在线深爱 | 久久久久久久av麻豆果冻 | 国产大毛片 | 日批日韩在线观看 | 国产欧美精品一区二区三区 | 欧美中文字幕一区二区三区亚洲 | 久久婷婷av | 91高清视频在线观看 | 亚洲国产日韩欧美 | 国产91一区二区三区 | 欧美成人a | 亚洲成人一区 | 久久久久国产一区二区三区四区 | 最新国产精品 | 国产精品久久久久久久久免费桃花 | 一二三四在线视频观看社区 | 一区二区三区四区不卡 | 成人影院午夜 | 夜夜久久 | 国产精品欧美日韩 | 99免费在线视频 | 亚洲a视频| 国产精品亚洲成在人线 | 国产福利资源在线 | 在线视频一区二区 | 国产一区欧美 | 日韩在线中文 | 中文字幕一区二区三区四区五区 | 亚洲精品一区二区网址 | 亚洲成人黄色 | 国产在线不卡视频 | 少妇精品久久久久久久久久 | 日日操操|