AT89C51单片机,独立按键按下后程序不运行,图2为按键抬起事件时,图3为按键按下时。求出错原因及改正方法

2.2系统硬件概述;2.2.1主控制器AT89C51;ATMEL公司生产的AT89C51单片机采用高性;8KBFlashROM,可以擦除1000次以上,;●256字节内部RAM;;●电源控制模式;;●时钟可停止和恢复;;●空闲模式;;●掉电模式;;●6个中断源;;●4个中断优先级;;●4个8位I/O口;;●全双工增强型TUAR;;●3个16位定时/计数器:T
2.2系统硬件概述
2.2.1 主控制器AT89C51
ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要特点如下:
8KB Flash ROM,可以擦除1000次以上,数据保存10年。
● 256字节内部RAM;
● 电源控制模式;
● 时钟可停止和恢复;
● 空闲模式;
● 掉电模式;
● 6个中断源;
● 4个中断优先级;
● 4个8位I/O口;
● 全双工增强型TUAR;
● 3个16位定时/计数器:T0、T1(标准80C51)和增加的T2(捕获和比较)
● 全静态工作方式:0~24MHZ
2.2.2 时钟电路DS1302
DS1302的性能特性:
● 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;
● 用于高速数据暂存的31*8位RAM;
● 最少引脚的串行I/O;
● 2.5~5.5V电压工作范围;
● 2.5V时电流小于300nA;
● 用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
● 简单的三线接口;
● 可选的慢速充电(至VCC1)的能力。
DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。在开始8个时钟周期,把命令
字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC≥2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
2.3主要单元电路的设计
2.3.1显示电路
显示部分采用LCD12864液晶显示,如图2-2,以减少硬件电路。
图2-2 LCD液晶显示屏显示模块
2.3.2键盘接口
键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。
键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与MCS―51型单片机的接口。
2.3.3.1按键开关去抖动问题
按键开关在电路中的连接如图2-3 a)所示。按键未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平。A点电位就用于向CPU传递按键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图2-3 b)所示,键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。
图2-3 键操作和键抖动
消除抖动的不良后果的方法有硬件、软件两种。
为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时5~10ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后才转入该键处理程序。
2.3.2.2查询式按键及其接口
按照键盘与CPU的连接方式可以分为查询按键和矩阵式键盘。查询式按键是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态。查询式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。
2.3.2.3矩阵式键盘及其接口
矩阵式键盘又称行列式键盘,有n个行线和m个列线,经限流电阻接+5V电源上,按键跨接在行线和列线上,n*m行列结构可构成mn个按键,组成一个键盘。与独立式按键相比,mn个按键只占用m+n根I/O口线,因此适用于按键较多的场合。
当无键闭合时,相应的I/O之间开路。当有键闭合时,与闭合键相连接的两条I/O口线之间短路。判断有无键按下的方法是:第一步,置列线相关I/O口为输入态,从行线相对应的I/O口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关I/O口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
2.3.2.4键盘扫描控制方式
在单片机应用系统中,对键盘的处理工作仅是CPU工作内容的一部分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用CPU太多时间,又需要CPU对键盘操作及时作出响应。CPU对键盘处理控制的工作方式有以下几种:
1. 程序控制扫描方式
程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。
2. 定时控制扫描方式
定时控制扫描方式是利用定时/计数器每隔一段时间生成定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。
3. 中断控制扫描方式
中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,CPU执行正常工作程序。当有按键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。图2-4即工作于中断方式的矩阵式键盘接口电路。在初始化时P1.4~P1.7置输出0,P1.0~P1.3置为输入态,P1.0~P1.3分别接至与门各输入端。当有键闭合时INTO=0,CPU中断后,在中断服务子程序中,再完成键识别和键功能处理。
在有键按下后,有一定的延时,防止键盘抖动。
图2-4 工作于中断方式的矩阵式键盘接口电路
2.3.3时钟电路
2.3.3.1 DS1302工作方式简介及数据操作原理
DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个33*8的用于临时性存放数据的RAM寄存器。DS1302是的DS1202升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24小时或带AM/PM的12小时格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多字节的时钟信号或RAM数据。
DS1302有主电源/后备电源双电源引脚:VCC1在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份;VCC1在双电池系统中提供主电源。在这种运行方式中,VCC1里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2中较大者供电。当VCC2>(VCC1+0.2V)时,VCC2给DS1302供电;当VCC2<VCC1时,DS1302由VCC1供电。如图2-5为DS1302的引脚图。
包含各类专业文献、各类资格考试、外语学习资料、文学作品欣赏、高等教育、生活休闲娱乐、幼儿教育、小学教育、单片机课程设计报告_图文90等内容。 
 单片机课程设计报告_工学_高等教育_教育专区。课题二: 基于 AT89C51 单片机的数显温度传感器设计一、设计目的 1、掌握 51 单片机最小系统的设计; 2、掌握温度...  电气工程学院单片机课程设计报告 班姓学 级: 名: 号: 电 132 袁吉收
设计题目: 设计时间: 直流电机调速系统设计 ~12.28 评定成绩: ...  新疆农业大学科学技术学院 《 课程设计报告 课程名称: 班学姓级: 号: 名:基于单片机电风扇智能调速 电子信息科学与技术 122 班
钱焕新 吴毅 2014 年 ...  13 吉林大学珠海学院 单片机课程设计报告 一、课程设计性质和目的单片机课程设计是《单片机原理及接口技术》课程与实验结束后 的一门综合性实践课。 设计一种基于 ...  课程设计报告 学号: 姓名:张帅华 班级:13 电子信息工程 指导老师:邓晶 苏州大学 电子信息学院 2016 年 5 月 摘要随着时代的进步和发展,单片机技术已经...  2.2 软件仿真图如下图,可以清晰的看出流水灯正常的工作 第 6 页共 12 页 江苏理工学院单片机课程设计(论文) 2.3 程序编写及解释 #include&reg51.h& #...  18 3 成都理工大学工程技术学院本科课程设计报告 1 概述 1.1 设计目的 随着人们生活水平的不断提高 ,单片机控制无疑是人们追求的目 标之一, 它所给人带来的...  简易信号发生器单片机课程设计报告_工学_高等教育_教育专区。简易信号发生器 课程设计(论文)任务书电气 学院 电力系统及其自动化 专 业 12 ( 1 )班 一、课程...  单片机课程设计-简易安防声光报警器 单片机课程设计 报告 设计题目: 姓班学名: 级: 简易安防声光报警器 隋方舟 12 建筑电气与智能化二班 ___ 刘魏宏...基于AT89C51单片机的数字秒表设计_单片机秒表课程设计-牛宝宝文章网
基于AT89C51单片机的数字秒表设计 单片机秒表课程设计
摘要:文中设计了一种以AT89C51单片机为核心的数字秒表。该秒表采用汇编语言为开发工具,通过数码管显示计时结果,并利用Proteus和Keil软件为平台对系统进行了仿真,达到了预期的效果。关键词:单片机;数字秒表;汇编语言;仿真中图分类号:TP368.1文献标识码:A编号:12)22-5344-03Digital Stopwatch Based on AT89C51GAO Wen-qing, LV Ying-ying(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650051, China)Abstract: The article designed a digital stopwatch based on AT89C51.The digital stopwatch used the Assembly language to develop, nixie tube was used to show, and the system was simulated by Proteus and Keil, which was up to the expectation effect.Key words: simulate1概述单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器或计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。单片机与编程语言的结合可以快速高效的实现各种功能,该文结合单片机设计实现了一种基于AT89C51单片机的数字秒表。2系统概述2.1设计任务数字秒表设计由单片机AT89C51、数码管、开关、电阻、电容等部分组成。其功能要求是用AT89C51设计一个2位LED数码显示的“秒表”,显示时间为00-99秒,每秒自动加一。另外还设计了一个“开始”按键、一个“复位”按键和一个“暂停”按键。按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数。2.2总体方案图1系统整体设计系统主要有三部分构成:按键控制信号,单片机软件处理,数码管显示。电路运行时,由开关按键决定其运行方式,经过单片机内部的程序进行相应的处理,在数码管上显示出来。利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间值(可正记时,也可倒计时),并通过输出显示在数码管上。此外,数码管各段连接了上拉电阻,是为了保证引脚外接的按键在未按下时,作为电流负载一直保持引脚为低电平。系统整体设计如图1所示。3数字秒表的proteus软件仿真电路设计3.1整体仿真电路Proteus软件仿真设计如图2所示。图2系统Proteus软件仿真图3.2 AT89C5l单片机和数码管显示电路的接口设计使用动态显示电路接法,LED灯采用共阳极数码管,电路中采用P0口输出,并联控制两个数码管的8个段选控制端,P2.6、P2.7作为分别采用两个控制LED数码管的位选控制端,其中P2.6接显示个位数,P2.7接十位数,P0.0―P0.7对应了两位数码管的a,b,c,d,e, f,g。3.3按键控制信号三个按键采用独立式键盘接法,开始按键接P3.5,暂停按键接P3.6,清零按键接P3.7,低电平有效,三个按键功能均在子程序中显示。定时器0中断程序主要是延时程序。3.4其他管脚的设计单片机中的Vss端接地,Vcc端接+5V电源,另外,三极管发射极端也接+5V电源,保证数码管有足够的电源供应。图3程序设计流程图4计时器的软件程序设计软件设计的思路为:在这个复杂的程序中,先根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序以及中断服务程序结构,并对各程序模块占用的资源进行统一的调配,最后根据流程图绘制具体的程序。因此在这个秒表程序中可划分为主程序、键盘控制、秒表计时程序三大模块。其中主程序完成初始化作用,动态显示程序,键盘控制程序,秒表计时程序等,延时程序由定时器中断服务子程序构成。主程序:即初始化程序,用EQU命令首先对三个按键进行了定义,规定了堆栈指针和数据指针的首地址,对定时器进行设定,选用定时器0为工作方式1,50ms为定时时间,则要定时1s可以循环20次,设置中断程序的入口,并开中断EA,ET0等。子程序:包括按键功能子程序和显示子程序。按键子程序对三个按键功能进行设定,其中P(WwW.NIubb.NEt]3.5口起到开始的功能,P3.6口连接的按键可以控制数码管的进度,P3.7对数码管数字进行复位,使数码管清零。三个按键均为低电平有效,JB命令先判断按键是否按下,若按下则跳转到显示子程序,JNB命令判断按键按下后是否弹起,若弹起来就执行开始、暂停、清零等功能。显示子程序:定义了P2.6、P2.7两个位选口,在单片机输出时,先选择字位选口,然后在所在的位口上进行字形选择,选择要点亮的字形。中断程序:中断程序即定时器延时程序,当中断来临时,定时器重新装入初值,判断是否循环了20次,若循环20次说明定时器延时到达1s,就进行加一运算。程序设计流程图如图3所示。重要程序段说明:将0到99的数据通过对10整除和对10求余,将数据的个位和十位分开。MOV A,R4MOV B,#10DIV AB;当前值除以10MOV 40H,A;得出的商送给十位MOV 41H,B;得出的余数送给个位这段程序是将要显示的数字分别放到两个数码管上,使两个数码管分别显示十位和个位数字。5结论该文使用AT89C51单片机设计了一款具有计时开始、暂停、复位功能的数字秒表,利用Proteus和Keil软件进行了仿真及调试,达到了期望的效果。系统结构简单,抗干扰能力强,具有较好的应用前景。参考文献:[1]李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版社,2005.[2]王爽.汇编语言[M].北京:清华大学出版社,2008.[3]蒋辉平,周国雄.基于Proteus的单片机系统设计与仿真实例[M].北京:机械工业出版社,2009.[4]孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用[J].实验室研究与探索,):59-68.
欢迎您转载分享:
更多精彩:,,                        图4.8.13.系统板上硬件连线(1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;(2).把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。4.程序设计方法(1).其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而在按键按下的 过程中,不要有干扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。因此在按键按下的时候,要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况下,我们可以采用来滤除掉这些干扰信号,但实际上,会增加硬件成本及硬件电路的体积,这是我们不希望,总得有个办法解决这个问题,因此我们可以采用软件的方法去除这些干扰信号,一般情况下,一个按键按下的时候,总是在按下的时刻存在着一定的干扰信号,按下之后就基本上进入了稳定的状态。具体的一个按键从按下到释放的全过程的信号图如左图所示:  从图中可以看出,我们在程序设计时,从按键被识别按下之后,延时5ms以上,从而避开了干扰信号区域,我们再来检测一次,看按键是否真得已经按下,若真得已经按下,这时肯定输出为低,若这时检测到的是高电平,证明刚才是由于干扰信号引起的误触发,CPU就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。  由于要求每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,因此从按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,显然释放的过程,就是使其恢复成高电平状态。(1).对于按键识别的指令,我们依然选择如下指令JB BIT,REL指令是用来检测BIT是否为高电平,若BIT=1,则程序转向REL处执行程序,否则就继续向下执行程序。或者是 JNB BIT,REL指令是用来检测BIT是否为低电平,若BIT=0,则程序转向REL处执行程序,否则就继续向下执行程序。(2).但对程序设计过程中按键识别过程的框图如下图所示:        图4.8.35.程序框图      图4.8.46.汇编源程序&&&&&&&&&&&&&&&&&&&&&&&&&&&& ORG 0START:&&&&&&&&&&&&&&&&&&&&&&& MOV R1,#00H&&&&&&&&&&&&&&&&&&&& ;初始化R7为0,表示从0开始计数&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MOV A,R1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& CPL A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;取反指令&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MOV P1,A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;送出P1端口由发光显示REL:&&&&&&&&&&&&&&&&&&& JNB P3.7,REL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;判断SP1是否按下&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& LCALL DELAY10MS&&&&&&&&& ;若按下,则延时10ms左右&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& JNB P3.7,REL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;再判断SP1是否真得按下&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& INC R7&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;若真得按下,则进行按键处理,使&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MOV A,R7&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;计数内容加1,并送出P1端口由&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& CPL A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;发光二极管显示&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MOV P1,A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& JNB P3.7,$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;等待SP1释放&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& SJMP REL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;继续对K1按键扫描DELAY10MS:&&& MOV R6,#20&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;延时10ms子程序L1:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MOV R7,#248&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DJNZ R7,$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DJNZ R6,L1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& RET&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& END7.C语言源程序#includevoid delay10ms(void){& unsigned char i,j;& for(i=20;i&0;i--)& for(j=248;j&0;j--);}void main(void){& while(1)&&& {&&&&& if(P3_7==0)&&&&&&& {&&&&&&&&& delay10ms();&&&&&&&&& if(P3_7==0)&&&&&&&&&&& {&&&&&&&&&&&&& count++;&&&&&&&&&&&&& if(count==16)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&& count=0;&&&&&&&&&&&&&&& }&&&&&&&&&&&&& P1=~&&&&&&&&&&&&& while(P3_7==0);&&&&&&&&&&& }&&&&&&& }&&& }}
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670&后使用快捷导航没有帐号?
查看: 669|回复: 7
AT89C51 单片机 独立按键上拉电阻阻值问题
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我看到大家做的单片机独立按键用的上拉电阻的阻值一般都是4.7K,我知道阻值大写功耗低,组织小灌电流大,怕烧坏单片机。但为什么要选择4.7呢?
在线时间1372 小时
威望40594 分
芯币42755 枚
E金币749 枚
TA的帖子TA的资源
楼主的“算法”是不对的,概念也不对。
IO处于输入态时,不必考虑什么灌电流。对于接在IO与地间的按键开关而言,只要将IO的静态逻辑偏置为1即可,而IO通常都有内置上拉电阻,所以片外上拉电阻甚至可以不用。一般要用是为了增强抗干扰性,因为内置上拉电阻的阻值较大,在较强电磁干扰时可能出现误动作。而上拉电阻太小,只要电源能承受就没事,只是在按键按下时要付出不必要的功耗,所以通常选数K的电阻。4.7K、5.1K和10K是最常用的阻值,都可以用于此。
另外,单IO和整端口的输出能力关系是不能简单用除法的,好好去看看器件手册,然后想想为什么。
@chunyang,我好崇拜你啊,嘿嘿,在哪里工作的啊,交个朋友,多跟你学习学习,嘿嘿&
上传了一些书籍资料,也许有你想要的:
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
怎么算的呀?
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我看AT89C51单片机P1口整个端口的灌电流I&=15mA,平均到每个管脚灌电流I&=1.9mA;算出来的上拉电阻值R&=5V/1.9mA,即R只需要大于2.6K就可以了,为什么选择4.7K 呢?
选择5.6k、6.8k……也没什么不可以,4.7k比较常用而已。&
在线时间2519 小时
威望11194 分
芯币41950 枚
E金币1280 枚
TA的帖子TA的资源
我看AT89C51单片机P1口整个端口的灌电流I
选择5.6k、6.8k……也没什么不可以,4.7k比较常用而已。
在线时间226 小时
威望482 分
芯币1762 枚
E金币55 枚
TA的帖子TA的资源
一粒金砂(高级), 积分 482, 距离下一级还需 18 积分
一粒金砂(高级), 积分 482, 距离下一级还需 18 积分
楼主的“算法”是不对的,概念也不对。
IO处于输入态时,不必考虑什么灌电流。对于接在IO与地间的按键开关 ...
@chunyang,我好崇拜你啊,嘿嘿,在哪里工作的啊,交个朋友,多跟你学习学习,嘿嘿
成功者找方法,失败者找理由
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
楼主的“算法”是不对的,概念也不对。
IO处于输入态时,不必考虑什么灌电流。对于接在IO与地间的按键开关 ...
@chunyang,谢谢。另外从您那下载了好多有用的东西。
觉得有用就好,希望真的有用,那说明你学习了、用了。&
在线时间1372 小时
威望40594 分
芯币42755 枚
E金币749 枚
TA的帖子TA的资源
@chunyang,谢谢。另外从您那下载了好多有用的东西。
觉得有用就好,希望真的有用,那说明你学习了、用了。
上传了一些书籍资料,也许有你想要的:
技术导师勋章
论坛威望大于30000或网友提名:坛子里公认的技术导师
Powered by
逛了这许久,何不进去瞧瞧?AT89C51单片机实现简易密码锁问题,条件和图如下未按任何按键时,D1熄灭,数码管显示“-”。按下K1、K2、K3、K4时分别显示数字1、2、3、4。假设密码为“2”,即按下K2后,数码管显示“2”,之后显示“P”,同时D1点亮,表示密码正确;否则(按其它键后)显示相应数字后数码管显示“E”,D1熄灭,表示密码不正确。
血刃乌鸦n79
图有问题吧,数码管的共阳极应该接VCC
为您推荐:
扫描下载二维码

我要回帖

更多关于 at89c51单片机 的文章

 

随机推荐