51单片机数码管倒计时60秒数码管程序求大神帮忙看下我写的这个倒计时60秒数码管程序问题出在哪里,为何开关按了要过10秒才开始倒计时60秒数码管程序

当前位置: >>
单片机倒计时秒表课程设计
课 程 设 计 说 明 书课程名称: 设计题目: 院 系: 张三单片机技术 倒计时数字秒表设计学生姓名: 学 号:********* *********** 李四专业班级: 指导教师:年月日
1 课 程 设 计 任 务 书设计题目 学生姓名设计要求: 一、设计一个可倒计时的数字秒表。 二、技术参数与要求 1、具有电源开关及指示灯,有复位按键; 2、p2.0-p2.3 通过 74LS47 接 2 位数码管,p2.4 和 p2.5 分别控制数码管显示的个位和十位,显示 0-99 秒时间; 3、p3.2 接按键 1,用于记录时间值; 4、P3.3 接按键 2,用于显示记录时间值; 5、上电时,显示 59 并倒计时,按键 1 用于记录当前值和复位 59,按键 2 用于显示记录值。 学生应完成的工作: 1、查阅资料,确定实施方案; 2、学会识别各种元器件及掌握它们的工作原理; 3、熟练画出设计所需的原理图和编写出所需的汇编语言程序; 4、学会用 Protues 仿真及调试自己的单片机课程设计; 5、掌握自己动手完成板子的焊接及检错维修的能力; 6、学会编写基本的课程设计报告。 参考文献阅读: [1]李广弟.单片机基础[M] 北京:航空航天大学出版社 2001 年 1 月 [2]迟荣强.单片机原理及接口技术[M] 北京:高等教育出版社 2004 年 9 月 [3]张毅刚.单片机原理及应用[M] 北京:高等教育出版社 2008 年 5 月 [4]阎胜利.Protel DXP2004 电路设计[M] 北京:电子工业出版社 2006 年 7 月 工作计划: 5 月 9 日:查阅资料; 5 月 16 日:领元器件; 5 月 20―5 月 22 日调试 任务下达日期:2012 年 5 月倒计时计数秒表设计 所在院系 电子信息与电 气工程学院 专业、年级、班5 月 10 日:硬件设计; 5 月 17―5 月 18 日烧程序;5 月 11 日:软件设计; 5 月 19 日:焊接电路板;7 日任务完成日期:2012 年 5 月 18 日 指导教师(签名) :2学生(签名) : 倒计时秒表摘 要:本次课程设计以 AT89S52 单片机为核心设计一个倒计时数字秒表,计数初值为 59 并开始每秒自动减 1,当按键 1 按下时记录当前时间值,当 按键 2 按下时显示当前记录值,显示过之后再次按下按键 1 时秒表复位为 59。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数 码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、 显示子程序和延时子程序等。软件 Proteus 画出原理图并进行仿真,依照 仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功 能。关键词:倒计时 AT89S5274LS47数码管3 目录1.设计背景??????????????????????5 1.1、设计课题的提出????????????????5 1.2、设计作用及意义????????????????5 2.设计方案??????????????????????6 2.1、可行方案选择?????????????????6 2.2、可行方案比较?????????????????6 3.方案实施??????????????????????7 3.1、硬件电路的实施????????????????7 3.2、软件程序的实施????????????????11 4.结果与结论?????????????????????13 4.1、Proteus 仿真运行结果?????????????13 4.2、结论?????????????????????14 5.收获与致谢?????????????????????14 6.参考文献??????????????????????14 7.附件????????????????????????15 7.1、附件一(整体电路图)?????????????15 7.1、附件二(元件清单图)?????????????16 7.1、附件三(程序)????????????????17 7.1、附件四(运行实物图)?????????????224 1. 设计背景1.1 设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用 数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具 有更长的使用寿命。其中重要的组成部分就是计数器模块,是单片机中常见的模块,以 计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打 铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器 的自动启用等,都是以计时器为基础的。 为了更好的学习定时器模块,掌握基本计数器程序的设计,实现一个功能的基本流 程,提高动手能力,更好的掌握所学的知识,我们在本次课程设计中提出了实现倒计时 秒表的课题。1.2 设计作用及意义通过查阅资料、接口设计、程序设计、安装调试等环节,完成 MCS-51 单片机多种 资源应用并具有综合功能的小系统目标板的设计与编程应用。 让我不仅能够将课堂上学 到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等 方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的 使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理 论方面的理解,掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外 存贮器、I/O 口、串行口通信等。了解和掌握单片机应用系统的软硬件设计过程、方法 及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技 能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以 至用的原则。 用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电 路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程 实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件 方面的知识和能力。通过本次课程设计,应加强培养如下能力: (1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力; (2)学会使用软件 Proteus 画原理图和仿真调试。5 2.设计方案2.1 可行方案选择以 AT89S52 单片机为核心元件, 利用两位 7 段共阳极数码管作为显示器件。 在此设计中 共接入 2 个两位一体 7 段共阳 LED 数码管,来显示实时数字,其中 1 个用于显示十位, 1 个用于显示个位,通过查表指令分别动态显示个位和十位。2 个 LED 数码管显示范围 可达到 O--99 。上电时,显示 59 并开始自动每秒自动减 1,当按键 1 按下时记录当前 时间值, 当按键 2 按下时显示当前记录值, 显示过之后再次按下按键 1 时秒表复位为 59。方案一利用查询端口实现记录通过不断的查询 P2.4 和 P2.5 的电平来判断是否记录当前时间值,当 P2.4 按下时记录 当前时间但并不显示,当 P2.5 按下时则显示记录下的时间,当 P2.5 再次按下时则复位 为 59,等待下次计时。用延时程序来实现 1 秒的延时,通过数据区来记录记录值,通过 显示子程序来显示倒计时和记录值。方案二 利用中断实现记录本方案在方案一的硬件基础上采用 74LS47 译码器硬件译码来方便实现显示,同时 利用单片机的外部中断 0 和外部中断 1 来实现记录和显示, 把记录处理和显示处理做成 分别做成外部中断 0 和外部中断 1 的中断服务程序, 通过中断服务程序处理不同的动作。 利用 T0 做一个 1 秒的中断,从而实现倒计时。另外通过数据区来记录记录值。通过显 示子程序来显示当前倒计时和记录值。2.2 方案的选取如果使用方案一需要不停的查询端口的电平,单片机还要不停的去执行显示程序, 另外还要执行延时程序,单片机在同一个时刻只能做一件事情,所以会对记录造成较大 的误差,所以方案一误差较大 如果使用方案二,因为方案二是利用外部中断,所以不必不停查询端口电平,当按 键按下时,即使程序处于显示程序中也可以立即中断去执行按键按下所需要的处理动 作,由于定时 1 秒是采用定时器来实现,单片机可以边执行程序边实现定时,所以可以 实现较精确的计时,另外外部中断均处于高级中断,可以较准确的记录记录值。 综上比较,本设计采用方案二作为此次课程设计的首选方案。6 3. 方案实施3.1 硬件电路的实施(1)整体设计框图 本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、电源电路、按 键电路。总体设计框图如图 3.1 所示。电源电路显示电路振荡电路AT89S52 单片机复位电路按键电路 图 3.1 整体框图(2)电源电路 本设计采用整流桥墩2W10进行整流,然后用电解电容进行滤波,用7805进行稳压, 最后输出+5V 稳压直流电源。其中 C1、C4为1000PF 的电解电容,C2、C3为104瓷片电容, R1为1K 的电阻。其电路图如3.2所示。图3.2 电源电路(3)振荡电路 本模块用了一个 11.0592HZ 的晶振外加两个 33pf 的电容, 电路图用如图 3.3 所示。7 图 3.3 振荡电路(4)复位电路 复位电路图如图3.4所示,其中 C3是带极性的电解电容,R1、R2是阻值为1K 的电阻图3.4 复位电路8 (5)显示电路 本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个 LED 数码 管处于显示状态。若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动 态的“扫描显示方式” 。即在某一时刻,只让某一位的位选线处于选通状态,而其它各 位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样, 在同一时刻,2 位数码管中只有被选通的那一位显示出字符。如此循环下去就可以显示 出要显示的字符。虽然这些字符是不同时刻显示的,但由于 LED 数码管的余辉和人眼的 “视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象” ,达 到同时显示的效果。动态显示的优点是硬件电路简单,显示器越多,优势越明显。 本次设计的显示电路有三部分组成:译码电路、驱动电路、LED 数码管显示电路。 其中译码电路用的是芯片 74LS47,74LS47 是 BCD-7 段数码管驱动器,它的功能用于将 BCD 码转化成数码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数 字, 从而简化了程序,节约了单片机的 I/O 开销。 74LS47 译码器原理: 译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过 来。 实现译码的逻辑电路成为译码器。 译码器输出与输入代码有唯一的对应关系。 74LS47 是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,其部分真值表如表 3.1.1 所示。表 3.11 A3 0 0 0 0 0 0 0 0 1 19A2 0 0 0 0 1 1 1 1 0 0A1 0 0 1 1 0 0 1 1 0 0A0 0 1 0 1 0 1 0 1 0 1a* 0 1 0 0 1 0 1 0 0 0b* 0 0 0 0 0 1 1 0 0 0c* 0 0 1 0 0 0 0 0 0 0d* 0 1 0 0 1 0 0 1 0 1e* 0 1 0 1 1 1 0 1 0 1f* 0 1 1 1 0 0 0 1 0 0g* 1 1 0 0 0 0 0 1 0 0 分析表格3.1.1易知74LS47为4-7译码器,并且是等数译码。即当输入为0000即0时, 数码管显示也为0,一次类推,当输入为1001即9时,数码管显示也为9。驱动电路很简 单,就是用两个9013即 NPN 型三极管去驱动共阳极数码管。显示电路的第三部分数码 管显示电路,本次设计用的是两位共阳极数码管。显示电路模块用如图3.2所示。图 3.5 显示电路(6)按键电路 本实验要求开关 BUTTON1 和 BUTTON2 按下时触发两个对应的中断,所以两个按键接 到 外 部 中 断 0 和外部中断 1 管脚上。其 Proteus 仿真电路图如图 3.6 所示。图 3.6 按键电路10 3.2 软件程序实施本程序采用定时器 T0 产生 1 秒定时来实现秒表的倒计时,采用外部中断 0 来记录 不同的记录值,通过外部中断 1 来显示已经记录的记录值。在主程序中初始化各个数值 并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。 (1)主程序流程图开始 初始化显示 等待中断(2)外部中断 0 流程图 (3)定时器 TI 流程图开始初始化 T1清外部中断请求标志 开外部中断返回(4)T0 定时器 1 秒中断11 定时器开中断N 计数到 1S? Y R0 与 R1 中 数值减 1N 中断次数到 50? Y 将 R2 重新设 置为 50将标志位 F0 置 1调用显示子 程序中断返回(5)显示流程图开始DATA1 送 A 10 送 BDIVY12A=0? N 高位显示延时低位显示延时返回4. 结果与结论4.1 Proteus 仿真运行结果我们设计好系统后,首先在 proteus 上进行了仿真,仿真结果可以正常运行,当上 电时秒表从 59 开始倒计时,每当按下 BUTTON1 时,系统会记录当前时间值,按下BUTTON2 时系统会显示原来记录的时间值。 再次按下 BUTTON1 时系统会复位 59 等待下次 倒计时,并且如果没有记录值,按下 BUTTON2 并不起作用。 硬件结果经过半天的焊接,我们把硬件焊好后上电结果表明,我们的设计要求都达 到了, 硬件结果和 proteus 仿真结果完全一样。 各项功能完整可用。 仿真图如附件所示。4.2 结论通过软件仿真和硬件运行,我们的系统完全的达到了设计要求。13 5. 收获与致谢通过本次的课程设计,我认识和了解了基本的单片机设计的开发过程。期间,我学 会了分析课题的要求,查阅资料用怎样的元器件来实现,学会用 Protues 软件来绘制原 理图,用汇编来编写源程序,最终仿真成功。在用实际器件实现系统时,还学会了怎样 合理布局元器件,学会 2 位数码管各个管脚的分布和接法,熟识了硬件驱动数码管动态 显示的基本原理和程序编写, 提高了将单个电子器件组合到一起构成所需电路系统的能 力。 在课程设计期间也遇到很多问题,在使用 74LS47 的连线时忘记给译码器加电源, 在仿真时,程序编写有语法错误,在焊接时电阻弄错,阻值过大结果数码管很暗,引脚 焊接出错。焊接完成通电调试时,按键不灵,经丁老师指导,在程序中添加去抖程序。 除此之外,组员之间相互配合,在整个过程中有过争论,有过互助,最终圆满完成任务。 在设计过程中,要是遇到问题,一定要有耐心,有错误就耐心查找,程序或实物系统出 错就慢慢调试,要有永不服输的精神。 在此要特别感谢学校老师们为我们安排这次课程设计,为我们精心挑选课题,在万 忙之中抽出时间指导我们,对于我们的问题,老师耐心的解答,一遍不行,再讲一遍。 还不辞劳苦的给我们买需要的任何元器件。这次课程设计收获很多,为以后毕业设计打 下基础,培养我们实际的动手能力,对以后的学习、工作中一定会有很大的帮助。 再次感谢所有老师。6. 参考文献[1]李广弟.单片机基础[M] 北京:航空航天大学出版社 2001 年 1 月 [2]迟荣强 .单片机原理及接口技术[M] 北京:高等教育出版社 2004 年 9 月 [3]张毅刚.单片机原理及应用[M] 北京:高等教育出版社 2008 年 5 月 [4]阎胜利.Protel DXP2004 电路设计[M] 北京:电子工业出版社 2006 年 7 月14 7. 附件7.1 整体电路图图 7.1 整体电路图15 7.2 元器件清单表 7.1 元器件名称 单片机 晶振 电解电容 瓷片电容 瓷片电容 桥堆 7805 发光二极管 电阻 按键 拨动开关 74LS47 数码管 1K 型号规格 AT89S52 11.0592MHz 1000Uf 104 33 2W10元器件清单 数量 1 1 3 2 2 1 1 1 12 3 1 1 1 两位共阳 红 备注16 7.3 源程序;************************************************************************** ;功能: ;外部中断 0 用于记录不同的秒表数值 ;外部中断 1 用于显示不同的记录数值 ;外部中断 0 用于复位 ;如果没有记录秒表数值,则外部中断 1 不起作用 ;可以判断是否显示到最后一个数,显示的是最后一个记录值则保持显示而不再改变 ;************************************************************************* ;变量分配 DATA1 EQU 40H DATA2 EQU 42H TCNT EQU 41H MOD1 BIT 00H MOD2 BIT 01H MOD3 BIT 02H MOD4 BIT 03H ;DATA1 用于储存显示的值 ;DATA2 用于储存记录的时间的个数 ;TCNT 用于判断定时是否到 1 秒 ;MOD1 用于记录计数值是否到 0 ;MOD2 用于指示初始化成 59 标志 ;MOD3 用于记录外部中断 1 ;MOD4 用于记录是否储存了记录值;主程序 ORG 0000H LJMP START ORG 0003H LJMP INT_0 ORG 000BH LJMP INT_T0 ORG 0013H LJMP INT_1 ORG 001BH17;开始 ; ; ; ; ; LJMP INT_T1 ORG 0050H START: MOV SP,#70H CLR MOD1 CLR MOD2 CLR MOD3 CLR MOD4 MOV TCNT,#0 MOV TMOD,#11H MOV TH0,3CH MOV TL0,#0B0H CLR P2.4 CLR P2.5 SETB PX1 SETB EX1 SETB PX1 SETB PT1 SETB ET1 MOV TH1,#0FFH MOV TL1,#0FFH SETB IT1 SETB PX0 SETB IT0 SETB ET0 SETB EX0 SETB EA SETB TR0 MOV R1,#50H MOV DATA1,#59D18;设置堆栈 ;初始化标志位 ; ; ; ;定时器初始化,16 位定时方式 定时 50MS,总定时 1S ; ; ; ; ; ;中断设置 外部中断 1 和 0 为高级中断,跳沿触发 ;定时器 T0 为低级中断 ; ;定时器 1 设置为高级中断 ;开定时器 1 ;赋初值 ; ; ; ; ; ; ; ; ;初始化 R1 为 50H ;初值是十进制 59 LOOP1:LCALL DISPLAY SJMP LOOP1;循环显示 ;定时器 T0 中断 INT_T0: MOV TH0,#3CH MOV TL0,#0B0H INC TCNT MOV A,TCNT CJNE A,#20,RETURN MOV TCNT,#0 JB MOD1,RETURN DEC DATA1 MOV A,#0 CJNE A,DATA1,RETURN SETB MOD1 RETURN: RETI ; ; ; ; ; ; ;到 0 秒直接返回不再减 1 ;减 1 ;判断 DATA1 是否到 0 ;不到 0 直接返回 ;到 0 则置位 MOD1 标志位 ;外部中断 0 INT_0: CLR EX0 SETB TR1 H5: JNB MOD2,H0 MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 CLR MOD2 SJMP RETURN4 H0: H3: JNB MOD1,H1 MOV DATA1,#59D MOV R1,#50H19;关外部中断 0 ;启动定时器 T1 ;如果不是初始化 59 则判断是否到 0 ;是初始化 59 则初始化 T0 ; ; ;清除初始化 59 标志 ; ;如果不到 0 则判断上次是否是储存值显示 ;是到 0 则初始化 59 ;数据指针初始化为 50 SETB MOD2 CLR MOD1 CLR MOD3 CLR MOD4 CLR TR0 SJMP RETURN4 H1: JNB MOD3,H2 SJMP H3 H2: MOV @R1,DATA1 SETB MOD4 INC R1 MOV DATA2,R1 RETURN4: RETI;初始化 59 标志 ;清除其它标志位 ; ; ; ;返回 ;上次不是储存值显示则储存当前值 ;上次是储存值显示则初始化 59 ;当前值存入记录值数据区 ; ;指针加 1 ;储存记录数值个数 ;返回T1 中断 INT_T1: CLR TR1 MOV TH1,#0FFH MOV TL1,#0FFH CLR IE0 CLR IE1 SETB EX0 SETB EX1 RETURN9:RETI ;关闭定时器 ;重赋值 ; ;清除中断请求标志位 ; ;开中断 0 ;开中断 1 ;返回外部中断 1 INT_1: CLR EX1 SETB TR1 X10: JNB MOD4,RETURN6 JB MOD3,X720;关闭外部中断 1 ;启动定时器 T1 ;没有储存则直接返回 ;如果上次也是外部中断 1 则直接显示下一个,上次不是 外部中断 1 则从第一个显示X8:SETB MOD3 MOV R1,#4FH;并置位外部中断标志 MOD3 ; ;关定时器 ; ;判断是否到最后一个数 ;不到则返回显示X7:CLR TR0 INC R1 MOV A,R1 CJNE A,DATA2,X9 DEC R1;到最后一个则 R1 减 1,一直显示最后一个数值直到复位成 59 ;返回 ; ; ;SJMP RETURN6 X9: MOV DATA1,@R1 CLR IE1 RETURN6:RETI 显示子程序 DISPLAY:MOV A,DATA1 MOV B,#10D DIV AB MOV P2,A CJNE A,#0,D_PLAY1 SJMP SKIP1 D_PLAY1: SETB P2.4 CLR P2.5 SKIP1: LCALL DELAY CLR P2.4 MOV A,B MOV P2,A SETB P2.5 CLR P2.4 LCALL DELAY21; ;取十位 ; ; ;如果十位为 0 则不显示 ; ;十位不为 0 则显示 ; ; ; ;取个位 ; ; ; ; CLR P2.5 RET; ;延时程序 DELAY:MOV R6,#5 DE: MOV R7,#250 DJNZ R7,$ DJNZ R6,DE RET ; ; ; ; ;END;结束7.4 运行实物图图 7.4运行实物图22 指导教师评语:课程设计报告成绩: 课程设计其它环节成绩: 环节名称: 环节名称: 总 成 绩: ,成绩: ,成绩:,占总成绩比例:,占总成绩比例: ,占总成绩比例:指导教师签字: 年 本次课程设计负责人意见: 月 日负责人签字: 年 月 日23
基于51单片机倒计时秒表程序设计_教学案例/设计_教学研究_教育专区。倒计时秒表程序设计单片机倒计时秒表 倒计时秒表程序设计 基于 51 单片机倒计时秒表程序设计 typedef...12 第 2 页 30 秒倒计时计时器 第一章 方案论证 1.1 课程设计目的和要求 (1)目的课程设计是单片机课程教学的最后一个环节,是对学生进行 全面的系统的训练。...XXXXXX 学院 51 单片机系统设计 课程设计报告 题 目: 秒表系统设计 专业、班级: 学生姓名: 学号: 指导教师: 分数 : [摘要]本设计是一个秒表计时器,采用 51 ...课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学专班姓学 期: 学年第一学期 业: 级: 名: 号: 电气技术 指导教师: 辽宁工程...秒表课程设计_工学_高等教育_教育专区。以单片机为基础,用C语言编写程序,完成一个可以实现开始、复位、暂停、继续,并且以精度为0.1秒正计时、倒计时的秒表。锻炼...单片机课程设计60秒倒计时_工学_高等教育_教育专区。基于 AT89C51 的 60 秒倒计时设计 前言 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身...单片机原理课程设计 ――秒表时钟计时器的设计 专方姓学 业:电气工程及其自动化 向:电力系统 名:韦敏 号: 指导老师:汪厚新 目 录 第 1 章 方案...倒计时秒表 单片机_电子/电路_工程科技_专业资料。目录一、设计目的......14 一、设计目的单片机课程设计中通过查阅资料、接口设计、程序设计、安装调试等环节, 完成...单片机课程设计――89C51 单片机秒表的设计 指导教师: 学班姓学时院: 级: ...强大的扩展 功能,进一步丰富秒表的功能,例如可设定计时时间,倒计时等等众多功能...课程设计的目的和任务 1.1 单片机秒表课程设计的概述一、课程设计题目秒表系统...其次还有显示程序、按键扫描及处理程序、时钟程序 和倒计时程序,系统软件流程图图...
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。为什么单片机倒计时慢
单片机倒计时,时间变化很慢,是怎么回事?
10-01-20 &匿名提问
点开发板上有4个轻触按钮开关,我们采用的是独立式按钮开关,也就是说将开关通过限流电阻直接连接到电源的地和单片机的对应引脚之间,这里SW5,SW6,SW7,SW8分别接到单片机的P3.3,P2.3,P2.4,P2.5。正常情况下单片机的P3.3,P2.3,P2.4,P2.5都被程序初始化时置“1” 当有按键按下时对应的单片机引脚被按钮开关下拉为“0”,这种方法比较直观,而且比较简单,在按键数量不多的场合下使用很广泛。因为机械开关开关时有抖动,所以需要在程序中加一个软件去抖动程序,它的工作原理如下:当单片机检测到有按键被按下后立即执行一个10毫秒的延时程序,然后再在检测该引脚是否仍然为闭合状态?如果仍然为闭合说明确认该键被按下立即执行相应的处理程序,否则可能是干扰,丢弃这次检测结果。;单片机启点网;可设定时间的倒计时定时器,可手动设置倒计时时间;倒计时时间由按键开关的SW7和SW8两位来控制,;按一下SW7增加5秒,SW8减少5秒;P1.0口的外接的发光二极管为状态LED,定时未开始时LED常亮,定时过程中LED闪烁;SW5为开始按钮,SW6为停止按钮a_bit equ 20数码管个位数存放内存位置b_bit equ 21数码管十位数存放内存位置temp equ 22计数器数值存放内存位置;开机初始化SETB P3.3;对P3.3初始化,设置为高电平,用于按键输入SETB P2.3;对P2.3初始化,设置为高电平,用于按键输入SETB P2.4;对P2.4初始化,设置为高电平,用于按键输入SETB P2.5;对P2.5初始化,设置为高电平,用于按键输入MOV P0,#0FFH;使显示时间数码管熄灭CLR P1.0;点亮LED指示灯;等待键盘输入START:JB P3.6,$;循环判断开始按钮K1是否按下?ACALL DELAY10;延时10毫秒触点消抖JB P3.6,START;如果是干扰就返回JNB P3.6,$;等待按键松开;读拨码开关的状态,获得倒计时时间
请登录后再发表评论!
看共享资料:ishare.iask.sina/cgi-bin/fileid.cgi?fileid=3861260
请登录后再发表评论!
单片机快慢取决与它的振荡频率,并且单片机的计时器是按你程序设定计时,快与慢又取决于你的程序设定,你的问题应该是程序问题,建议你调试程序。
请登录后再发表评论!
程序问题,没得说的,肯定是。
请登录后再发表评论!扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
89c51单片机定时器报警问题。请用机器语言编写,谢谢!  设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:  (1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。  (2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。  (3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。(4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效麻烦将每一个步骤的意思写一下,因为我不是很理解这个谢谢!!!
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
比较简单,不过没有图,写不来程序的
为您推荐:
扫描下载二维码}

我要回帖

更多关于 倒计时60秒数码管程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信