1、具有 24s 计时功能。2、设立外部操作开关,控制计时器的直接清零、 启动和暂停 /连续功能。3、计时器为 24 秒递减时,计时间隔为 1 秒。4、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。5、有直接清零然后恢复到 24 秒,准备重新开始计数。学生在老师指导下,综合运用所学知识完毕基于单片机的篮球竞赛 24秒计时器设计。规定设计一个 24 秒计时电路,并具有时间显示的功能。规定:1、设立外部操作开关,控制计数器的直接清零、启动和暂停/连续计时。2、规定计时电路递减计时,每隔 1 秒钟,计时器减 1。3、当计时器减到 0 时,显示器上显示 00,同时发出光电报警信号。硬件电路:设计思绪:选用 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”时表达赛程结束。假如竞赛中裁判叫停,则只要按下键,即可暂停计时。 程序设计:根据以上流程图,可以用汇编语言编写出篮球计时器 24 秒倒计时程序,该程序涉及主程序,中断程序,延时程序以及显示程序。# include# include# define uint unsigned int# define uchar unsigned charsbit w1=p2^0; //十位位选sbit w2=p2^1; //个位位选sbit key1=p1^0; //按键为选码sbit key2=p1^1;sbit key3=p1^2;sbit BEEP=P2^7; //报警器控制位uint num,num1,shi,ge;uchar code table[ ]={0x3f,0x06,0x5b,0x4f, //数码管相应的段选码 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};void delay(unit z){ uint x,y; for(x=z;x>0;x--) for(y=1 10;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++){ delay 1(4); BEEP=!BEE...