单片机课程设计(24秒篮球计数器)
基于51单片机的篮球24秒倒计时器
基于51单片机的篮球24秒倒计时器#include <reg51.h>#define uchar unsigned charsbit wei0=P1^0;sbit wei1=P1^1;sbit wei2=P1^2;sbit gnd=P2^5;sbit key2=P2^0;uchar count;//用于记录发生了多少次中断的计数器uchar sec=240;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//注:用code是把后面的数据存在程序存贮器中,如果不用code,数据就会存在随机存贮器中。
void delayms(int x){int y,z;for(y=x;y>0;y--)for(z=110;z>0;z--);}void display(int dat){uchar bai,shi,ge;bai=dat/100;shi=dat%100/10;ge=dat%10;wei0=0;P0=table[bai];delayms(1);wei0=1;wei1=0;P0=table[shi]&0x7f;delayms(1);wei1=1;wei2=0;P0=table[ge];delayms(1);wei2=1;P0=0xff; //这一句和下一句是为了降低数码管亮度,同学们不必写。
delayms(20);}void keyscan(){if(key2==0){delayms(5);//延时消抖while(!key2);//松手检测TR0=~TR0;}}void main(){gnd=0;TMOD=0x01;//启用定时器0的工作方式1TH0=(65536-50000)/256;//装初值TL0=(65536-50000)%256;//装初值EA=1;//打开总中断ET0=1;//打开定时器0;TR0=0;//启动定时器0;while(1){keyscan();/*if(count==2){count=0;sec--;if(sec==0)sec=240;}*/ display(sec);}}void timer0 () interrupt 1//定时器0的中断优先等级是1 {TH0=(65536-50000)/256;//重新装初值TL0=(65536-50000)%256;//重新装初值count++;if(count==2){count=0;sec--;if(sec==0)sec=240;}// display(sec); }。
课程设计--篮球竞赛24秒计时器
课程设计--篮球竞赛24秒计时器一、课题名称二、内容摘要本设计主要是完成篮球竞赛24秒计时器,显示24秒倒计时功能,系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器全部显示为“0”;计时器为24秒递减计时,其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。
整个电路的设计借助于Multisim 10.0.1仿真软件和数字逻辑电路相关理论知识,并在Multisim 10.0.1下设计和进行仿真,得到了预期的结果。
关键字:计时器;数码显示器;Multisim随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活不可缺少的一部分,特别是在各种竞技运动中,定时器成为检验运动员成绩的一个重要工具。
在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。
本课程设计的“篮球竞赛24秒计时器”,可用于篮球比赛中,用于对球员持球时间24秒限制。
一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的犯规。
本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。
三、设计内容及要求1.2.1基本要求(1)显示24秒计时功能。
(2)控制计时器直接清零、启动、暂停/连续功能。
(3)计时器为24秒递减计时器。
(4)递减计时到零时,显示器不能灭灯,同时发出光电报警信号。
1.2.2 设计任务及目标(1)根据原理图分析各单元电路的功能;(2)熟悉电路中所用到的各集成块的管脚及其功能;(3)进行电路的装接、调试,直到电路能达到规定的设计要求;(4)写出完整、详细的课程设计报告。
四、方案论证及比较本设计的核心部分是要设计一、个24s倒计数器,并且对计数结果进行实时显示,同时要实现设计任务中提到的各种控制要求,因此该系统包括秒脉冲发生电路,计数器电路,译码显示电路,控制电路和电路报警电路5部分。
单片机课程设计(篮球计分器)
检查电源:确保电源正常,电压稳定 检查连接:确保所有硬件连接正确,无松动或损坏 检查硬件功能:确保所有硬件功能正常,如LED灯、按键等 检查程序运行:确保程序运行正常,无错误或异常 检查数据传输:确保数据传输正常,无丢失或错误 检查稳定性:确保硬件在长时间运行下仍能保持稳定工作
软件调试的目的:发现并修复软件中的错误 软件调试的方法:使用调试工具,如断点、单步执行等 软件调试的步骤:设置断点、执行程序、查看变量值、分析错误原因 软件调试的技巧:使用日志记录、使用单元测试等
提高解决问题的能力和创新能力
添加标题
添加标题
添加标题
添加标题
学会使用单片机进行硬件设计和软 件开发
培养团队合作精神和沟通能力
Байду номын сангаас
功能要求:实现篮 球计分功能,包括 得分、犯规、暂停 等
硬件要求:使用单 片机、LED显示屏、 按键等硬件设备
软件要求:编写 程序,实现篮球 计分器的功能
设计要求:设计 简洁、易于操作, 满足实际需求
结束程序:关闭计时器、计分器等设备,退出程序
程序功能:检测按键是否被 按下
程序流程:初始化、循环扫 描、判断按键状态、执行相 应操作
初始化:设置按键引脚为输 入模式,并初始化为高电平
循环扫描:不断循环检测按 键状态,直到按键被按下或 松开
判断按键状态:根据按键引 脚的电平变化判断按键是否 被按下或松开
软件设计:优化代码结构, 提高运行效率
硬件设计:考虑成本和性能, 选择更合适的元器件
用户体验:增加用户友好的 界面和操作方式
功能扩展:增加更多的功能, 如数据统计、比赛记录等
技术发展趋势:智能化、网络化、 小型化
技术挑战:提高稳定性、降低功耗、 提高准确性
单片机篮球计分器课程设计
单片机篮球计分器课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握其编程方法。
2. 学生能够了解篮球计分器的工作原理,掌握相关电路的连接方式。
3. 学生能够运用已学过的数学知识,设计出合理的计分算法。
技能目标:1. 学生能够运用所学知识,独立完成单片机篮球计分器的编程与调试。
2. 学生能够通过小组合作,完成整个篮球计分器的硬件搭建和软件设计。
3. 学生能够运用所学知识解决实际问题,提高创新能力和动手实践能力。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣,激发学习热情。
2. 学生通过团队合作,学会沟通、协作与分工,培养团队精神。
3. 学生能够认识到科技在体育领域的应用,增强科技改变生活的意识。
课程性质:本课程为实践性课程,结合单片机原理、编程、电路设计等多学科知识,旨在培养学生的动手实践能力和创新能力。
学生特点:本课程针对高中年级学生,他们在前期的学习过程中已经掌握了基本的电子技术、编程知识和数学知识,具备一定的自学能力和合作能力。
教学要求:教师需引导学生将所学知识运用到实际项目中,注重培养学生的实践能力和团队协作能力,同时关注学生的个性化发展,提高学生的综合素质。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
1. 理论知识:- 单片机原理:涉及单片机的结构、工作原理、编程语言等。
- 电路设计:讲解篮球计分器所需的基础电路知识,如数字电路、传感器等。
- 计分算法:介绍篮球计分器的计分原理及算法设计。
2. 实践操作:- 硬件搭建:指导学生进行单片机、传感器、显示屏等硬件的连接。
- 软件编程:教授学生编写单片机程序,实现计分器的功能。
- 调试与优化:引导学生对篮球计分器进行调试,找出问题并优化程序。
3. 教学大纲:- 第一周:单片机原理学习,熟悉编程环境。
- 第二周:电路设计及硬件连接,学习传感器应用。
- 第三周:计分算法设计,编写单片机程序。
课程设计--篮球竞赛24秒计时器
课程设计--篮球竞赛24秒计时器一、课题名称二、内容摘要本设计主要是完成篮球竞赛24秒计时器,显示24秒倒计时功能,系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器全部显示为“0”;计时器为24秒递减计时,其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。
整个电路的设计借助于Multisim 10.0.1仿真软件和数字逻辑电路相关理论知识,并在Multisim 10.0.1下设计和进行仿真,得到了预期的结果。
关键字:计时器;数码显示器;Multisim随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活不可缺少的一部分,特别是在各种竞技运动中,定时器成为检验运动员成绩的一个重要工具。
在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。
本课程设计的“篮球竞赛24秒计时器”,可用于篮球比赛中,用于对球员持球时间24秒限制。
一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的犯规。
本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。
三、设计内容及要求1.2.1基本要求(1)显示24秒计时功能。
(2)控制计时器直接清零、启动、暂停/连续功能。
(3)计时器为24秒递减计时器。
(4)递减计时到零时,显示器不能灭灯,同时发出光电报警信号。
1.2.2 设计任务及目标(1)根据原理图分析各单元电路的功能;(2)熟悉电路中所用到的各集成块的管脚及其功能;(3)进行电路的装接、调试,直到电路能达到规定的设计要求;(4)写出完整、详细的课程设计报告。
四、方案论证及比较本设计的核心部分是要设计一、个24s倒计数器,并且对计数结果进行实时显示,同时要实现设计任务中提到的各种控制要求,因此该系统包括秒脉冲发生电路,计数器电路,译码显示电路,控制电路和电路报警电路5部分。
篮球竞赛24S计时器课程设计报告
《数字电子技术》课程设计报告篮球竞赛24S计时器要求:一、功能要求1、具有显示24S计时功能;2、设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;3、计时器为24S递减计时器,其计时时间间隔为1S;4、计时器减计时到零时,发出报警信号。
二、设计要求1、根据设计要求选择合适的元器件,并掌握其使用方法;2、画出电路原理图(或仿真电路图);3、先进行电路的仿真与调试,通过后才能答辩;三、制作要求自行装配和调试,具有一定的分析和解决问题的能力。
四、设计报告的编写要求编写设计报告,附上有关资料和图纸,并谈谈自己心得和体会姓名:学号:专业:班级:成绩:评阅人:篮球竞赛24S计时器计时器在许多领域均有普遍的应用,篮球竞赛中除了有总时间倒计时外,为了加快竞赛节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
本课程设计“篮球竞赛24S时器的设计”,可用于篮球竞赛中,用于对球员持球时间24秒限制。
一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的违例。
一、设计要求(一)设计指标1、具有显示24S计时功能;2、设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;3、计时器为24S递减计时器,其计时时间间隔为1S;4、计时器减计时到零时,发出报警信号。
(二)设计要求1、画出电路原理图(或仿真电路图);2、元器件及参数选择;3、电路仿真与调试;(三)制作要求自行装配和调试,并能发现问题和解决问题。
(四)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
二、原理框图1、篮球24S计时器的构成十位显示个位显示译码驱动译码驱动控制电路计数器计数器秒脉冲发生器报警电路经过对电路功能的分析,整个24秒倒计时电路可由秒脉冲信号发生器、计数器、译码器、控制电路、报警电路组成。
2、信号发生器脉冲的发生由时钟信号源提供U8A74LS08DJ1Key = BV110 Hz5 V17VDD 01093、 计数器计数器由两片74LSl92同步十进制可逆计数器构成。
篮球24秒计时器课程设计
篮球24秒计时器课程设计
一、课程目标:
1. 熟悉篮球24秒计时器的基本规则和使用方法;
2. 能够正确设置和操作篮球24秒计时器;
3. 练习团队合作和沟通能力。
二、教学内容:
1. 篮球24秒计时器的基本规则和使用方法;
2. 篮球24秒计时器的操作:设置、启动、停止、重置等;
3. 分别以两队为单位,模拟比赛过程中的使用。
三、教学过程:
1. 简要介绍篮球24秒计时器的作用和基本规则;
2. 给学生分成两队,让他们各派出一名代表当计时员;
3. 让计时员练习操作篮球24秒计时器,包括设置、启动、停止、重置等;
4. 模拟比赛过程中的使用,让学生围着一起发球并利用计时器进行计时;
5. 强调团队合作和沟通的重要性,提高团队默契。
四、教学资源:
1. 篮球24秒计时器;
2. 篮球。
五、教学评估:
1. 观察学生对篮球24秒计时器是否能正确设置和操作;
2. 在模拟比赛过程中,观察学生是否能够正确使用计时器,并
且团队合作是否良好。
六、教学反思:
1. 让学生练习操作篮球24秒计时器的时间可能需要较长,需要在课前充分准备;
2. 在模拟比赛过程中,需要加强学生的团队合作和沟通能力,以确保计时器的正确使用。
课程设计-篮球24秒计时器设计
课程设计-篮球24秒计时器设计1. 引言篮球是一项流行的运动项目,而篮球比赛中的24秒计时器被广泛应用。
24秒计时器的作用是规定进攻球队必须在24秒内射门。
本文将详细介绍篮球24秒计时器的设计思路和实现方法。
2. 设计目标本课程设计的目标是设计一个实时计时的24秒计时器,要求能够准确地显示剩余时间,并提供简单的控制功能。
3. 设计思路3.1 硬件部分为了实现一个可靠的24秒计时器,我们需要选用合适的硬件组件。
以下是主要的硬件组件和功能设计: - 显示屏:用于显示计时器的剩余时间。
- 开始/停止按钮:用于开始或停止计时器。
- 复位按钮:用于将计时器复位为24秒。
- 蜂鸣器:用于发出警报声,提醒比赛方双方。
3.2 软件部分在硬件部分的基础上,我们需要编写相应的软件代码来实现计时器的功能。
以下是主要的软件设计思路: - 初始化:启动计时器时,显示屏显示24秒,计时器停止。
- 开始计时:按下开始按钮后,计时器开始倒数计时,显示屏实时更新倒计时的剩余时间。
- 停止计时:按下停止按钮后,计时器停止计时,显示屏停止更新。
- 复位计时:按下复位按钮后,计时器复位为24秒,显示屏重新显示24秒。
- 警报:当计时器倒计时为0秒时,蜂鸣器发出警报声,提醒比赛方双方。
4. 实现方法4.1 硬件实现硬件实现主要包括连接各个硬件组件,以及编写相应的硬件控制代码。
以下是硬件实现的步骤:1. 连接显示屏和主板,确保显示屏能够正常工作。
2. 连接开始/停止按钮和主板,通过按下按钮来控制计时器的启动和停止。
3. 连接复位按钮和主板,通过按下复位按钮来复位计时器。
4. 连接蜂鸣器和主板,确保能够正常发出警报声。
4.2 软件实现软件实现主要包括编写相应的代码来控制硬件组件的工作。
以下是软件实现的步骤: 1. 初始化计时器,设置剩余时间为24秒,并停止计时。
2. 监听开始/停止按钮的按下事件,根据按钮状态来控制计时器的启动和停止。
单片机课程设计-篮球计时器
绪论篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
以下为一个篮球比赛计时器,该计时器采用按键操作、数码管显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括STC89C51, 2个八段共阳数码管显示、上电复位电路、时钟发生电路等基本模块的设计。
其功能土要有:一场篮球比赛共分四节,每节12分:每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、复位;当球员的持球时间超过24秒时,24秒倒计时减为零且有蜂鸣器报警提示。
本次课程设计是采用单片机C语言实现倒计时24秒篮球比赛计时器。
1系统工作原理1.1 功能说明随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分。
在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。
大多数篮球计时器的主控芯片为AT89C51,采用12MHz 晶振,P0.0-P0.7作数码显示端。
24秒计时开始,A3为24秒复位开启键(投篮或交换控球时按下此键);A4为24秒计时停止键(有违例时按下此键); A5为24秒计时启动键;A6为总复位键。
而此次我们设计的是1个简易篮球比赛计时器。
最简单的篮球球计时器是24秒倒计时计时器。
也就是本次课程设计的课题。
24秒篮球计时器要求设置外部操作开关,控制计数器的直接复位、启动和暂停,并且计时电路递减计时,每隔1秒钟,计时器减1,当计时器减0时,显示器上显示00,同时发出蜂鸣器报警信号。
1.2基本原理24秒计时器的总体参考方案框图如图1所示,它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路等五个模块组成。
其中计数器和控制电路是系统的主要模块。
计数器完成24秒倒计时功能,而控制电路完成计数器的直接复位、启动技术、暂停以及连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。
单片机课程设计—篮球计时计分器
单片机课程设计—篮球计时计分器篮球作为一项广受欢迎的运动,其比赛的公平性和准确性至关重要。
而在篮球比赛中,计时计分器是不可或缺的设备,它能够为比赛提供准确的时间和比分信息,保障比赛的顺利进行。
本次单片机课程设计的任务就是设计一款篮球计时计分器,通过运用单片机的知识和技能,实现篮球比赛计时和计分的功能。
一、设计要求1、能够实现比赛时间的计时功能,包括 24 秒进攻时间、每节 10分钟的比赛时间以及加时赛时间。
2、能够实时显示比分,包括主队和客队的得分。
3、具备暂停、复位等功能,以应对比赛中的各种情况。
4、能够通过按键进行操作,简单易用。
二、系统方案设计1、硬件设计单片机选型:选择一款性能稳定、资源丰富的单片机,如STC89C52 单片机。
显示模块:采用数码管显示时间和比分,数码管具有亮度高、显示清晰、成本低等优点。
按键模块:使用独立按键实现计时、计分、暂停、复位等操作。
时钟模块:采用外部时钟芯片,为系统提供准确的时钟信号。
2、软件设计编程语言:选择 C 语言进行编程,C 语言具有语法简洁、可移植性好等优点。
程序流程:主程序负责系统的初始化、按键扫描、时间和比分的更新以及显示。
中断服务程序负责处理时钟中断,实现计时功能。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化。
2、显示电路采用共阳极数码管,通过三极管驱动数码管的段选和位选信号,实现时间和比分的显示。
3、按键电路独立按键分别连接到单片机的 I/O 口,通过检测按键的状态来执行相应的操作。
4、时钟电路采用 DS1302 时钟芯片,通过单片机的 I/O 口与时钟芯片进行通信,获取准确的时间信息。
四、软件程序设计1、主程序首先进行系统初始化,包括单片机端口设置、数码管显示初始化、时钟芯片初始化等。
然后进入主循环,不断扫描按键状态,根据按键执行相应的操作,同时更新时间和比分,并将其显示在数码管上。
篮球比赛24s计时器课程设计
目录摘要 .............................................................................................................1 篮球计时器概述 .........................................................................................1.1 篮球竞赛24秒计时器功能...............................................................1.2 主要参考器件.....................................................................................1.3 单片机的概述.....................................................................................1.3.1 AT89C51单片机简介...............................................................1.3.2 AT89C51单片机引脚功能简介...............................................2 硬件设计 .....................................................................................................2.1 设计原理.............................................................................................2.2 硬件设计流程图.................................................................................2.2.1 功能单元模块............................................................................2.3 硬件设计电路图.................................................................................3 软件设计 .....................................................................................................3.1 程序流程图.........................................................................................3.2 程序设计.............................................................................................3.3 仿真及仿真结果.................................................................................4 课程设计体会 ............................................................................................. 参考文献 ........................................................................................................摘要课程设计目的课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。
篮球比赛24秒计时器设计以及简单说明
篮球比赛24秒计时器设计
一、各部件说明:
1、开关KA:清零功能。
当开关KA置高电平时,不管计数器处于什么状态,直接清零。
2、开关KB:置数功能。
清零开关KA置低电平情况下,当KB处于低电平时,计数器置数,数码管显示“24”,处于等待状态。
3、开关KC:暂停/继续计数功能。
计数器开始递减计数过程中,当开关KC处于低电平时,数码管保持当前状态;当开关置为高电平时,计数器继续递减计数。
4、LED-D1:发光二极管。
当计数器递减为零的同时,D1发光。
5、SPEAKER-LS1:声音报警器。
当计数器递减为零的同时,LS1配合D1完成声光报警功能。
二、操作说明:
1、开始时,开关KA、KB均置低电平,KA置为高电平。
开关KA为高电平,完成清零操作,再置为低电平。
此时数码管显示“24”,预示比赛即将开始。
2、计数器开始递减计数过程中,若有球员犯规需暂停计时,则开关KC置为低电平;继续比赛,则置为高电平。
3、若球员在24s内完成进攻,则将KC置为低电平,即本次进攻结束,准备下次进攻。
开关KC重新置为高电平时,预示下次进攻开始。
4、若球员在24s内无法完成进攻,则计数器递减为零时,声光报警器工作,表明进攻违例。
课程设计报告(24秒篮球倒计时)
14
3. 按键消抖电路
由于实际中的按键在按下和弹起时会产生很高频率的抖动脉冲,该脉冲会影 响电路的性能,出现按键按一次电路跳动多次的现象,因此需要进行消抖来消除 这种影响,消抖的方法很多,这里采用 RC 充放电电路和斯密特触发器进行消抖, 电路图见图 6。当按键 A 按下时,电容 C1 两端的电压不会突变,所以需要等一 段放电时间,才能降到斯密特触发器的门限电压,斯密特触发器才会发生反转, 而此时按键按下产生的电路抖动已经消除。同理当按键弹起时也能消除抖动。
12
图 3 方案二电路图
方案选择 两方案的秒脉冲发生部分都是有 555 多谐振荡电路组成,基本无多大区别。 主要区别在于计数部分,方案一采用加计数器,方案二采用减计数器。由电路结 构来看,方案一用到了异或门和七个非门,较方案二复杂的多。在功能实现方面, 方案二满足设计要求。方案一在接通电源时若将置数键置于计数位置,74LS161 将从 0000 开始加计数对应反码 1111 无法显示,而方案二不会出现该问题。综合 分析,采用方案二。
19
进行焊接:先焊电容和电阻等较小、较矮的器件,再焊芯片插座和排针等较 大、较高的器件。焊接时才发现实验室现有的自复位按钮和之前 PCB 上的自复 位按钮的封装并不完全一样,最后将现有的自复位按钮插脚弄弯后进行强耦合。 除了不是很美观外并不影响性能。
全部焊好后再检查一遍,看是否存在漏焊虚焊等情况。 装配 检查完毕后将芯片和数码管按照原理图和 PCB 稳当的插在对应位置,此时 应当注意芯片的引脚要和 PCB 上的相对应。具体办法为看芯片和 PCB 上芯片的 小“U”槽对应。 待全部安装完成后,再检查一遍有无安装错误和安装松动等,如有及时改正。 待检查完毕,确认无误后即可开始进行硬件测试。 调试 测试时,为防止直接短路烧毁电源和引发火灾等情况,应先用万用表欧姆档 放在电源接头端测试一下输入电阻,如果输入电阻很小的话不能接通电源防止短 路。如果输入电阻很大,再接通电源进行测试。该设计中焊接装配完成后测试输 入电阻很大,接近断路状态。 通入额定电源,查看现象。该设计中最开始接通电源后,只有高位数码管显 示 2,低位不显示。将数码管拆下换过位置后低位正常显示 4,高位不显示。最 后确定为其中一只数码管坏了或用错了,经用万用表测试后发现这只数码管是共 阳的,最后查证为商家发错货了,最后换成两只共阴的数码管,接通电源后两只 数码管均正常显示,显示值为 24。证明硬件电路并无重大错误。 点击开始按钮,电路开始进行倒计时,而且按键按下和弹起时并无闪烁和跳 变情况,说明消抖电路如期正常工作。但是倒计时频率很快,说明电路还有问题。 电路中涉及到频率的就只有 555 定时器组成的时钟源,说明时钟源处有问题。而 一般影响频率的就是电阻和电容,经过排查,发现一个电阻焊错了,一个 47k 欧 姆的电阻焊成了 200 欧姆的电阻。拆下重新焊接后解决了该问题,倒计时周期约 为 1S。测试暂停、继续、复位功能均能达到要求。 至此整个设计和制作过程基本完结。最后的硬件电路能很好的实现设计要求。 实物图如图 12 所示。
篮球24秒计时器课程设计
篮球24秒计时器课程设计一、引言篮球24秒计时器是一项重要的比赛计时设备,用于规定球队在进攻时的时间限制。
本文将详细探讨篮球24秒计时器的作用、原理、功能以及设计过程。
二、作用篮球24秒计时器是为了确保比赛的公平性和激烈性而设计的。
它规定了球队在进攻时只有24秒的时间来完成进攻动作,这样可以使比赛变得更加紧凑和刺激,增加比赛的观赏性。
三、原理篮球24秒计时器的原理是通过计时电路来计算球队的进攻时间。
一旦球队控球,计时器就开始倒计时,当时间到达24秒时,计时器会发出警报,提醒球队必须发起进攻。
如果球队在24秒内没有完成投篮或传球等进攻动作,将会被判为进攻违例。
四、功能篮球24秒计时器具有多种功能,包括: 1. 计时功能:计时器可以精准地计算球队的进攻时间,确保比赛规则的执行。
2. 倒计时显示:计时器具有倒计时显示功能,让球员和观众清楚地知道剩余的时间。
3. 警报功能:当时间到达24秒时,计时器会发出警报声,提醒球队必须发起进攻。
4. 操作简单:计时器的操作非常简单,只需按下开始按钮即可开始计时,按下停止按钮即可停止计时。
五、设计过程篮球24秒计时器的设计过程包括硬件设计和软件设计两个方面。
5.1 硬件设计硬件设计主要涉及以下几个方面: 1. 显然装置:计时器需要具有大字体的显示屏,以便球员和观众能够清楚地看到剩余的时间。
2. 开始按钮和停止按钮:球队需要一个按钮来启动计时器,一个按钮来停止计时器,以便控制进攻时间。
3. 警报装置:计时器需要具有警报装置,当时间到达24秒时,会发出声音提醒球队。
5.2 软件设计软件设计主要包括计时功能和倒计时显示功能的实现。
1. 计时功能:软件需要从开始按钮按下时开始计时,并不断更新剩余时间,当剩余时间为0时,发出停止信号。
2. 倒计时显示功能:软件需要将剩余时间以大字体显示在屏幕上,使球员和观众可以清晰地看到。
六、课程设计内容基于上述的硬件设计和软件设计,可以设计一项篮球24秒计时器的课程,帮助学生了解计时器的原理和功能,培养学生的动手能力和团队协作精神。
篮球比赛24秒计时器
篮球比赛24秒计时器单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,广泛应用于国民经济的各个领域。
单片机的应用从根本上改变了传统的控制系统设计思想和方法,以前由数字和模拟电路实现的大部分功能,现在都能用单片机通过软件的方法来实现。
单片机用于各种仪器仪表使其智能化,可以提高测量的自动化程度和精度。
本项目主要利用单片机的内部定时器和外部中断;外部的独立按键和数码管显示以及报警器。
来实现24秒计时的功能。
一设计要求和设计方案秒计时器具有显示24秒的计时功能。
2.系统设置外部操作开关控制计时器的暂停和连续功能。
3.设置计时器为24秒递减时,其时间间隔为1秒。
4.当计时器递减到零时,数码管显示不灭,发出报警信号。
二设计的功能单片机启动时系统从24秒开始递减计时同时数码管也递减显示,当按键按下时系统暂停计时,数码管显示当前计时时间,当系统计时到零时数码管显示0同时报警器响发出报警信号。
三电路的组成1. 晶振电路部分主要有晶振(本电路中的晶振实际是陶瓷谐振器)和电容够成分别接振荡电路反向放大器的输入端和输出端,为单片机提供工作的频率。
2. 报警电路部分主要由报警器、电阻、电源构成。
当单片机P1^7口发低电平时该电路导通报警器响,电阻是限流电阻。
3. 独立按键部分主要由按键和地组成。
按键按下时单片机接受低电平产生外部中断计时器暂停计时,松开时继续计时。
4. 数码管显示部分主要由数码管、总线、排阻(上拉电阻)构成. 单片机的P0、P2口通过总线和导线向数码管发送显示数字的二进制码使数码管显示。
数码管(7端数码显示管)为共阴集数码管高电平有效。
四设计电路全图五设计电路的程序#include<> // 头文件包含c51的基本I/O口和寄存器的定义#define uint unsigned int // 宏定义将“无符号整型 " 数据用 " uint " 代替#define uchar unsigned char // 宏定义将“无符号字符型 " 数据用 " uchar " 代替uchar temp,aa,shi,ge; // 定义4个无符号字符型数据 temp,aa,shi,ge;sbit sounder=P1^7; // 定义一个位变量sounder( 将P1^0口与位变量sounder建立联系 )uchar code table[]={ // 定义了一个无符号字符型数组 table 数据存放在程序存储器中0x3f,0x06,0x5b,0x4f, // 共阴数码管表 0,1,2,3,0x66,0x6d,0x7d,0x07, // 4,5,6,7,0x7f,0x6f,0x77,0x7c, // 8,9,a,b,0x39,0x5e,0x79,0x71} ; // c,d,e,f,void display(uchar shi,uchar ge); // 显示函数声明void delay(uint z) ; // 延时函数声明void init(void); // 初始化函数声明void main(void) // 主函数程序的入口{init(); // 调用初始化函数while(1) // while死循环循环判断变量始终为1{if(aa==20) // 判断定时是否为1秒{aa=0; // 每次循环后清零将aa( 定时器计时1秒清零 )temp--; // 时间递减计算if(temp<0){ // 到0后赋值24( 计数到达0秒后重新赋值24秒开始递减计时 )temp=24;}shi=temp/10; // 计算十位的数字ge=temp%10; // 计算个位的数字}display(shi,ge); // 调用显示函数EA=1; // 开总中断EX0=1; // 开外部中断INT0if(temp==0){sounder=0;while(1);}}}void display(uchar shi,uchar ge) // 定义显示函数{P0=table[shi]; //给P0口送显示值( 数码管的十位显示)delay(1); // 延时1毫秒P2=table[ge]; //给P2口送显示值( 数码管的个位显示)delay(1) ; // 延时1毫秒}void init(void) // 定义初始化函数{temp=25; // 定时器的计时时间TMOD=0x01; // 设置定时器0的工作方式为方式1 (16位计数器)TH0=(65536-50000)/256; // 定时器的高八位装初值TL0=(65536-50000)%256; // 定时器的高八位装初值EA=1; // 开总中断ET0=1; // 开定时器0的中断TR0=1; // 启动定时器0}void delay(uint z) // 延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void timer0(void) interrupt 1 using 0{TH0=(65536-50000)/256; //给定时器T0重装初值TL0=(65536-50000)%256;aa++;//定时器T0的累加计数}void exter0(void) interrupt 0 using 1{//外部中断INT0的函数}结论本次设计主要通过c语言的模块化思想,逐步实现所需达到的功能要求。
基于单片机篮球比赛24秒计时器设计
基于单片机篮球比赛24秒计时器设计_课程设计论文
课程设计(论文)题目名称基于单片机篮球比赛24秒计时器设计课程名称单片机原理及在电气测控学科中的应用系、专业电气工程系、电气测控类邵阳学院课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。
指导教师(签字):学生(签字):周新邵阳学院课程设计(论文)评阅表学生姓名刘标学号0941201062系电气工程系专业班级电气测控类09电本一班题目名称基于单片机篮球比赛24秒计时器设计课程名称单片机原理及在电气测控学科中的应用一、学生自我总结二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
目录摘要 (I)1 篮球计时器概述 (1)1.1 篮球竞赛24秒计时器功能 (1)1.2篮球计时器实物图 (1)1.3 主要参考器件 (2)1.4 单片机的概述 (2)1.4.1 AT89C51单片机简介 (2)1.4.2 AT89C51单片机引脚功能简介 (2)2 硬件设计 (4)2.1 设计原理 (4)2.2 硬件设计流程图............................................... 错误!未定义书签。
2.2.1 功能单元模块 (5)2.3 硬件设计电路图 (7)3 软件设计 (8)3.1 程序流程图 (8)3.2 程序设计 (9)3.3 仿真及仿真结果 (12)4 课程设计体会 (15)参考文献 (16)摘要篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
以下为一个篮球比赛计时器,该计时器采用按键操作、LED显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、6个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。
24秒篮球计数器设计(完美版)
24秒篮球计数器设计(完美版)第一章设计任务及要求1.1设计基本要求1. 具有24秒计时功能。
2. 设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能。
3. 在直接清零时,要求数码显示器灭灯。
4. 计时器为24秒递减时, 计时间隔为1秒。
5. 计时器递减到零时,数码显示器不能灭灯,蜂鸣器要报警、发光二极管亮灯。
1.2 设计任务及目标1.根据原理图分析各单元电路的功能2.熟悉电路中所用到的各集成块的管脚及其功能3.进行电路的装接、调试,直到电路能达到规定的设计要求4.写出完整、详细的课程设计报告第二章总体参考方案2.1 设计原理24秒计时器的总体参考方案框图如下图所示。
它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路(简称控制电路)等五个模块组成。
其中计数器和控制电路是系统的主要模块。
计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动计数、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。
24S设计总体框图555定时器主要是通过外接电阻R和电容器C构成充、放电电路,并由两个比较器来检测电容器上的电压,以确定输出电平的高低和开关管的通断。
用555定时器构成多谐振荡器电路如上图,电路没有稳态,只有两个暂稳态,也不需要外加触发信号,利用电源Vcc通过R14和R15向电容C充电,使Uc逐渐升高,升到2/3Vcc时,Uo跳变到低电平,放电端导通,这时,电容器C通过电阻R14和D端放电,使Uc下降,降到1/3Vcc时,Uo跳变到高电平,D端截止,电源Vcc又通过R15和R14向电容C充电。
如此循环,振荡不停,电容器C 在1/3Vcc和2/3Vcc之间充电和放电电路。
T=0.7C2(R1+2R2)=1.078s可近似1s,但是电路容易受温度及电阻电容精度影响,误差较大,适用于粗略的场合。
3.2 74LS192构成24减计数器24秒减法计数器采用74LS192设计,74LS192是十进制同步加法|减法计数器,采用8421BCD码编码,具有直接清零异步置数功能。
篮球24秒课程设计
3电路框图及工作原理3.1电路框图24秒计时器的总体参考方案框图如下图所示。
它包括时信号发生、计数、显示、声光报警、暂停和置数复位等六个模块组成。
其中计数器和控制电路是系统的主要模块。
计数器完成24秒计时功能.而控制电路完成计数器的直接清零、启动计数、暂停/连续计数;译码显示电路的显示与灭灯、定时时间到启动报警等功能。
信号发生器产生的信号要求是1HZ的方波脉冲,但是设计对此信号要求并不太高,故电路可采用含555集成定时电路组成的多谐振荡器构成。
译码显示电路由74LS48(译码器)和共阴极七段LED显示器组成。
报警电路可用发光二极管与蜂鸣器组成,进行声光报警。
图3-1 24秒计时器系统设计框图3.2设计方案该篮球竞赛倒计时电路的最重要的部分是24进制计数器,用 74LS192进行24进制同步减法计数。
同时选择74LS48作为BCD码译码器来对7段数码显示管进行译码驱动,选择两个七段数码显示管进行显示。
根据设计要求,本课程设计采用555定时器制成的多谐振荡器,对24进制计数器进行秒脉冲的输入。
在本设计中,因为我们需要对其进行暂停、清零、报警等控制,所以我们使用了三个开关来控制计数器的各功能的实现。
设计的电路如图2-2所示,不再赘述。
4单元电路设计与说明4.1时钟脉冲发生器秒脉冲产生电路,由555定时器和外接元件R1、R2、C等构成多谐振荡器。
下图:其中R1相当一个定时电阻决定C的放电的持续时间,起始时,电容C上电压V C因放电而下降,当其值低于下阈值1/3V CC时定时器被触发端触,输转换为高电平,+R2)C的常数趋向V CC。
当电容上释放电晶体管截止。
电容C开始充电,以(R1电压V C上升到上阈值2/3V CC时,输出又转换为低电平,并使放电晶体管导电。
电容C又重新通过R1和放电晶体管放电,近似以R2C的时常数趋向于零。
当电容C上电压下降到1/3V CC时,开始新的循环。
如此反复,定时器连续震荡,在输出端产生矩形脉冲在电容C上形成近似锯齿波的波形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.引言目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对时,分,秒。
数字显示的计时装置,广泛用于比赛,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
2 设计要求1、具有24s计时功能。
2、设置外部操作开关,控制计时器的直接清零、启动和暂停 /连续功能。
3、计时器为24秒递减时,计时间隔为1秒。
4、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。
5、有直接清零然后恢复到24秒,准备重新开始计数。
学生在教师指导下,综合运用所学知识完成基于单片机的篮球比赛24秒计时器设计。
要求设计一个24秒计时电路,并具有时间显示的功能。
要求:1、设置外部操作开关,控制计数器的直接清零、启动和暂停/连续计时。
2、要求计时电路递减计时,每隔1秒钟,计时器减1。
3、当计时器减到0时,显示器上显示00,同时发出光电报警信号。
3设计思路:选用AT89C51作为主控芯片,晶振是6KHz,机械周期为1ms,所以循环10次为1s。
P0口作为段码输出,P2.0、P2.1作为位控,高电平有效。
数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有效,启动T0定时器/计数器进行计数,低电平有效。
图2.2.1是系统硬件设计电路图一。
时间设置完后,启动定时器T0开始定时计数。
计时采用倒计时,比如:设置的时间为24秒钟,则在LED上显示24两位数。
定时T0计数24秒后中断返回,继续定时计数下一个24秒;同时则在2位LED显示器上显示,表示时间已经过去1秒钟,即为23秒。
这样一直持续下去。
知道变为“00”时表示赛程结束。
如果比赛中裁判叫停,则只要按下键,即可暂停计时。
3.1总体设计框图图1 倒计时设计总体框图4基本原理24秒计时器的总体参考方案框图如图1所示。
它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路(简称控制电路)等五个模块组成。
其中计数器和控制电路是系统的主要模块。
计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动计数、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。
秒脉冲发生器产生的信号是电路的时钟脉冲和定时标准,但本设计对此信号要求并不太高,故电路可采用单片机定时器。
译码显示电路由共阴极七段LED显示器组成。
报警电路在实验中用发光二极管和鸣蜂器。
主体电路: 24秒倒计时。
24秒计数芯片的置数端清零端共用一个开关,比赛开始后,24秒的置数端无效,24秒的倒数计时器的倒数计时器开始进行倒计时,逐秒倒计到零。
选取“00”这个状态,通过组合逻辑电路给出截断信号,让该信号与时钟脉冲在与门中将时钟截断,使计时器在计数到零时停住。
5硬件电路设计单片机STC89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
管脚说明VCC:供电电压。
AT89C51 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写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)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
图 2 AT89S52单片机引脚图6硬件电路图6.1时钟电路模块时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。
为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。
具体连接图如图3所示:图五报警电路7源程序# include<reg52.h># include<intrins.h># define uint unsigned int# define uchar unsigned charsbit w1=P2^0;sbit w2=P2^1;sbit key1=P3^2;sbit key2=P3^3;sbit key3=P3^4;sbit BEEP=P1^1;uint num,num1,shi,ge;uchar code table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--) ;}/*void delay1(uchar x) //x*0.14MS{uchar i;while(x--){for(i=0;i<13;i++) { }}}void beep(void){uchar i;for (i=0;i<50;i++){delay1(4);BEEP=!BEEP;}}/*按键扫描函数*/void keyscan(){if(key1==0){delay(5);if(key1==0){while(!key1);TR0=1;}}if(key2==0){delay(5);if(key2==0){while(!key2);TR0=0;while(!key3);num1=24;TR0=1;BEEP=1;}}}void init(){num1=24;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void display(uchar shi,uchar ge){P0=table[shi];w1=1; w2=0;delay(2);P0=table[ge];w1=0; w2=1;delay(2);if(num1==0){TR0=0;BEEP=0;}}void main(){init();while(1){keyscan( );if(num==20){num=0;num1--;}ge=num1%10;shi=num1/10;display(shi,ge);}}void time1( ) interrupt 1{TH1=(65536-50000)/256;TL1=(65536-50000)%256;num++;}8仿真结果9心得体会通过了三个星期的动手操作,我已经非常熟悉了计时器的工作原理。