- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT89S51单片机试验及实践教程之一键多功能按键识别技术.doc
AT89S51单片机试验及实践教程之一键多功能按键识别技术|第1
内容显示中lunouseg(this)
图 4.9.1
3.系统板上硬件连线
#8226; 把“单片机系统”区域中的 P3.7/RD 端口连接到“独立式键盘”区域中的 SP1 端口上;
#8226; 把“单片机系统”区域中的 P1.0 - P1.4 端口用 8 芯排线连接到“八路发光二极管指示模块”区域中的“ L1 - L8 ”端口上;要求, P1.0 连接到 L1 , P1.1 连接到 L2 , P1.2 连接到 L3 , P1.3 连接到 L4 上。
4. 程序设计方法
#8226; 设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的 ID 号标识,这样,每按下一次按键, ID 的值是不相同的,所以单片机就很容易识别不同功能的身份了。
#8226; 设计方法
从上面的要求我们可以看出, L1 到 L4 发光二极管在每个时刻的闪烁的时间是受开关 SP1 来控制,我们给 L1 到 L4 闪烁的时段定义出不同的 ID 号,当 L1 在闪烁时, ID = 0 ;当 L2 在闪烁时, ID = 1 ;当 L3 在闪烁时, ID = 2 ;当 L4 在闪烁时, ID = 3 ;很显然,只要每次按下开关 K1 时,分别给出不同的 ID 号我们就能够完成上面的任务了。下面给出有关程序设计的框图。
5. 程序框图
500)this.style.ouseg(this)
图 4.9.2
6. 汇编源程序
ID EQU 30H
SP1 BIT P3.7
L1 BIT P1.0
L2 BIT P1.1
L3 BIT P1.2
L4 BIT P1.3
ORG 0
MOV ID,#00H
START: JB K1,REL
LCALL DELAY10MS
JB K1,REL
INC ID
MOV A,ID
CJNE A,#04,REL
MOV ID,#00H
REL: JNB K1,$
MOV A,ID
CJNE A,#00H,IS0
CPL L1
LCALL DELAY
SJMP START
IS0: CJNE A,#01H,IS1
CPL L2
LCALL DELAY
SJMP START
IS1: CJNE A,#02H,IS2
CPL L3
LCALL DELAY
SJMP START
IS2: CJNE A,#03H,IS3
CPL L4
LCALL DELAY
SJMP START
IS3: LJMP START
DELAY10MS: MOV R6,#20
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END
7. C语言源程序
#include lt;AT89X51.Hgt;
unsigned char ID;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;igt;0;i--)
for(j=248;jgt;0;j--);
}
void delay02s(void)
{
unsigned char i;
for(i=20;igt;0;i--)
{delay10ms();
}
}
void main(void)
{ s();
if(P3_7==0)
{
ID++;
if(ID==4)
{
ID=0;
}
while(P3_7==0);
}
}
switch(ID)
{ case 0:
P1_0=~P1_0;
delay02s();
break;
case 1:
P1_1=~P1_1;
delay02s();
break;
case 2:
P1_2=~P1_2;
delay02s();
break;
case 3:
P1_3=~P1_3;
delay02s();
break;
}
}
}
您可能关注的文档
- -知识工程-之理论基础.doc
- -镇在平安创建活动工作会议上的发言材料.doc
- 1000t-a水煤浆工业放大线设计.doc
- 10G以太网的UTOPIA接口设计与实现.doc
- 10KV变电所无功补偿技术概述.doc
- 10kV电气化铁路信号灯系统并联数字电抗器的研究.doc
- 110 kV输变电工程电磁辐射污染的影响分析及防治对策.doc
- 110kV标准配送型智能变电站构计.doc
- 110份玉米自交系遗传多样性分析.doc
- 12%Cr(F11€€F12)钢焊接技术.doc
- AT89S51单片机试验及实践教程之多路开关状态指示.doc
- AT89S51单片机试验及实践教程之定时计数器T0作定时应用技术(一).doc
- AT89S51单片机试验及实践教程之定时计数器T0作定时应用技术(二).doc
- AT89S51单片机试验及实践教程之广告灯的左移右移.doc
- AT89S51单片机试验及实践教程之按键识别方法之一.doc
- AT89S51单片机试验及实践教程之数字钟.doc
- AT89S51单片机试验及实践教程之模拟计算器数字输入及显示.doc
- AT91系列微处理器启动过程的分析与实现.doc
- ATT如何建立有效的知识管理.doc
- AutoCAD-CAPP-PDM一体化解决方案研究.doc
原创力文档


文档评论(0)