设为首页
收藏本站
门户
Portal
主站
论坛
BBS
房产
群组
Group
导读
Guide
招聘求职
空间
Space
广播
Follow
排行榜
Ranklist
更多
默认
简体中文
繁體中文
登录
淘帖
Collection
日志
Blog
相册
Album
分享
Share
记录
Doing
太湖家园论坛
»
论坛
›
聚焦太湖
›
街谈巷议
›
您喜欢单片机吗?(献给太湖的初学者们) ...
返回列表
发新帖
查看:
1224
|
回复:
7
您喜欢单片机吗?(献给太湖的初学者们)
[复制链接]
longsong
longsong
当前离线
积分
647
狗仔卡
发表于 2006-7-23 17:15
|
显示全部楼层
|
阅读模式
/*************************名称:矩阵式键盘的典型应用*********************************
**************************设计:黄龙松*******************************************
**************************日期:2006年7月23日于南京******************************/
#include \"include.h\"
sbit sclk = Port3^1; //定义P3.1为CP脉冲信号
sbit dat = Port3^0; //定义P3.0为数据信号
sbit beep = Port3^7;
//******************************************************************************
void Send_data (uchar dat1); //发送键值至74LS164
uchar Key_Scan(void); //键码扫描
void delay(uchar t); //延时
void Display(uchar Led_dat); //字符显示
void Key_Display(void); //发送键值至LED
void Speaker (void);
//******************************************************************************
uchar Key_Scan(void)
{
uchar code_h;
uchar code_l;
Port1=0xf0;
if((Port1&0xf0)!=0xf0)
{
delay(20);
if((Port1&0xf0)!=0xf0)
{
code_h = 0xfe;
while((code_h&0x10)!=0)
{
Port1=code_h;
if((Port1&0xf0)!=0xf0)
{
code_l=(Port1&0xf0|0x0f);
return(~code_l+~code_h);
}
else code_h=(code_h<<1)|0x01;
}
}
}
return(0);
}
//******************************************************************************
void delay(uchar t)
{
uchar i;
for(;--t;)
{
for(i=0;i<100;i++);
}
}
//******************************************************************************
void Speaker (void)
{
beep = 0;
delay(250);
delay(250);
delay(250);
beep = 1;
}
//******************************************************************************
void Send_data (uchar dat1)
{
uchar j;
for(j=0;j<8;j++)
{
if((dat1<<j)&0x80) //识别位状态
dat = 1;
else dat = 0;
sclk = 1; //产生脉冲信号,上升沿有效
sclk = 0;
}
}
//******************************************************************************
void Display(uchar Led_dat)//字符显示,基于74LS164
{
sclk = 0;
Send_data(Led_dat);
Speaker ();
}
//******************************************************************************
void Key_Display(void)
{
switch(Key_Scan())
{
case 0x88:
Display(ZK[0]);break;
case 0x48:
Display(ZK[1]);break;
case 0x28:
Display(ZK[2]);break;
case 0x18:
Display(ZK[3]);break;
case 0x84:
Display(ZK[4]);break;
case 0x44:
Display(ZK[5]);break;
case 0x24:
Display(ZK[6]);break;
case 0x14:
Display(ZK[7]);break;
case 0x82:
Display(ZK[8]);break;
case 0x42:
Display(ZK[9]);break;
case 0x22:
Display(ZK[10]);break;
case 0x12:
Display(ZK[11]);break;
case 0x81:
Display(ZK[12]);break;
case 0x41:
Display(ZK[13]);break;
case 0x21:
Display(ZK[14]);break;
case 0x11:
Display(ZK[15]);break;
// case 0x00:
// Display(0xff);break;
}
}
void main (void)
{
while(1)
{
Key_Display();
}
}
//************************************END*********************************
回复
使用道具
举报
提升卡
沉默卡
喧嚣卡
变色卡
蓝调音乐
蓝调音乐
当前离线
积分
2861
狗仔卡
发表于 2006-7-23 19:25
|
显示全部楼层
这是什么啊?
我刚开始没看清楚题目
还以为是说RPG呢
回复
使用道具
举报
tkxyzr
tkxyzr
当前离线
积分
472
狗仔卡
发表于 2006-7-24 08:04
|
显示全部楼层
我学过,现在不用了,还老师了,呵呵
回复
使用道具
举报
城相识
城相识
当前离线
积分
2240
狗仔卡
发表于 2006-7-24 12:49
|
显示全部楼层
单片机运用很广泛,可是理论学习太枯燥
回复
使用道具
举报
爱你久久
爱你久久
当前离线
积分
234
狗仔卡
发表于 2006-7-25 10:12
|
显示全部楼层
嘿嘿,这是很有用的一门专业知识
回复
使用道具
举报
太陽
太陽
当前离线
积分
323
狗仔卡
发表于 2006-7-25 10:35
|
显示全部楼层
樓主是在讀書還是在那家公司上班呀,有機會想找樓主學習學習,呵呵,
回复
使用道具
举报
指谈笑间
指谈笑间
当前离线
积分
63
狗仔卡
发表于 2006-9-13 18:30
|
显示全部楼层
这个呀,楼主习惯用C语言呀,我是用汇编呀,楼主QQ号多少呀,
回复
使用道具
举报
wuguoying
wuguoying
当前离线
积分
593
狗仔卡
发表于 2006-9-15 11:00
|
显示全部楼层
想学啊,有机会就在这交流吧
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
缘分天空
经济资讯
音画长廊
每日签到
户外运动
生活时尚
龙山文苑
Archiver
|
手机版
|
小黑屋
|
太湖家园网
Powered by
Discuz!
X5.0
Licensed
© 2001-2026
Discuz! Team
.
QQ客服
返回顶部
快速回复
返回顶部
返回列表