版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目三 简易电子密码锁制作任务一密码锁按键值显示任务一 密码锁按键值显示 1 2 3 4 5 任务书:任务书: 1 使用YL-236单片机实训考核装置实现密码锁按键值显示功能,具体要求如下: 1使用指令模块中行列式44键盘作为密码锁的输入。 2使用显示模块的4位数码管单元显示密码锁按键键值。 3上电后,数码管无显示,按下行列式44键盘的任意键,左边两个数码管显示按键的键值(键值参考左表)。键号0123键值0 x770 x7b0 x7d0 x7e键号4567键值0 xb70 xbb0 xbd0 xbe键号891011键值0 xd70 xdb0 xdd0 xde键号12131415键值0 xe70
2、 xeb0 xed0 xee 2任务分析:任务分析:行列式键盘接口行列式键盘的扫描方式行列式键盘的基本驱动函数/*按键扫描子函数*/*说明 该程序要求每2ms左右执行一遍 */*可在定时中断中调用,也可在主程序中循环调用*/#define uchar unsigned char #define KEYIO P1/定义按键的IO口void key()static uchar kv=0 xff ,ts=0;KEYIO=0 xf0;/键盘IO口高4位置1,低4位置0if(KEYIO!=0 xf0) /输入不是全1,说明有键按下if(ts11)ts+;/ts累加,防止ts加过256if(ts=10)
3、/ ts等于10即20ms时取一次键值(延时去抖)按键输入中存在的问题及解决方法(1)键抖动这个问题前文已有说明,这里不再重复。(2)重键有时由于操作不小心,可能会同时按下几个键,这种问题称为重键。处理重键的方法有很多,这里只介绍最简单的一种处理方法。如果“n个键同时按下”,即只处理一个键,任何其他按下又松开的键不产生任何代码。通常第一个被按下或最后一个松开的键产生键码。这种方法最简单,也最常用。(3)按键持续时间的长短不一按键稳定闭合时间的长短是由操作人员的按键动作决定的,一般为零点几秒至数秒。为了保证无论按键持续时间长短,单片机对按键的一次闭合仅作一次键输入处理,必须等待按键释放之后,再进
4、行按键功能的处理操作。 3硬件电路的设计与搭建硬件电路的设计与搭建1、硬件电路设计密码锁按键值显示模块接线图密码锁按键值显示模块接线图(YL-236单片机实训装置单片机实训装置) 软件编程软件编程 4 1、主程序流程图密码锁按键值显示主函数流程图按键处理函数流程图2、参考程序/*宏定义*/#include #define uchar unsigned char #define uint unsigned int#define KEYIO P1/*LED数码管端口定义*/unsigned char xdata DM _at_ 0 x7fff;/定义总线P2_7unsigned char xdat
5、a PX _at_ 0 xbfff;/定义总线P2_6/*变量定义*/uchar code tab=/共阳极数码管字形码0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xff;uchar dis_buf8=/定义显示缓冲区16,16,16,16,16,16,16,16/tab16为0 xff,数码管不显示;/*函数声明*/void key(void);/按键扫描函数void act_key(uchar kv);/按键功能执行函数void displ
6、ay(void);/显示函数程序程序知识点:知识点:(1)#define宏定义1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。格式:#define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握宏概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。即在对相关命令或语句的含义和功能作具体分析之前就要换:例如:#define PI 3.1415926 /把程序中出现的PI全部换成3.1415926#define uchar unsigned char #define KEYIO
7、 P1/定义按键的IO口(1)#define宏定义(1)宏名一般用大写(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。(4)宏定义末尾不加分号;(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。(6)可以用#undef命令终止宏定义的作用域(7)宏定义可以嵌套(8)字符串 中永远不包含宏(9)宏定义不分配内存,变量定义分配内存。(2)获取16进制数的十位与个位使用%运算获得 dis_buf1=kv/16%16;/获得十六进制十位dis_buf0=kv%16;/获得十六进制个位使用位运算运算获得 dis_buf1=kv4;/获得十六进制十位dis_buf0=kv&0 x0f;/获得十六进制个位效率较高通用性较强 项目实施项目实施 5 1硬件电路连接:按照硬件电路接线图搭建电路,选择所需的模块并进行布局,然后将电源模块、主机模块、显示模块、指令模块和继电器模块用导线进行连接。2打开Keil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公设备与耗材再制造工岗前实操熟练考核试卷含答案
- 2026年宿迁泽达职业技术学院高职单招笔试数学历年参考题库含答案解析
- 2026年安徽职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年安徽城市管理职业学院高职单招笔试化学历年参考题库含答案解析
- 2026年大学试题(汽车专业)-汽车服务企业管理历年参考题库含答案解析
- 2026年大学试题(林学)-园林制图历年参考题库含答案解析
- 2026年太原旅游职业学院高职单招笔试职业技能测验历年参考题库含答案解析
- 2026年大学试题(教育学)-比较教育学历年参考题库含答案解析
- 2026年天津体育职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年大学试题(大学选修课)-信息系统与数据库技术历年参考题库含答案解析
- 2026北京师范大学万宁实验学校秋季学期教师招聘考试参考题库及答案解析
- (2026年)帕金森病患者护理业务学习课件
- 分布式光伏施工质量控制措施
- 期中达标测试卷(1-4单元试卷)2026-2027学年五年级数学上册人教版(含答案)
- 2026年教育数字化转型测试真题
- 2026年新高考一卷语文试卷及解析答案
- 铁路“四电”工程施工质量验收新标准培训考试试题(含答案)
- 部编版小学语文三年级上册必读书目《安徒生童话》阅读测试题及答案
- 江苏省扬州市邗江区2025-2026学年高一上学期期中调研英语试卷(含答案)
- 国有企业部门负责人年度考核责任书
- 舞台灯光音响设备施工方案
评论
0/150
提交评论