标题:
单片机和8255扩展16矩形键盘仿真与源程序
[打印本页]
作者:
Pulstar
时间:
2018-1-2 16:36
标题:
单片机和8255扩展16矩形键盘仿真与源程序
这是自己最近研究的单片机和8255扩展的连接方法
组成了一个16个按键的矩形键盘
用LCD来显示按键的数字和一些小小的功能
新手初来乍到,不足之处还请各位多多指点。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(21.04 KB, 下载次数: 137)
下载附件
2018-1-2 23:56 上传
0.png
(15.11 KB, 下载次数: 147)
下载附件
2018-1-2 23:56 上传
单片机源程序如下:
#include <REGX52.H>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
//ABC口,控制定义
#define PA XBYTE[0X7CFF]
#define PB XBYTE[0X7DFF]
#define PC XBYTE[0X7EFF]
#define COM XBYTE[0X7FFF]
//定义键盘
uchar code JP[]={
0xe7,0xeb,0xed,0xee,
0xd7,0xdb,0xdd,0xde,
0xb7,0xbb,0xbd,0xbe,
0x77,0x7b,0x7d,0x7e,
};
uchar code lcd[]={ '0','1','2','3',
'4','5','6','7',
'8','9', '+','-',
'*','/', '=',
};
//定义控制引脚
sbit RS=P3^0;
sbit RW=P3^1;
sbit EN=P3^2;
sbit WR1=P3^6;
sbit RD1=P3^7;
//延时
void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
//1602写指令
void Write_LCD_Command(uchar cmd)
{
RS=0;RW=0;EN=0;
P1=cmd;
DelayMS(5);
EN=1;
DelayMS(5);
EN=0;
}
//1602写数据
void Write_LCD_data(uchar dat)
{
RS=1;RW=0;EN=0;
P1=dat;
DelayMS(5);
EN=1;
DelayMS(5);
EN=0;
}
//1602读数据
void read(uchar rea)
{
RS=1;RW=1;EN=1;
P1=rea;
DelayMS(5);
EN=0;
DelayMS(5);
EN=1;
}
//1602初始化
void Ini_LCD()
{
Write_LCD_Command(0x0F);DelayMS(5);//设置功能
Write_LCD_Command(0x38);DelayMS(5);
Write_LCD_Command(0x06);DelayMS(5);//AC+1
Write_LCD_Command(0x01);DelayMS(5);//清屏
Write_LCD_Command(0x0c);DelayMS(5);//显示功能
}
//1602显示位置
void WAdd( uchar x,uchar y)
{
Write_LCD_Command(0x80+x);
Write_LCD_data(y);
}
//主函数
void main()
{
COM=0X90;
Ini_LCD();
while(1)
{
uchar key,temp,num,a;
PC=0X0F;
if(PC!=0X0F)
{
DelayMS(10);
if(PC!=0X0F)
{
temp=PC;
PC=0xf0;
key=temp|PC;
if(key==0x7e)
{
Write_LCD_Command(0x01);DelayMS(5);//清屏
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
8255 16按键.rar
(61.55 KB, 下载次数: 281)
2018-1-2 16:33 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
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.51hei.com/bbs/)
Powered by Discuz! X3.1