单片机听课笔记1-8课(金沙滩2024年更新)(5)

来源:网络收集 时间:2025-06-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

}

{ }

P0 = (P2>>4)|0xf0;

头文件

#ifndef _KEY_H_ #define _KEY_H_

sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4;

sbit KEY1 = P2^4; sbit KEY2 = P2^5; sbit KEY3 = P2^6; sbit KEY4 = P2^7; sbit KEYOUT1 = P2^3; sbit KEYOUT2 = P2^2; sbit KEYOUT3 = P2^1; sbit KEYOUT4 = P2^0; #endif

程序二:K1、K2控制数字加减的程序,防抖动 #include #include \

void delay() { } main() {

unsigned char n = 0; P0 = 0XFF; KEYOUT1 = 0; ENLED = 0; ADDR3 = 1;

ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; //控制最右边数码管DS1亮 unsigned int i = 2000; while(i--);

}

P0 = ledchar[0]; while(1) { }

if(!KEY1) //相当于 if(KEY1 == 0) 判断键是否按下 { } if(!KEY2) { }

delay(); if(!KEY2) { }

if(n <= 0) { } else n--;

P0 = ledchar[n]; while(!KEY2);

n = 9;

delay();

if(!KEY1)//再判断健是否按下 { }

if(n >= 9) { } else n++;

P0 = ledchar[n];

while(!KEY1); //等待按键1松开的语句。

n = 0;

程序三、用小灯构成的5位二进制数表示16个按键,1-1,2-2,16-0; #include #include \void delay(); main() {

ENLED = 0; ADDR3 = 1;

ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; P0 = 0xFF; while(1) { KEYOUT1 = 0; KEYOUT2 = 1; KEYOUT3 = 1; KEYOUT4 = 1; if(KEY1 == 0) { delay(); if(KEY1 == 0) { P0 = ~1;

}

}

if(KEY2 == 0) { delay(); if(KEY2 == 0) { P0 = ~2; }

}

if(KEY3 == 0) { delay(); if(KEY3 == 0) { P0 = ~3; }

}

if(KEY4 == 0) { delay(); if(KEY4 == 0) { P0 = ~4; }

}

while((KEY1 == 0)||(KEY2 == 0)||(KEY3 == 0)||(KEY4 == 0));

//第一行检测完

KEYOUT1 = 1; KEYOUT2 = 0; KEYOUT3 = 1; KEYOUT4 = 1; if(KEY1 == 1) { }

if(KEY2 == 0) { }

if(KEY3 == 0) { }

if(KEY4 == 0) { }

while((KEY1 == 0)||(KEY2 == 0)||(KEY3 == 0)||(KEY4 == 0));//第二行检测完 KEYOUT1 = 1; KEYOUT2 = 1; KEYOUT3 = 0; KEYOUT4 = 1; if(KEY1 == 1)

delay(); if(KEY4 == 0) { }

P0 = ~8; delay(); if(KEY3 == 0) { }

P0 = ~7; delay(); if(KEY2 == 0) { }

P0 = ~6; delay(); if(KEY1 == 0) { }

P0 = ~5;

{ delay(); if(KEY1 == 0) { P0 = ~9;

}

}

if(KEY2 == 0) { delay(); if(KEY2 == 0) { P0 = ~10; }

}

if(KEY3 == 0) { delay(); if(KEY3 == 0) { P0 = ~11; }

}

if(KEY4 == 0) { delay(); if(KEY4 == 0) { P0 = ~12; }

}

while((KEY1 == 0)||(KEY2 == 0)||(KEY3 == 0)||(KEY4 == 0)); KEYOUT1 = 1; KEYOUT2 = 1; KEYOUT3 = 1; KEYOUT4 = 0; if(KEY1 == 1) { delay(); if(KEY1 == 0) { P0 = ~13;

}

//第三行检测完

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库单片机听课笔记1-8课(金沙滩2024年更新)(5)在线全文阅读。

单片机听课笔记1-8课(金沙滩2024年更新)(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/614936.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219