4乘4矩阵键盘输入数码管显示四位数
4x4键盘程序
case 0x7e: num=4;break;
default: break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
}
}
P1=table[num-1];
P3=0xfd;//将第二行电平拉低
temp=P3;//扫面P3口的数据,送给temp
{
case 0xed: num=5;break;
case 0xdd: num=6;break;
case 0xbd: num=7;break;
case 0x7d: num=8;break;
default: break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xeb: num=9;break;
case 0xdb: num=10;break;
case 0xbb: num=11;break;
case 0x7b: num=12;break;
default: break;
数码管显示4×4矩阵键盘的键盘号程序解释好了大作业.doc
《单片机原理及应用课程设计》报告
——数码管显示4×4矩
阵键盘的键盘号
专业:电子信息科学与技术
班级:
姓名:
学号:
指导教师:
2012年5月15日
1、课程设计目的
1.1巩固和加深对单片机原理和接口技术知识的理解;
1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;
1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;
1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2、课程设计要求
单片机的P1口的P1.0~P1.7连接4×4矩阵键盘,P0口控制一只数码管,当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示“1”, 14号键按下时,数码管显示“E”等等。
3、硬件设计
3.1 设计思想
分析本任务的要求,在课程设计的基础上,添加要求,使设计能够完成当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。
3.2主要元器件介绍:
AT89C51单片机 LED数码管 4X4矩阵键盘
3.3 功能电路介绍
AT89C51单片机:控制器。程序中将单片机的引脚置高电平低电平,单片机通过读取IO引脚的电平,在根据读取的数据去查找数组中相应的按键值,然后在送到数码管也就是P0口去显示.(51单片机通过IO口来读取键盘的电平,再通过程序来查找对应的数值,在送到数码管去显示)
LED数码管 :输出设备
4X4矩阵键盘:输入设备
4、软件设计
4.1 设计思想
AVR学习笔记十九、4X4矩阵键盘实验
A VR学习笔记十九、4X4矩阵键盘实验
19.1 实例功能
在前面的实例中我们已经学习了在单片机系统中检测独立式按键的接口电路和程序设计,独立式按键的每个按键占用1位I/O口线,其状态是独立的,相互之间没有影响,只要单独测试链接案件的I/O口线电平的高低就能判断键的状态。独立式按键电路简单、配置灵活,软件结构也相对简单。此种接口方式适用于系统需要按键数目较少的场合。在按键数量较多的情况下,如系统需要8个以上按键的键盘时,采用独立式接口方式就会占用太多的I/O口,这对于I/O口资源不太丰富的单片机系统来说显得相当浪费,那么当按键数目相对较多的时候,为了减少I/O口资源的占用,应该采取什么样的方式才能够既满足多按键识别,又减少I/O口的占用呢?
当然我们可以采用端口扩展器件比如串并转换芯片实现单片机I/O口的扩展,但是这种方式既增加了电路的复杂性,又增加了系统的成本开销。有没有比较经济实惠的方法呢?
事实上,在实际引用中我们经常采用矩阵式键盘的方式来节约I/O口资源和系统成本。
在这个实验中,我们采用4X4矩阵键盘来实现使用8个I/O口识别16个按键的实验,本实例分为三个功能模块,分别描述如下:
●单片机系统:利用A Tmega16单片机与矩阵键盘电路实现多按键识别。
●外围电路:4X4矩阵键盘电路、LED数码管显示电路。
●软件程序:编写软件,实现4X4矩阵键盘识别16个按键的程序。
通过本实例的学习,掌握以下内容:
●4X4矩阵键盘的电路设计和程序实现。
19.2 器件和原理
19.2.1 矩阵键盘的工作原理和扫描确认方式
单片机c语言程序设计---矩阵式键盘实验报告
单片机c语言程序设计---矩阵式键盘实验报告
课程名称:单片机c语言设计实验类型:设计型实验
实验项目名称:矩阵式键盘实验
一、实验目的和要求
1.掌握矩阵式键盘结构
2.掌握矩阵式键盘工作原理
3.掌握矩阵式键盘的两种常用编程方法,即扫描法和反转法
二、实验内容和原理
实验1.矩阵式键盘实验
功能:用数码管显示4*4矩阵式键盘的按键值,当K1按下后,数码管显示数字0,当K2按下后,显示为1,以此类推,当按下K16,显示F。
(1)硬件设计
电路原理图如下
仿真所需元器件
(2)proteus仿真
通过Keil编译后,利用protues软件进行仿真。在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。
操作方完成矩阵式键盘实验。具体包括绘制仿真电路图、编写c源程序(反转法和扫描法)、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。完成思考题。
三、实验方法与实验步骤
1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。
四、实验结果与分析
void Scan_line()//扫描行
{
Delay(10);//消抖
switch ( P1 )
{
case 0x0e: i=1;
break;
case 0x0d: i=2;
break;
case 0x0b: i=3;
break;
case 0x07: i=4;
4×4_矩阵键盘计算器设计
西华大学
课程设计说明书
题目4×4 矩阵键盘计算器设计系(部) 电气信息学院
专业(班级) 自动化3班
姓名
学号
指导教师胡红平
起止日期2012.6.10-2012.6.30
计算机接口及应用课程设计任务书
系(部):电气信息学院专业:09自动化
指导教师:日期:2012-6-20
西华大学课程设计鉴定表
摘要
近几年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结合,加以完善。
本任务是个简易得三位数的减法运算,用4×4 矩阵键盘及计算器设计,利用数码管实现255内的减法运算。程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识,专业技能分析和解决问题全面系统的锻炼。
关键词:单片机,AT89C51,矩阵键盘,数码管
ABSTRACT
In recent years, along with the rapid development of science and technology, the application of SCM is unceasingly thorough, it causes the traditional control test technology increasingly updates. In real-time detection and automatic control of single-chip microcomputer application system, often as a core component to use, only microcontroller aspects of knowledge is not enough, should according to specific hardware combined, and perfects.
4乘4矩阵键盘输入数码管显示四位数要点
沈阳航空航天大学综合课程设计
字向前移位,作为十位数字,后输入数字,作为个位数字;按此规律,可以输入 任意一位、两位、三位或四位数字。
八、性价比
本设计用简单的常用的器件以及易编写的软件程序实现了要求功能。 51 单 片机价格便宜甚至实验室即可提供;共阴数码管相较液晶显示,不尽价格便宜, 而且简单、易实现, 4x4 键盘既是简单的按键开关;电容、电阻等 价格几乎不 计,所有这些器件实验室都能提供,成本只有几十元。性价比偏高。
Proteus 软件功能的理解,学会用这个软件设计三相步进电机控制系统,将理论
知识与实践相联系,为以后在学习和工作的发展打下一个良好的基础
。然后,
通过该课程设计, 初步理解了利用计算机控制技术进行三相步进电机控制系统的
设计。
最后,我明白:知识不是孤立的,相互之间有联系的,我们要学会理解知识
点以及学科之间的融合渗透。 本次课程设计涉及到了计算机技术, 自动控制技术,
1.谢自美 . 电子线路设计 ·实验 ·测试 . [M] 武汉:华中理工大学出版社, 2000
年 2.阎石 . 数字电子技术基础 . [M] 北京:高等教育出版社, 2006 年 3.童诗白、华成英 .模拟电子技术基础 . [M] 北京:高等教育出版社, 2006 年 4..付家才 . 电子实验与实践 . [M] 北京:高等教育出版社, 2004 年 5.沙占友、李学芝著 .中外数字万用表电路原理与维修技术 . [M] 北京:人民
单片机4×4矩阵键盘设计方案
1、设计原理
(1)如图14.2所示,用单片机的并行口P3连接4×4矩阵键盘,并以单片机的
P3.0-P3.3各管脚作输入线,以单片机的P3.4-P3.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。
(2)键盘中对应按键的序号排列如图14.1所示。
2、参考电路
图14.2 4×4矩阵式键盘识别电路原理图
3、电路硬件说明
(1)在“单片机系统”区域中,把单片机的P3.0-P3.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。
(2)在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-h端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着h。
4、程序设计内容
(1)4×4矩阵键盘识别处理。
(2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
5、程序流程图(如图14.3所示)
6、汇编源程序
;;;;;;;;;;定义单元;;;;;;;;;;
COUNT EQU 30H
;;;;;;;;;;入口地址;;;;;;;;;;
4乘4矩阵键盘输入数码管显示四位数
沈阳航空航天大学
综合课程设计三相步进电机控制器电路的设计
班级
学号 23
学生姓名 XXXXXXXXX 指导教师常丽东
课程设计任务书
一、设计说明
步进电机是工业过程控制及仪表控制中的主控元件之一,作为执行元件其特点为能够快速起启停、精度高且能直接接收数字量,由于这些特点使其在定位场合得到了广泛的应用。
设计一个三相步进电机控制器,使其能够控制步进电机的工作状态,如步进电机正、反转,步进电机的工作方式等。
用键盘设定步进电机的工作频率,工作方式,并用数码管显示设定值,可以通过按键来更换显示内容。用示波器观测三相的输出波形,并用数码管显示电路的工作状态。
二、技术指标
步进电机的工作频率为:<10kHz
三、设计要求
1.进行方案论证,提出一个合理的设计方案并进行理论设计;
2.对所设计的方案部分进行调试;
3.在选择器件时,应考虑成本。
4.设计测量调试电路。
四、实验要求
1.根据技术指标制定实验方案;验证所设计的电路。
2.进行实验数据处理和分析。
五、推荐参考资料
1.谢自美. 电子线路设计·实验·测试. [M]武汉:华中理工大学出版社,2000年
2.阎石. 数字电子技术基础. [M]北京:高等教育出版社,2006年
3.童诗白、华成英.模拟电子技术基础. [M]北京:高等教育出版社,2006年
4..付家才. 电子实验与实践. [M]北京:高等教育出版社,2004年
5.沙占友、李学芝著.中外数字万用表电路原理与维修技术. [M]北京:人民邮电出版社,1993年
六、按照要求撰写课程设计报告成绩评定表
沈阳航空航天大学综合课程设计
单片机课程设计——数码管显示4×4矩阵键盘
《单片机原理及应用课程设计》报告——数码管显示4*4矩阵键盘
的键盘号设计
专业:
班级:
姓名:
学号:
2013年1月
1.课程设计目的
1.1巩固和加深对单片机原理和接口技术知识的理解;
1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;
1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;
1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求
单片机的P1口的P1.0~P1.7连接4×4矩阵键盘,P0口控制一只数码管,当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示“1”, 14号键按下时,数码管显示“E”等等。
3.硬件设计
3.1 设计思想
分析本任务的要求,使设计能够完成当4*4矩阵键盘中的某一按键按下时,数码管上显示对应的键盘号。则本系统主要由以下几大模块构成:显示模块,共阴极LED数码管;
输入模块,4*4矩阵键盘;
3.2主要元器件介绍
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O 口的利用率。
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。
4X4矩阵键盘及显示电路设计
4X4矩阵键盘与显示电路设计
FPGA在数字系统设计中的广泛应用,影响到了生产生活的各个方面。在FPGA 的设计开发中,VHDL语言作为一种主流的硬件描述语言,具有设计效率高,可靠性好,易读易懂等诸多优点。作为一种功能强大的FPGA数字系统开发环境,Altera公司推出的Quar-tUSⅡ,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程,为使用VHDL语言进行FPGA设计提供了极大的便利。矩阵键盘作为一种常用的数据输入设备,在各种电子设备上有着广泛的应用,通过7段数码管将按键数值进行显示也是一种常用的数据显示方式。在设计机械式矩阵键盘控制电路时,按键防抖和按键数据的译码显示是两个重要方面。本文在QuartusⅡ开发环境下,采用VHDL语言设计了一种按键防抖并能连续记录并显示8次按键数值的矩阵键盘与显示电路。
一、矩阵键盘与显示电路设计思路
矩阵键盘与显示电路能够将机械式4×4矩阵键盘的按键值依次显示到8个7段数码管上,每次新的按键值显示在最右端的第O号数码管上,原有第0~6号数码管显示的数值整体左移到第1~7号数码管上显示,见图1。总体而言,矩阵键盘与显示电路的设计可分为4个局部:
(1)矩阵键盘的行与列的扫描控制和译码。该设计所使用的键盘是通过将列扫描信号作为输入信号,控制行扫描信号输出,然后根据行与列的扫描结果进行译码。
(2)机械式按键的防抖设计。由于机械式按键在按下和弹起的过程中均有5~10 ms的信号抖动时间,在信号抖动时间内无法有效判断按键值,因此按键的防抖设计是非常关键的,也是该设计的一个重点。
数码管显示4×4矩阵键盘
《单片机原理及应用课程设计》报告
——数码管显示4×4矩阵键盘的键盘号
专业:自动化
班级: 1106
姓名:王佳俊
学号: 110240171
指导教师:卜旭芳
2014年 10月15日
1、课程设计目的
1.1巩固和加深对单片机原理和接口技术知识的理解;
1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;
1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;
1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,
能用计算机绘制电路图和流程图。
2、课程设计要求
单片机的P1口的P1.0~P1.7连接4×4矩阵键盘,P0口控制一只数码管,当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。例如,1号键按下时,数码管显示“1”, 14号键按下时,数码管显示“E”等等。
3、硬件设计
3.1 设计思想
分析本任务的要求,在课程设计的基础上,添加要求,使设计能够完成当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号。
3.2主要元器件介绍:
AT89C51单片机 LED数码管 4X4矩阵键盘
3.3 功能电路介绍
AT89C51单片机:控制器。程序中将单片机的引脚置高电平低电平,单片机通过读取IO引脚的电平,在根据读取的数据去查找数组中相应的按键值,然后在送到数码管也就是P0口去显示.(51单片机通过IO口来读取键盘的电平,再通过程序来查找对应的数值,在送到数码管去显示)
LED数码管 :输出设备
4X4矩阵键盘:输入设备
矩阵键盘显示实验
矩阵键盘显示实验报告
20 -20 学年第学期
学院电子信息学院
课程矩阵键盘显示实验姓名
学号
指导老师
日期 20XX年XX月XX日
矩阵键盘显示实验
一、实验目的
1、掌握矩阵键盘检测的原理和方法;
2、掌握按键消抖的方法;
3、再次熟悉数码管的显示。
二、实验任务
从4×4矩阵键盘输入4位字符(如“15EF”),并显示于4位数码管。三、实验原理
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1-1所示。在矩阵键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
图1-1 矩阵键盘
矩阵键盘的按健识别方法很多,其中最常见的方法是行扫描法。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,下面介绍矩阵键盘的扫描过程。
(1)判断有无键按下
第一步:向所有的列输出口线输出低电平;
第二步:然后将行线的电平状态读入;
第三步:判断读入的行线值。若无键按下,所有的行线仍保持高电平状态;若有键按下,行线中至少应有一条线为低电平。
(2)去除按键的抖动
去抖原理:当判断到键盘上有键按下后,则延时一段时间再判断键盘的状态,若仍为有键按下状态,则认为有一个键按下,否则当作按键抖动来处理。
(3)按键识别(列或行扫描法)
在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将列(行)线置为低电平,即在置某根列(行)线为低电平时,其列(行)线为高电平,再逐行(列)检测各行(列)线的电平状态。若某行为低电平,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。
(4)求按键的键值
4×4矩阵按键模拟编程及控制仿真(汇编+C语言)
4×4矩阵按键模拟编程及控制仿真(汇编+C语言)
4×4矩阵按键模拟编程及控制仿真(中级实验)
实验介绍:
利用单片机控制一组矩阵按键(4×4)以及一个数码管,当按键按下后,数码管会显示按下按键的序号。共16个按键,序号从0开始,一直到F。(矩阵按键较独立按键更节省I/O口,例如在本例中,共有16个按键,仅仅需要8个I/O 口,而采用独立按键则需要16个I/O 口。在I/O口使用较多,且按键较多的情况下可以采用。但是矩阵按键的程序要比独立按键复杂。)
实验目的:
通过本次实验,理解矩阵按键的结构以及工作原理。能够根据使用需求,独立设计矩阵按键的电路图,能够编程实现对矩阵按键的控制。
通过与独立按键的对比,理解矩阵按键与独立按键的硬件及软件的区别。通过对比的方式,理解各自的优缺点。
仿真原理图:
使用Proteus仿真软件搭建仿真原理图如下图所示。
图1
图2
使用仿真软件Proteus搭建的原理图参考如图1所示。(注意事项:一般情况下,采用矩阵按键的形式来控制单片机时,按键数量较多,所以在摆放按键的时候要成行成列的防止,一方面是比较美观,另外一方面是便于编程控制。另外矩阵按键电路比较复杂,电路连线往往比较多,为了让电路看起来更加简洁,可以采用“Terminal Label”的方式进行连线。如图2所示,电路连接简化很多。)编程思路:
对于独立按键,编程过程较为简单,按照顺序逐个编写就行。主要分为两种编程控制方法:按键扫描的方式以及中断的方式。按键扫描的方式需要实时扫描每个按键是否按下。编程时,首先通过单片机实时判断第一个按键是否按下,如果按下就执行相应的程序。只要编制出来第一个按键的程序,其他按键的程序基本相同,只要稍作修改即可。也可以使用中断的方式实现,这种方式一般需要配合外部的电路来实现。掌握外部中断控制的读者,可以使用。
4x4矩阵键盘c语言程序
uchar ScanKey(void) //矩阵键盘
{
uchar Tmp,Tmp2,KeyNum;//定义变量
P1=0xf0; //屏蔽低四位
if(P1!=0xf0) //行扫描
{
delay(10); //延时去抖
if(P1!=0xf0) //确定按键按下
{
Tmp=P1; //取出P1口高四位数据
P1 =0x0F; //屏蔽高四位
_nop_();_nop_();_nop_();_nop_();//延时
Tmp2=P1; //取出P1口低四位
Tmp=Tmp+Tmp2; //将取出的高四位,低四位组合,得到键值 while(P1!=0x0F) ; //松手检测
switch(Tmp&0x0F) //判断行号
{
case 0x0E:KeyNum=0;break;
case 0x0D:KeyNum=4;break;
case 0x0B:KeyNum=8;break;
case 0x07:KeyNum=12;break;
}
switch(Tmp&0xf0) //判断列号,并与行号相加,获得键值
{
case 0xE0:KeyNum+=1;break;
case 0xD0:KeyNum+=2;break;
case 0xB0:KeyNum+=3;break;
case 0x70:KeyNum+=4;break;
}
return KeyNum; //输出键值
}
}
return 0; //无按键按下返回0,
}
矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示
一、矩阵键盘按键的数码管显示
1.实验目的
(1)掌握VHDL语言的语法规范,掌握时序电路描述方法
(2)掌握多个数码管动态扫描显示的原理及设计方法
2.实验所用仪器及元器件
计算机一台实验板一块电源线一根扁平线一根下载线一根
3.实验任务
要求设计出4*4矩阵键盘对某一按键按下就在数码管显示一个数字。按键从左上角到右下角依次为1,2, (16)
4.实验原理
按键模块原理
键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
键盘键值的获取:键盘上的每一个按键其实就是一个开关电路,当某键被按下时,该按键的接点会呈现0的状态,反之,未被按下时则呈现逻辑1的状态。扫描信号由r o w进入键盘,变化的顺序依次为1110-1101-1011-0111-1110。每一次扫描一排,依次地周而复始。例如现在的扫描信号为1011,代表目前正在扫描9,10,11,12这一排的按键,如果这排当中没有按键被按下的话,则由column读出的值为1111;反之当9这个按键被按下的话,则由colu mn读出的值为1110。
机电单片机课程设计4乘4矩阵键盘汇编语言
目录
1 引言 (2)
2 4×4矩阵键盘控制LED工作原理及软硬件设计、仿真调试 (2)
2.1 4×4矩阵式键盘识别显示系统概述 (2)
2.2 4×4矩阵式键盘原理 (3)
2.3 4×4矩阵式键盘控制LED显示方法 (3)
2.4 电路设计及电路图 (3)
2.5 4×4矩阵式键盘软件编程 (5)
2.6 4×4矩阵式键盘软件仿真调试分析 (8)
3 结论 (9)
4参考文献 (9)
1 引言
随着现代科技日新月异的发展,作为新兴产业,单片机的应用越来越广。单片机以其体积小、重量轻、功能强大、功耗低等特点而备受青睐。键盘作为一种最为普遍的输入工具在单片机项目应用上显得尤为重要。
用MCS51系列的单片机并行口P1接4×4矩阵键盘,以P1.0-P1.3 作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的0-F序号。
2 4×4矩阵键盘控制LED工作原理及软硬件设计、仿真调试
2.1 4×4矩阵式键盘识别显示系统概述
矩阵式键盘模式以4个端口连接控制4*4个按键,实时在LED数码管上显示按键信息。显示按键信息,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。矩阵式键盘简介:矩阵式键盘又称行列键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
最常见的键盘布局如图1所示。一般由16个按键组成,在单片机中正好可以用一个P 口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学
综合课程设计三相步进电机控制器电路的设计
班级 94020101 学号 2009040201023 学生姓名 XXXXXXXXX 指导教师常丽东
课程设计任务书
一、设计说明
步进电机是工业过程控制及仪表控制中的主控元件之一,作为执行元件其特点为能够快速起启停、精度高且能直接接收数字量,由于这些特点使其在定位场合得到了广泛的应用。
设计一个三相步进电机控制器,使其能够控制步进电机的工作状态,如步进电机正、反转,步进电机的工作方式等。
用键盘设定步进电机的工作频率,工作方式,并用数码管显示设定值,可以通过按键来更换显示内容。用示波器观测三相的输出波形,并用数码管显示电路的工作状态。
二、技术指标
步进电机的工作频率为:<10kHz
三、设计要求
1.进行方案论证,提出一个合理的设计方案并进行理论设计;
2.对所设计的方案部分进行调试;
3.在选择器件时,应考虑成本。
4.设计测量调试电路。
四、实验要求
1.根据技术指标制定实验方案;验证所设计的电路。
2.进行实验数据处理和分析。
五、推荐参考资料
1.谢自美. 电子线路设计·实验·测试. [M]武汉:华中理工大学出版社,2000年
2.阎石. 数字电子技术基础. [M]北京:高等教育出版社,2006年
3.童诗白、华成英.模拟电子技术基础. [M]北京:高等教育出版社,2006年
4..付家才. 电子实验与实践. [M]北京:高等教育出版社,2004年
5.沙占友、李学芝著.中外数字万用表电路原理与维修技术. [M]北京:人民邮电出版社,1993年
六、按照要求撰写课程设计报告成绩评定表
一、概述
本次毕设的题目是:三相步进电机控制电路的设计。本次毕设使用80C51单片机作为主控芯片,利用ULN2003A集成电路作为三相步进电机的驱动电路,采用单极性驱动方式,使三相步进电机能在(1)三相单三拍,(2)三相双三拍,(3)三相六拍三种工作方式下正常工作;能实现的功能有:启动/停止控制、方向控制;速度控制;用LED数码管显示工作方式。键盘输入工作频率。本次课程设计采用80C51单片机作为主控芯片,程序采用C语言来编写,驱动电路采用ULN2003A集成电路,显示采用7SEG-MPX4-CC,即四位共阴数码管,P0接段码,并用8 只1K欧左右电阻上拉。P2的4 位IO口接位选码。正转,数码管显示1。反转,数码管显示2.不转,数码管显示0.采用Proteus软件进行仿真。在Keil uVsuon3编程环境下编程和编译生成HEX文件,导入到80C51单片机,实现对各个模块的控制,实现我们所需要的功能。
本次课程是对毕业设计的基础设计,即实现4x4键盘输入,数码管显示输入数字的设计。
二、方案论证
1 步进电机驱动方案选择
方案1:使用功率三极管等电子器件搭建成功率驱动电路来驱动电机的运行。这种方案的驱动电路的优点是使用电子器件联接,电路比较简单,但容易受干扰,信号不够稳定,缺点是器件较大而不便电路的集成,使用时很不方便,联接时容易出错误。
方案2:使用专门的电机驱动芯片ULN2003A来驱动电机运行。驱动芯片的优点是便于电路的集成,且驱动电路简单,驱动信号很稳定,不易受外界环境的干扰,因而设计的三相步进电机控制系统性能更好。
通过对两种方案的比较,我选择方案2使用ULN2003A电机驱动芯片来作为驱动。
2 数码管显示方案选择
方案1:把所需要显示的数据通过专用的七段显示译码器(例如7448)的转换输出给LED显示屏。优点是输出比较简单,可以简化程序,但增加了芯片的费用,电路也比较复杂。
方案2:通过程序把所要的数据转化为七段显示的数据,直接通过单片机接口来显示,其优点是简化了电路,但增加了软件编写的负担。
通过对两种方案进行比较,我选择通过软件编写来输出显示信号,即单片机直接和显示器相连。
3 控制状态的读取
方案1:把按键接到单片机的中断口,若有按键按下,单片机接收到中断信
号,再通过软件编写的中断程序来执行中断,优点是接线简单,简化了电路,但软件编写较为复杂,不易掌握。
方案2:不使用中断,直接把开关分别接在单片机的接口上,通过查询端口信号来动作。
通过对方案的比较,我选择通过中断来读取端口信号。
三、控制系统的工作原理
1 三相步进电机控制工作原理
(1)步进电机的工作原理
图1 步进电机三相接线图
如图1所示,U1、V1、W1接电源,分别有三个开关控制,U2、V2、W2分别接地。
如果给处于错齿状态的相通电,则转子在电磁力的作用下,将向磁导率最大(即最小磁阻位置)位置转动,即向趋于对齿的状态转动。
(2) 步进电机的工作方式
三相步进电机可以在三相单拍,三相双拍和三相六拍三种工作过方式下工作。在三相单三拍工作方式运行时,通电顺序为:A-B-C-A;三相双三拍工作方式运行时,通电顺序为:AB-BC-CA-AB;三相六拍工作方式运行时,通电顺序为:A-AB-B-BC-C-CA-A,因此要输出相应的控制字进行控制。
(3)步进电机的转向控制
如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。
(4)步进电机的启停控制
步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动
平滑 ,减小振动 ,
可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形
波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。
(5)步进电机的速度控制
脉冲的频率越高,电动机运转的速度越快,否则,速度就越慢。因而通过延时程序控制输出脉冲的频率,就可以实现对步进电机速度的控制。
2 控制系统的设计思路
此次我所设计的是一个三相步进电机控制系统,主要由单片机80C51,3相步进电机,7段数码管,及一些其他相关元件设计而成。可以通过开关来控制系统的启/停工作,当系统运转时,用开关来控制方向,并使相应的指示灯亮起,同样由开关来选择工作模式。运转时,用7段数码管来显示工作状态。最后根据思路所设计出来的硬件图设计相适应的软件。
3 控制系统的整体框图
图2为系统总体设计整体框图,单片机80C51,ULN2003A驱动芯片,三相步进电机,7段LED数码管等一些电路模块组成。
图2 系统的整体框图