没有合适的资源?快使用搜索试试~ 我知道了~
51单片机和DM12864M与矩阵键盘程序
5星 · 超过95%的资源 需积分: 10 8 下载量 144 浏览量
2013-07-12
09:03:49
上传
评论
收藏 4KB TXT 举报
温馨提示
试读
6页
以51单片机为控制芯片,矩阵键盘控制DM12864的显示,已经测试好用。
资源推荐
资源详情
资源评论
/*只是按键控制,以'tel'为正端,从上至下,从左至右,为1~16,矩阵按键用P1口控制*/
#include<reg51.h>
#include<absacc.h>
#include<INTRINS.H>
#define uint unsigned int
#define uchar unsigned char
sbit SID=P2^1;
sbit CLK=P2^0;
sbit CS=P2^2;
uchar temp,num,hang,lie,key,tem;
uint s,m,n;
uchar Buf[4] = {0xef, 0xdf, 0xbf, 0x7f};
void lcd_init();
void lcd_order(uchar);
void delay(uint);
void xian(uchar);
uchar keyscan(void) ;
void main()
{
lcd_init();
lcd_order(0x01);
delay(1);
lcd_order(0x80);
lcd_order(0x30); //一次送8位数据,基本指令集
while(1)
{
key=keyscan();
switch(key)
{
case 0:xian(1);break;
#include<reg51.h>
#include<absacc.h>
#include<INTRINS.H>
#define uint unsigned int
#define uchar unsigned char
sbit SID=P2^1;
sbit CLK=P2^0;
sbit CS=P2^2;
uchar temp,num,hang,lie,key,tem;
uint s,m,n;
uchar Buf[4] = {0xef, 0xdf, 0xbf, 0x7f};
void lcd_init();
void lcd_order(uchar);
void delay(uint);
void xian(uchar);
uchar keyscan(void) ;
void main()
{
lcd_init();
lcd_order(0x01);
delay(1);
lcd_order(0x80);
lcd_order(0x30); //一次送8位数据,基本指令集
while(1)
{
key=keyscan();
switch(key)
{
case 0:xian(1);break;
case 1:xian(2);break;
case 2:xian(3);break;
case 3:xian(4);break;
case 4:xian(5);break;
case 5:xian(6);break;
case 6:xian(7);break;
case 7:xian(8);break;
case 8:xian(9);break;
case 9:xian(10);break;
case 10:xian(11);break;
case 11:xian(12);break;
case 12:xian(13);break;
case 13:xian(14);break;
case 14:xian(15);break;
case 15:xian(16);break;
default:break;
}
delay(100);
}
}
void lcd_init() //初始化LCD
{
CS=0; //准备时间和维持时间分别为60ns
delay(10);
CS=1; //只有CS为1时,数据才能输入
CLK=0;
delay(20);
lcd_order(0x30); //0000 1 DL=1(默认) 0 RE=0(使用基本指令集) X X 一次送8位数据,基本指令集
delay(1);
case 2:xian(3);break;
case 3:xian(4);break;
case 4:xian(5);break;
case 5:xian(6);break;
case 6:xian(7);break;
case 7:xian(8);break;
case 8:xian(9);break;
case 9:xian(10);break;
case 10:xian(11);break;
case 11:xian(12);break;
case 12:xian(13);break;
case 13:xian(14);break;
case 14:xian(15);break;
case 15:xian(16);break;
default:break;
}
delay(100);
}
}
void lcd_init() //初始化LCD
{
CS=0; //准备时间和维持时间分别为60ns
delay(10);
CS=1; //只有CS为1时,数据才能输入
CLK=0;
delay(20);
lcd_order(0x30); //0000 1 DL=1(默认) 0 RE=0(使用基本指令集) X X 一次送8位数据,基本指令集
delay(1);
剩余5页未读,继续阅读
资源评论
- wangtao30122013-08-02挺好用 测试使用还不错
lcy20091001
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功