单片机课程设计(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. 监听开始/停止按钮的按下事件,根据按钮状态来控制计时器的启动和停止。
- 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心得体会通过了三个星期的动手操作,我已经非常熟悉了计时器的工作原理。