单片机 直流电机控制实验

合集下载

单片机开发 直流电机实验

单片机开发 直流电机实验

直流电机实验
本讲主要内容
1.直流电机介绍 2.硬件设计 3.软件设计
1.直流电机介绍
直流电机是指能将直流电能转换成机械能(直流电动机)或将 机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直 流电能和机械能互相转换的电机。当它作电动机运行时是直流电动 机,将电能转换为机械能;作发电机运行时是直流发电机,将机械 能转换为电能。
1.1 TC1508S电机驱动芯片介绍
要实现的功能是:通过K1、K2、K3键控制电机的正反转 和停止,并且控制LED1指示灯不断闪烁,提示系统正在运行。程序 框架如下: (1)初始化电机IO口(使能对应IO外设时钟、配置IO为普通IO功 能和输出模式、上拉设置等) (2)按键检测程序 (3)电机控制程序

单片机直流电机控制实训报告

单片机直流电机控制实训报告

单片机直流电机控制实训报告基于AT89C51单片机的直流电动机控制器设计实训报告专业:弹药工程与爆炸技术班级:弹药二班学生姓名:杨宁指导教师:佟慧艳能源与水利学院1 实训目的通过单片机实训使学生能够掌握利用Keil软件编写单片机程序,学会设计完整的单片机应用系统;依托Protues仿真平台进行单片机电子应用系统设计与仿真,使学生掌握单片机应用系统的设计技能;培养学生运用所学知识分析和解决实际问题的能力以及实际动手能力和查阅资料能力。

2 实训任务及要求2.1 任务描述一单片机为控制核心设计一款直流电机电机控制系统,可以实现直流电机的加速、正转、反转等控制方式。

2.2 任务要求1)用AT89C51单片机实现上述任务要求;2)在Keil IDE中完成应用程序设计与编译;3)在Proteus环境中完成电路设计、调试与仿真。

3 系统硬件组成与工作原理3.1单片机的控制器与最小系统单片机的最小系统是指有单片机和一些基本的外围电路所组成的一个可以使单片机工作的系统,一般来说,它包括单片机、晶振电路和复位电路(如图一)。

图1 最小系统设计截图(一)控制器部分分析AT89C51(如图2)是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and ErasableRead Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C51提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

51系列单片机直流电机闭环调速实验

51系列单片机直流电机闭环调速实验

一、实验名称:51系列单片机直流电机闭环调速实验 基于Protuse 仿真实验平台实现二、实验内容(实验原理介绍): 1、直流电机调速原理图1所示电枢电压为V ,电枢电流I ,电枢回路总电阻为R ,电机常数C ,励磁磁通量Φ。

那么根据KVL 方程:电机转速φC IR V n -=,其中,对于极对数为P ,匝数为N ,电枢支路数为a 的电机来说:电机常数aPN C 60=,意味着电机确定后,该值是不变的。

而在V-IR 中,由于R 仅为绕组电阻,导致IR 非常小,所以V-IR ≈V 。

由此可见我们改变电枢电压,转速n 即可随之改变。

实现直流电机的闭环调速 实现原理如下图所示:2、测速软件设计Array图12 软件测速的方框图/****T1中断服务程序********单位时间(S)方波的个数*************/void time1_int(void) interrupt 3{count_speed++; if(count_speed == 20) { count_speed = 0;num_display = num_medium; num_medium = 0; }}3、PID 算法的数字实现由于DDC (Direct Digital Control )系统是一种时间离散控制系统。

因此,为了用微机实现(式3-1-1)必须将其离散化,用数字形式的差分方程来代替连续系统的微分方程。

离散化的PID 表达式为:[]⎭⎬⎫⎩⎨⎧--++=∑=nj DIP n e n e T T j e T T n e K n P 0)1()()()()( (式3-1-2)式中,T ——采样周期;P n ()——第n 次采样时微机输出;e n ()——第n 次采样时的偏差值;e n ()-1——第n-1次采样时的偏差值;n ——采样序号,n =0,1,2,…。

通常把(式3-1-2)称为PID 的位置控制算式。

根据(式3-1-2)可以进一步推导出离散化的位置型PID 编程表达式,如(式3-1-3):第K 次采样PID 的输出式为:P K P K P K P K P I D ()()()()=++(式3-1-3)其中,设[]⎪⎪⎩⎪⎪⎨⎧--=-+=+===∑∑==)1()()()1()()()()()()()(00K E K E K K P K P K E K j e K K E K j E K K P K E K K P D DK j I I I I K j I I P P 式中,K TT K K T T K I I PD DP=----=----积分系数;微分系数。

单片机直流有刷电机系统控制实验报告

单片机直流有刷电机系统控制实验报告

实验名称:单片机直流有刷电机系统控制实验报告实验目的:1. 了解有刷电机的工作原理和基本结构2. 掌握单片机对有刷电机进行控制的方法和技巧3. 探究单片机直流有刷电机系统的稳定性和精确控制性能实验设备:1. 单片机开发板2. 直流有刷电机3. 桥式整流器4. 电源供应器5. 逻辑分析仪6. 示波器实验过程:1. 连接单片机开发板和直流有刷电机,并通过桥式整流器和电源供应器为系统供电。

2. 编写单片机控制程序,包括PWM波输出、速度控制算法等内容。

3. 将程序下载到单片机开发板上,并通过逻辑分析仪和示波器对系统进行调试和监测。

4. 在不同工作条件下,比如负载变化、电压波动等情况下,观察系统的稳定性和控制性能。

实验结果与数据分析:1. 经过一系列实验操作,我们获得了系统在不同工况下的运行数据,包括电流、转速、PWM波形等。

2. 通过对数据的分析,我们发现系统在稳态和动态工作条件下表现出了良好的稳定性和精准性能,能够满足实际工程控制要求。

3. 我们也发现了系统在特定工况下的一些问题和不足之处,比如在低速和负载较大时的起动过程中的震动和噪音等。

结论与讨论:1. 通过本次实验,我们对单片机直流有刷电机系统的控制原理和方法有了更深入的了解,同时也掌握了一定的实际操作技能。

2. 在工程应用中,我们应该综合考虑系统的稳定性、动态性能和控制精度,进行更加系统和全面的设计和调试。

3. 我们还需要进一步研究和改进系统中存在的问题,以提高系统的整体性能和工程应用价值。

附录:实验中使用到的控制程序代码和调试数据记录表格。

在控制系统稳定性方面,我们发现在不同的负载条件下,系统的稳定性表现出了一定的差异。

在轻载条件下,系统的动态响应较快,控制精度较高;而在重载条件下,系统的动态响应速度降低,控制精度也有所下降。

这表明在实际工程应用中,需要根据具体的负载情况对于控制系统进行相应的调节和优化,以获得更好的稳定性和控制性能。

在实验过程中,我们也发现了一些值得注意的问题。

单片机---直流电机控制实验

单片机---直流电机控制实验

直流电机控制实验摘要:直流电动机在交通、机械、纺织、航空等领域中已经得到广泛的应用。

而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。

如今,直流电动机的调速控制已经离不开单片机的控制,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。

现代科学技术的飞速发展,改变了世界,也改变了人类的生活。

由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。

关键词:STC89C52 PWM 电机控制DC motor control experiment Summary:DC motors in transportation, machinery, textiles, aviation and other fields has been widely used. The conventional DC motor control simply control, difficult to control, not intelligent. Today, the DC motor speed control has been inseparable from the control of the microcontroller, the rapid development of microcomputer application technology to promote the development of automatic control technology, the human society entered the era of automation, microcomputer application technology and other disciplines intersect, promotion of the academic development and professional update, sparked new interdisciplinary and emerging technologies. The rapid development of modern science and technology, has changed the world, but also change the way people live. As the device small size, light weight, powerful, strong anti-interference ability, flexible control, easy to use, low cost characteristics, computer performance continues to improve, SCM applications are more widely especially control in various areas of automation and so on.Keywords: STC89C52 PWM motor control目录第1章引言 (1)1.1电机的研究意义 (1)1.2 设计方案 (1)第2章供电模块的设计 (2)2.1 集成直流稳压电源芯片LM7805的介绍 (2)2.2 供电模块的构成 (2)第3章主控制模块的设计 (3)3.1 89C52单片机的介绍 (3)3.2 89C52的主要特性和结构特点 (3)3.3 89C52的IO口介绍 (4)第4章键盘输入模块的设计 (5)4.1 键盘的电路及原理 (5)第5章显示模块的设计 (6)5.1数码管及二极管的电路及原理 (6)5.2 PWM简介 (6)第6章直流电机控制模块的设计 (7)6.1 直流电机的介绍 (7)6.2 数模转换器DAC0832 (7)第7章课程设计总结 (9)致谢 (10)参考文献 (11)附录 (12)主程序 (12)子程序 (18)第1章引言1.1电机的研究意义电气传动是现代最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。

基于单片机的直流电机控制设计性实验报告

基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计一设计目的1掌握单片机用PWM实现直流电机调整的基本方法,掌握直流电机的驱动原理。

2学习模拟控制直流电机正转、反转、加速、减速的实现方法。

二设计要求用已学的知识配合51单片机设计一个可以正转、反转或变速运动的直流电机控制电路,并用示波器观察其模拟变化状况。

三设计思路及原理利用单片机对PWM信号的软件实现方法。

MCS一51系列典型产品8051具有两个定时计数器。

因为PWM信号软件实现的核心是单片机内部的定时器,所以通过控制定时计数器初值,从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。

从而实现对直流电动机的转速控制。

AT89C51的P1.0—P1.2控制直流电机的快、慢、转向,低电平有效。

P3.0为PWM波输出,P3.1为转向控制输出,P3.2为蜂鸣器。

PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变的PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警四实验器材DVCC试验箱导线若电源等器件PROTUES仿真软件KRIL软件五实验流程与程序#include < reg51.h >sbit K1 =P1^0 ; 增加键sbit K2 =P1^1 ; 减少键sbit K3 =P1^2 ; 转向选择键sbit PWMUOT =P3^0 ; PWM波输出sbit turn_around =P3^1 ; 转向控制输出sbit BEEP =P3^2 ; 蜂鸣器unsigned int PWM;void Beep(void);void delay(unsigned int n);void main(void){TMOD=0x11; //设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536-TH)/fose/12} TL0=0;TH1=PWM ; //脉宽调节,高8位TL1=0;EA=1; //开总中断ET0=1; //开T0中断ET1=1; //开T1中断TR0=1 ; // T0定时允许while(1){if(K3==0&&K1==1&&K2==1) // 转向{turn_around=!turn_around;}while(K3==0); //检测K3是否释放do{PWM++ ;if(PWM>0xfe)//防止PWMS计数溢出{PWM=0xff;}if(PWM==0xff)Beep() ; 响delay(3000);}while(K1==0&&K2==1);do{PWM-- ;if(PWM<1){PWM=1;}if(PWM==1)Beep() ;delay(3000);}while(K1==1&&K2==0);}}void timer0() interrupt 1 using 2 // 定时器0中断服务程序{TR1=0 ; //T1禁止TH0=0 ; //置T0定时常数TL0=0 ;TH1=PWM ; //置T1定时常数TL1=0;TR1=1 ; //T1允许PWMUOT=0 ;// PWM波输出0}void timer1() interrupt 3 using 3 //定时器1中断服务程序{TR1=0 ; //T1禁止PWMUOT=1 ; //PWM波输出1}void Beep(void) //蜂鸣器子程序{unsigned char i;for (i=0;i<100;i++){delay(100);BEEP=!BEEP; }BEEP=1; delay(100);}void delay(unsigned int n){while(n--) ;}六 Proteus仿真截图七实验结果此次试验通过仿真系统进行了仿真,按下相应的开关,可实现控制直流电机的加速、减速及转向。

51单片机PID控制直流电机实验报告

51单片机PID控制直流电机实验报告
char code table[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //0~7 对应数码 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //8~F 对应数码 long int n=num; P0 = 0; P2 =0x7f; P0 = table[n % 1000/100]; delayms(2);//百位 加小数点 P0 = 0; P2 =0xbf; P0 = table[n % 100 / 10]; delayms(2);//十位
iError = sptr->SetPoint - NextPoint; //计算增加量
iIncpid = sptr->Proportion * iError //E[k]项
- sptr->Integral * sptr->LastError //E[k-1]项
+ sptr->Derivative * sptr->PrevError; //E[k-2]项
static PID *sptr = &sPID;
void IncPIDInit()
{
sptr->SumError = 0;
sptr->LastError =0; //Error[-1]
sptr->PrevError =0; //Error[-2]
sptr->Proportion =0.5; //比例系数
sptr->Integral =0.3; //积分系数
sptr->Derivative = 0.3; //微分系数
sptr->SetPoint =sudu_lilun; Nhomakorabea}

单片机实现直流电机的控制

单片机实现直流电机的控制
单片机控制直流电机能够提供精确的控制和灵活的调节,满足各种应用需求。本节将介绍为什么需要单片机控 制直流电机。
单片机控制直流电机的硬件设 计流程
实现单片机控制直流电机需要进行详细的硬件设计。本节将介绍单片机控制 直流电机的硬件设计流程和注意事项。
单片机控制直流电机的软件设 计流程
除了硬件设计外,还需要进行软件设计来实现单片机控制直流电机的功能。 本节将介绍软件设计流程和编程思路。
单片机控制直流电机的速度控制
控制直流电机的速度是许多应用的关键需求。本节将讨论单片机如何实现对直流电机速度的准确控制。
单片机控制直流电机的PWM控制
使用脉宽调制(PWM)技术可以实现单片机对直流电机的精确控制。本节将详细介绍单片机控制直流电机的 PWM控制原理。
单片机控制直流电机的PID控制
比例积分微分(PID)控制是一种常用的控制方法,可以实现对直流电机的精确调节。本节将介单片机控制 直流电机的PID控制原理。
单片机实现直流电机的控 制
单片机在直流电机控制中扮演着重要角色,能够实现精确的电机控制和调节。 本文将介绍单片机控制直流电机的优势和原理,并提供开发环境和工具。
直流电机基础知识及工作原理
了解直流电机的基本原理和工作模式对单片机的控制至关重要。本节将探讨 直流电机的工作原理以及不同类型的直流电机。
单片机控制直流电机的需求
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

直流电机控制实验摘要:直流电动机在交通、机械、纺织、航空等领域中已经得到广泛的应用。

而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。

如今,直流电动机的调速控制已经离不开单片机的控制,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。

现代科学技术的飞速发展,改变了世界,也改变了人类的生活。

由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。

关键词:STC89C52 PWM 电机控制DC motor control experiment Summary:DC motors in transportation, machinery, textiles, aviation and other fields has been widely used. The conventional DC motor control simply control, difficult to control, not intelligent. Today, the DC motor speed control has been inseparable from the control of the microcontroller, the rapid development of microcomputer application technology to promote the development of automatic control technology, the human society entered the era of automation, microcomputer application technology and other disciplines intersect, promotion of the academic development and professional update, sparked new interdisciplinary and emerging technologies. The rapid development of modern science and technology, has changed the world, but also change the way people live. As the device small size, light weight, powerful, strong anti-interference ability, flexible control, easy to use, low cost characteristics, computer performance continues to improve, SCM applications are more widely especially control in various areas of automation and so on.Keywords: STC89C52 PWM motor control目录第1章引言 (1)1.1电机的研究意义 (1)1.2 设计方案 (1)第2章供电模块的设计 (2)2.1 集成直流稳压电源芯片LM7805的介绍 (2)2.2 供电模块的构成 (2)第3章主控制模块的设计 (3)3.1 89C52单片机的介绍 (3)3.2 89C52的主要特性和结构特点 (3)3.3 89C52的IO口介绍 (4)第4章键盘输入模块的设计 (5)4.1 键盘的电路及原理 (5)第5章显示模块的设计 (6)5.1数码管及二极管的电路及原理 (6)5.2 PWM简介 (6)第6章直流电机控制模块的设计 (7)6.1 直流电机的介绍 (7)6.2 数模转换器DAC0832 (7)第7章课程设计总结 (9)致 (10)参考文献 (11)附录 (12)主程序 (12)子程序 (18)第1章引言1.1电机的研究意义电气传动是现代最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。

直流调速系统因其变流方式及控制方法简单,调速性能好,长期以来在调速传动中占统治地位。

而现在随着微电子技术的发展,微机功能的不断提高以及电力电子、计算机控制技术的发展,电气传动领域出现了以微机为核心的数字控制系统。

计算机的发展可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制技术成为自控领域的主流,也给直流电气传动的发展注入了新的活力,使电气传动进入了更新的发展阶段。

与传统控制系统相比,计算机控制具有很多独特的优点。

长期以来,直流电动机因其转速调节比较灵活,方法简单,易于大围平滑调速,控制性能好等特点,一直在传动领域占有统治地位。

它广泛应用于数控机床、工业机器人等工厂自动化设备中。

随着现代化生产规模的不断扩大,各个行业对直流电机的需求愈益增大,并对其性能提出了更高的要求。

为此,研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。

1.2 设计方案本论文设计的系统以单片机为控制核心,通过键盘设置各段运行参数,也可通过电脑设置下载到单片机。

单片机输出二进制控制量,经D/A转换电路将对应模拟电压送到直流放大器的输入端。

放大器根据输入的模拟电压而输出对应的电压来控制直流电机的转速。

显示部分显示各段设定的转速值。

单片机主要完成参数设置、参数显示和控制输出等功能。

第2章供电模块的设计2.1 集成直流稳压电源芯片LM7805的介绍LM7805是目前市场上非常常见的三端稳压器件。

一般使用的是TO-220封装,能提供DC 5V的输出电压,应用围广,含过流和过载保护电路。

带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不同的电压和电流。

7805的主要特点有:输出电流大,一般可以达到1A;输出电压稳定,基本能一直维持在5V;具有各种保护功能,过热保护、短路保护、输出晶体管SOA保护。

7805还具有非常广的输入围从5V~18V。

工作结的温度围更是可以从0~125℃无论多恶劣的环境7805也能轻松胜任。

这么全面的一个芯片实在是堪称全能,而且价格非常便宜。

对于这么优秀的稳压电源芯片,我们还有什么理由不去选用它呢。

7805管脚及外形如图2.1所示。

图2.1 7805管脚2.2 供电模块的构成整个电源供电模块由一片7805和4个电容构成。

这是一个输出正5V直流电压的稳压电源电路。

IC采用集成稳压器7805,C1、C2为输入端滤波电容,C3、C4为输出端滤波电容。

如图2.2所示,7805的1脚接正9V的输入,2脚接地,3脚为输出。

在1脚和2脚间接两个滤波电容。

3脚和2脚间也接两个滤波电容。

图2.2 供电模块电路第3章主控制模块的设计3.1 89C52单片机的介绍89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C52是一种高效微控制器,89C2051是它的一种精简版本。

89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3.2 89C52的主要特性和结构特点89C52的主要特性有:1.与MCS-51 兼容;2.有8K字节可编程闪烁存储器;3.寿命长1000写/擦循环.数据保留时间可以达到10年;4.三级程序存储器锁定5.具有128*8位部RAM;5.32可编程I/O线和两个16位定时器/计数器还有5个中断源;6.可编程串行通道,低功耗的闲置和掉电模式,片振荡器和时钟电路。

图3.1 AT89C523.3 89C52的IO口介绍P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。

P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

第4章键盘输入模块的设计4.1 键盘的电路及原理本设计采用了4x4的行列式键盘。

行列式键盘的接法比独立式键盘的接法复杂,编程实现上也会比较复杂。

但是,在占用相同的I/O端口的情况下,行列式键盘的接法会比独立式接法允许的按键数量多。

图4.1中硬件采用中断方式工作,用一个8位I/O口构成4×4键盘。

具体做法如下将P1.3~P1.0设为列输入线,P1.7~P1.4设为行输出线,并使I/O 输出信号P1.7~P1.4为0000。

若有键按下,与门的输出端变为低电平,向CPU申请中断,表示键盘中有键按下。

CPU执行中断程序对键盘进行扫描,判断键值。

CPU在中断程序中先将P1.3~P1.0的数值读入以此判断出列值。

然后再分别令P1.7~P1.4逐行输出低电平,并再次扫描P1.3~P1.0,以确定行值。

相关文档
最新文档