- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 数码管的显示与键盘识别; Page *;使用单个数码管时公用端接入电源或地,用微控制器的IO控制每一个段LED的亮灭。
多位数码管表示一个多位数时,每个数码管仅能表示一位,对每位都要进行编码转换
多个数码管可以使用动态扫描的方法节约IO端口。; Page *; Page *; Page *; Page *; Page *; Page *;LED显示应用实例
实验3
任务:(1) 在4个数码管上分时显示自己的班级(如C05)、学号(如H23)和目标要达到的考试成绩(如98.5,必须要带小数点)。
(2) 在4个数码管上实现“F”字符跑马灯。
显示速度通过改变系统总线时钟来实现。(注意F字符的显示是否出现问题)
;第十章数码管的显示与键盘识别—实验3;第十章数码管的显示与键盘识别—实验3;;;包含16个按键的键盘
需要多少个IO来连接?;;;;;;逐行扫描法;逐行扫描法;反转扫描法;反转???描法;反转扫描法;;逐行扫描;逐行扫描;逐行扫描;;;示例程序:
unsigned char KeyScan() {
unsigned char Input,Output,Keynumber,Keyvalue1,i;
Keyvalue1=0xFF;
Output=0xF0; PORTA=Output; Input=PORTA4;
if(Input!=0x0F) {
delay(4); Input=PORTA4;
if(Input!=0x0F) {
Output=0xFE;
for(i=0;iRowSize;i++) {
PORTA=Output; Input=PORTA4;
if(Input!=0x0F) {
switch(Input) {
case 0x0E: Keynumber=0; break;
case 0x0D: Keynumber=1; break;
case 0x0B: Keynumber=2; break;
case 0x07: Keynumber=3; break; }
Keynumber=Keynumber+i*ColumnSize;
Keyvalue1=KeyDecode[Keynumber]; break; }
else Output=1;
}
}
}
return(Keyvalue1);;;示例程序:
见书P182页。;键盘应用实例
实验4
任务:(1)在4个数码管上依次显示键盘键入的键值(扫描法)。
(2)在4个数码管上依次显示键盘键入的键值(反转法)。
同书上的键盘连接关系要不同。(同时修改书上的程序,使每按一键显示一位。)
文档评论(0)