DIY制作LED数码管定时器
8253定时器控制1位led数码管数字递增

8253定时器是一种集成了定时和计数功能的器件,它有3个16位的定时/计数通道,可以分别独立工作,也可以协同工作。
在本实验中,我们将通过8253定时器来控制一位led数码管,使其显示数字递增的效果。
1. 材料准备- 8253定时器- 一位led数码管- 电源- 连接线- 适配器2. 电路连接我们需要将8253定时器和led数码管连接起来。
具体的连接方式可以参考8253定时器和led数码管的 datasheet。
在连接时一定要注意极性和接线的正确性。
3. 代码编写我们使用C语言来编写控制8253定时器的程序。
我们需要包含相应的头文件,并定义8253定时器所需的控制寄存器等。
我们编写一个循环,每隔一定的时间改变8253定时器的计数值,从而控制led数码管上显示的数字递增。
具体的代码实现可以参考8253定时器的使用手册。
4. 程序调试编写完代码之后,我们通过编译、下载到目标设备并调试,确保程序能够正常运行。
在调试过程中,需要检查8253定时器和led数码管的连接是否正确,以及程序中是否存在逻辑错误等。
5. 实验效果经过以上步骤,我们可以看到led数码管上显示的数字会逐渐递增,这是通过8253定时器来控制的。
这个实验可以帮助我们更好地理解和掌握8253定时器的使用方法,也为我们后续的电子设计提供了一定的参考和基础。
通过本实验,我们不仅掌握了8253定时器的基本原理和使用方法,还锻炼了自己的动手能力和实际操作技能。
希望大家在实验的过程中能够认真对待,虚心学习,不断探索和创新,为自己的技术水平和能力提升打下坚实的基础。
8253定时器是一种非常常用的集成器件,具有非常广泛的应用领域。
在本实验中,我们将以控制led数码管显示数字递增的效果来学习和熟悉8253定时器的使用方法。
通过此实验,我们将深入了解8253定时器的工作原理,并通过实际操作来掌握其使用方法。
在材料准备阶段,我们需要准备8253定时器、一位led数码管、电源、连接线和适配器。
制作一个LED数码管显示的秒表

计算机科学与工程系实验报告实验题目:制作一个LED数码管显示的秒表班级:姓名:学号:日期:一、实验目的掌握单片机使用定时计数器控制LED数码管的设计与软件编程二、实验要求1、用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s;2、当第1次按下并松开计时功能键时,秒表开始计时并显示时间;3、第2次按下并松开计时功能键时,停止计时,计算两次按下计时功能键的时间,并在数码管上显示;4、第3次按下计时功能键,秒表清0,再按1次计时功能键,重新开始计时。
5、如果计时到9.9s时,将停止计时,按下计时功能键,秒表清零,再按下重新开始计时。
三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:使用外中断服务处理程序处理按键,内部设计一个计数器,记录按键按下的次数,根据按键次数完成相应的功能。
用数码管显示计时时间,根据按键的次数以及其功能来显示数字。
#include<reg51.h> //包含8051单片机寄存器定义的头文件unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef} unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char timer=0; //记录中断次数unsigned char second; //存储秒数unsigned char key=0; //记录按键次数main() //主函数{TMOD=0x01; //定时器T0方式1定时ET0=1; // 允许定时器T0中断EA=1; // 总中断允许second=0; //设初始值P0=discode1[second/10]; //显示秒位P2=discode2[second%10]; //显示0.1S位while(1) //循环{if((P3&0x80)==0x00) //当按键被按下时{key++; //按键次数加一switch(key) //根据按键次数分三种情况{case 1: //第一次按下为启动秒表表示TH0=0xee; //TL0=0x00; //TR0=1; //break; //case 2: //按下两次暂停秒表TR0=0; //break; //case 3: //按下三次秒表清零key=0; //second=0; //P0=discode1[second/10]; //P2=discode2[second%10]; //break;}while((P3&0x80)==0x00); //如果按键时间过长在此循环}}}}void int_t0() interrupt 1 using 0 //定时器T0中断子程序{TR0=0; //停止计时,执行以下操作(计时出现误差)TH0=0xee; //向TH0写入初值的高8位TL0=0x00; //向TL0写入初值的低8位,定时5mstimer++; //记录中断次数if (timer==20) //中断20次,20*5ms=100ms=0.1s{timer=0; //中断次数清0second++; //加0.1sP0=discode1[second/10]; //根据计时时间,即时显示秒位P2=discode2[second%10]; //根据计时时间,即时显示0.1s位}if(second==99) //当计时到9.9s时{TR0=0; //停止计时second=0; //秒数清0key=2; //按键数置2,当再次按下按键时,key++,即key=3,秒表清0复原}else //计时不到9.9s时{TR0=1; //继续计时}}五、仿真运行效果展示1、第一次按键,秒表开始计时,并计时到9.92、2次按键,停止计时,将计时的时间值送到数码管显示3、第3次按下计时功能键,秒表清零六、实验小结在实验的过程中,出现过几次错误,自己对理论知识了解的还不够透彻,所幸,通过自己思考解决了。
利用单片机DIY制作的数显可调定时器

利用单片机DIY制作的数显可调定时器(附制作的全部资料)详细说明
摘要:
随着电子技术的不断发展,人们生活水平的不断提高,充电型电子设备的种类和数量也跟着迅猛发展,尤其是电动车和手机。
这些电子设备在给我们生活和工作带来便捷的同时,充电的问题也使得人们不厌其烦,电动车大约需要充电8小时左右,手机大约需要充电3小时左右,然而当充电结束后,人们经常忘记拔掉电源,更有甚者给电池充电达数天,这对电池的功能和使用寿命无疑是一种破坏。
介于此,笔者萌生了自己动手设计制作一个数显可调定时器的想法,来解决一些生活中的问题。
数显可调定时器原理介绍
通过小时和分钟的“加”“、减”按键对需要的定时时间进行预设,确定无误后,按下启动按键,定时开始,这时,数码管便会从预设时间开始倒计时,同时充电发光二极管每秒闪烁一次,当计时到零后,充电发光二极管由闪烁状态变成常亮,继电器动作,切断充电电源。
假如电路在运行时出现故障或者运行错误,需要按单片机的
复位键,然后对定时时间重新调整后,按启动按键,重新开始定时。
电路框图如图1所示。
电路原理图如图2所示。
图1 电路方框图
图2 电路原理图。
实验四 LED数码管显示实验报告

实验名称 LED数码管显示实验指导教师曹丹华专业班级光电1202班姓名陈敬人学号联系电话一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。
实验内容:1.基础部分:利用C8051F310单片机控制数码管显示器。
利用末位数码管循环显示数字0-F,显示切换频率为1Hz。
2.提高部分:在数码管上显示0→199计数,计数间隔为0.5秒。
二、设计思路1.基础部分C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,T1采用定时器工作方式1,单次定时最长可达1.027s,可以实现1s定时要求。
定时采用软件查询工作方式,利用JNB TF0, HERE实现。
置P0.6和P0.7端口为0,位选信号选定末位数码管。
通过MOVC A, @A+DPTR指令,利用顺序查表法取出显示段码数据。
寄存器R0自增1,并赋给A以取出下一个显示段码数据。
为减短代码长度,利用CJNE指令实现循环结构。
当寄存器R0增至0FH后,跳转至开头,重新开始下一轮显示。
2.提高部分定时方式及查表方式同基础部分,由于要实现三个数码管同时显示,因此采用动态扫描显示法。
三、资源分配1.基础部分P0.6: 位选信号端口P0.7:位选信号端口P1:输出段码数据R0:存放显示数据DPTR:指向段码数据表首 2.提高部分P0.6:位选信号端口P0.7:位选信号端口R0:存放个位显示数据 R5:存放十位显示数据 R6:存放百位显示数据 P1:输出段码数据DPTR: 指向段码数据表首四、流程图1.基础部分2.提高部分五、源代码(含文件头说明、语句行注释)1.基础部分;******************基础部分源代码***************************;Filename: test.asm;Decription: 末位数码管循环显示数字0-F,显示切换频率为1Hz。
简易定时装置制作方法

简易定时装置制作方法
在生活中,常常需要使用定时器来控制某些设备的启动和停止时间,
比如智能灯带、排气扇等,而现成的定时器价格并不便宜,或者说功
能可能并不符合要求。
因此,DIY一个简易的定时器是一个很好的选择。
下面,就来阐述一下这种方法。
步骤一:准备材料
在制作定时器之前,首先要准备好相关的材料。
这里我们需要准备一
个12V直流电源、一个继电器、一个数码管时钟模块,一些跳线、杜
邦线及插针等电子元件。
步骤二:切割外壳
将塑料外壳沿着纵向和横向各自切割一个小口,成"U"字形,这样就能
将电源和电路板插入。
步骤三:接线
将12V直流电源的正极接到继电器上的NO(常开)接头,负极接到继
电器上的COM(公用)接头,数码管时钟模块上的VCC、GND分别接到
直流电源的正负极上,另外,数码管时钟模块上也有几个引脚需要接,如CLK引脚、DIO引脚等。
跟据线路图,将这些引脚分别连接起来。
步骤四:设置定时时间
将数码管时钟模块的按键按下,进入设置时间模式,通过按键设置好
定时时间,然后按下“OK”键进行确定即可。
步骤五:测试
使用万能表或者直接连接需要控制的设备进行测试,检测是否达到预
期效果。
除了这种基本的DIY定时器制作方法,还可以根据不同的要求增加一些额外的元件和功能,如增加温度传感器,控制设备的温度,或者添加蜂鸣器,让定时器在倒计时结束时提醒用户等。
总之,通过DIY制作简易的定时器,不仅能够满足个人需求,还可以加深对电子原理的了解,并且相较于已有的定时器,价格更优惠。
定时器实现时钟送数码管显示+独立键盘设置时间

定时器实现时钟送数码管显示+独立键盘设置时间前言 (2)任务书······················································································································3·1.方案选择1.1.键盘设计 (4)1.2.门电路设计 (5)1.3.显示电路 (5)2.硬件电路及参考程序2.1基于proteus仿真的硬件电路 (7)2.2参考程序 (8)3试验调试3.1 硬件电路的连接 (14)3.2.硬件电路的调试 (14)4试验结论 (14)5心得体会 (15)6参考文献及元器件引脚图6.1参考文献 (20)6.2 元器件引脚图 (21)6.3AT89C51的若干时序 (23)6.4硬件电路图 (24)6.5元器件清单 (26)前言随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
LED数码管时钟程序
delay(10);
P2=duma[hour_l];
P0=wema[1];
delay(10);
}
//---------------------主函数--------------------------------
/*void alarm_clock() //闹钟子函数-变频发声
LED数码管时钟程序
/***使用定时器方式,数码管显示24小时“00-00-00”(增加进入对时功能)
P1为按键,P2为段选,P0为位选,{闹钟暂时不可调待完善})***/
#include <reg52.h>
#define uchar unsigned char /*宏定义 */
#define uint unsigned int /*宏定义 */
uchar hour,hour_h,hour_l; /*定义小时,小时的高位,小时的低位*/
uchar min,min_h,min_l; /*分*/
uchar sec,sec_h,sec_l; /*秒*/
uchar int_num; /*定时溢出作用标号*/
sbit key_secadd=P1^1; /*定义了 p1.1为秒增1键,用在调时中断里*/
sbit bell=P1^5; //小喇叭
void delay(uchar time); /*延时子函数声明*/
void display(); /*显示子函数声明*/
void inter_init(); /*定时器初始化子函数声明*/
void time24();
/****专用数码管显示表***/
TL0=(65535-50000)%256;
用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计
目录一、设计题目和要求: (2)二、设计目的: (2)三、设计内容: (3)四、课程设计心得体会 (25)五、参考文献 (26)六、课程设计指导教师评审标准及成绩评定 (27)附件1:秒表原理图(实际接线图) (28)附件2:仿真图1 (30)附件3:仿真图2 (31)一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
三、设计内容:了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:振荡器和时钟电路数据存储器128字节程序存储器14KBCPU 两个16位定时器计数器中断控制总线扩展控制器并行可编程I/O口可编程串行口内部总线外部中断扩展控制P0 P1 P2 P3 RXD TXD1.单片机的中央处理器(CPU )是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
定时器控制led灯闪烁实验报告
定时器控制LED灯闪烁实验报告引言本实验旨在通过使用定时器控制LED灯的闪烁,演示定时器在嵌入式系统中的应用。
通过本实验,我们可以深入了解定时器的工作原理以及如何使用它来实现各种定时功能。
实验器材•STM32F407开发板•杜邦线•LED灯•电阻实验步骤步骤一:准备工作1.将STM32F407开发板与计算机通过USB线连接。
2.在计算机上安装Keil软件,并打开工程文件。
3.将LED灯连接到开发板的GPIO引脚。
4.在Keil软件中配置GPIO引脚为输出模式。
步骤二:编写程序1.在程序的头文件中引入相应的库文件。
2.在代码中定义LED灯所连接的GPIO引脚。
3.初始化LED灯所连接的GPIO引脚,并设置为输出模式。
4.配置定时器的工作模式和频率。
5.启动定时器。
6.在无限循环中读取定时器的计数器值,并通过判断计数器值的大小来控制LED灯的亮灭状态。
步骤三:烧录程序1.将开发板与计算机通过USB线连接。
2.打开Keil软件,点击烧录按钮,将程序烧录到开发板中。
步骤四:实验验证1.确保程序已成功烧录到开发板中。
2.接通开发板的电源,观察LED灯的闪烁状态。
结果与分析经过实验验证,LED灯按照预定的频率闪烁,证明定时器工作正常。
通过调整定时器的频率,可以控制LED灯的闪烁速度,进一步验证了定时器的功能。
实验总结通过本实验,我们深入了解了定时器的工作原理,并成功实现了定时器控制LED灯的闪烁功能。
定时器在嵌入式系统中具有广泛的应用,可以用于定时中断、测量时间等功能。
在今后的学习和应用中,我们可以灵活运用定时器,提高嵌入式系统的稳定性和性能。
参考文献暂无参考文献。
附录无序列表:•STM32F407开发板•USB线•LED灯•电阻有序列表:1.准备工作1.将STM32F407开发板与计算机通过USB线连接。
2.在计算机上安装Keil软件,并打开工程文件。
3.将LED灯连接到开发板的GPIO引脚。
4.在Keil软件中配置GPIO引脚为输出模式。
一种带有LED照明装置的智能电子闹钟的制作方法
一种带有LED照明装置的智能电子闹钟的制作方法引言随着科技的进步,智能电子设备在我们的生活中变得越来越重要。
本文介绍了一种制作带有LED照明装置的智能电子闹钟的方法。
该闹钟不仅具有基本的闹钟功能,还可以通过LED灯提供照明,并根据用户的需求进行调节。
材料准备在开始制作之前,我们需要准备以下材料:1.Arduino Nano开发板2.DS3231实时时钟模块3.16x2 LCD显示屏4.4位7段数码管5.蜂鸣器6.电位器7.LED灯带8.面包板和杜邦线9.电阻和电容等常用元件10.电池和电池盒(可选)硬件连接1.将Arduino Nano与DS3231时钟模块连接。
使用杜邦线将SCL引脚连接到A5引脚,SDA引脚连接到A4引脚。
2.连接16x2 LCD显示屏。
使用杜邦线将VCC引脚连接到5V引脚,GND引脚连接到GND引脚,SCL引脚连接到A5引脚,SDA引脚连接到A4引脚。
3.连接4位7段数码管。
连接4个数码管的公共引脚到Arduino Nano的引脚6、7、8和9上,连接4个数码管的段引脚到Arduino Nano的引脚2至5上。
4.连接蜂鸣器。
连接一端到Arduino Nano的GND引脚,另一端连接到数字引脚10。
5.连接LED灯带。
连接LED灯带的VCC引脚到Arduino Nano的5V引脚,GND引脚到GND引脚。
软件编程在制作电子闹钟时,我们需要编写一些代码来控制硬件和实现闹钟功能。
首先,我们需要包含所需的库文件。
在Arduino IDE中,我们可以包含Wire.h库来操作DS3231实时时钟模块,LiquidCrystal_I2C.h库来操作LCD显示屏,以及LedControl.h库来操作数码管。
接下来,我们需要定义一些变量。
我们可以设置闹钟的时间、日期和闹钟状态等变量。
此外,我们还可以定义灯光亮度的变量,以便后续调节。
然后,我们需要设置Arduino板的引脚模式。
我们可以将数码管的引脚设置为输出,以及LCD显示屏的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从构思到实体出来花了我一个月的课外时间,大家支持一下我的DIY精神吧。
由于只有一个数码管,只能显示0到15,所以这个定时器可以定时0到15分,0到15个小时,0到15天,0到15个星期,本来想在程序中加上定时0到15个月,但想想在实际情况中定时15个月都有一年多了,估计好少用到,就不写了。
这个定时器我加上了继电器,所以可以控制220V交流电,且定时误差在几个毫秒内,还算精确吧。
先来几张初期的原理图:ﻫ
ﻫﻫ下面是单片机的源程序:ﻫ#include<reg52.h>ﻫ#defineuint unsignedintﻫ# defineuchar unsigned charﻫsbit ledg=P1^0;//秒闪烁(一秒钟亮一秒钟灭)ﻫsbit led b=P1^1;//分闪烁(一分钟亮一分钟灭)
sbit fmq=P3^3;//蜂鸣器
sbit ledx=P3^4;//定时星期指示灯ﻫsbit ledt=P3^6;//定时天指示灯
sbit ledf=P3^5;// 定时分钟指示灯
sbit leds=P3^7;//定时小时指示灯
sbit key1=P1^6;// 启动|暂停ﻫsbitkey2=P1^5;//调整定时分钟
sbitkey3=P1^4;// 调整定时小时ﻫsbit key4=P1^3;// 调整定时天
sbitkey5=P1^2;// 调整定时星期ﻫsbitjdq=P1^7; //继电器
uinti,j,num,num1,num2,num3,num4,num5,num6;
uchar shi,temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,dsf,dss,dst,
dsx;ﻫuchar codeshuju[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};ﻫvoiddelayms(uintxms)ﻫ{ﻫfor(i=xms;i>0;i--)ﻫfor(j=110;j>0;j--);
}ﻫvoid display(shi)ﻫ{ﻫP2=shuju[shi];
}ﻫvoidkeyscan()
{
uchari;
if(key1==0)ﻫ{
delayms(10);ﻫif(key1==0)ﻫ{
ledb=0; //把分闪烁指示灯调用来指示启动|暂停ﻫwhile(i==0&&P2!=0xC0)
{ﻫTR0=~TR0;//启动|暂停
i++;
}ﻫif(TR0==1)
{ﻫledb=1;//把分闪烁指示灯调用来指示启动|暂停ﻫ}
elseﻫ{ﻫTR0=0;
}
}ﻫ}
if(key2==0&&TR0==0)
{ ﻫdss=0;// 定时小时清零
dst=0; //定时天数清零
dsx=0; // 定时星期清零ﻫtemp1=1; //进入switch-caseﻫdelayms(10);
}ﻫif(key3==0&&TR0==0)
{ﻫdsf=0;
dst=0;ﻫdsx=0;
temp2=1;ﻫdelayms(10);ﻫ}ﻫif(key4==0&&TR0==0)
{ﻫdsf=0;
dss=0;
dsx=0;ﻫtemp3=1;ﻫdelayms(10);ﻫ}
if(key5==0&&TR0==0)
{ﻫdsf=0;ﻫdss=0;
dst=0;ﻫtemp4=1;ﻫdelayms(10);ﻫ}ﻫswitch (temp1) {
case1:ﻫif(key2==0)
{
leds=1;//关闭定时小时指示灯
ledt=1; //关闭定时天指示灯ﻫledx=1;//关闭定时星期指示灯ledf=0;//打开定时分钟指示灯ﻫledg=1; //关闭秒闪烁
ledb=1; //关闭分闪烁
jdq=0;//关闭继电器
dsf++; // 分钟加加
shi=dsf;//把分送去显示
if(dsf==16)ﻫ{
shi=0;ﻫdsf=0;
}
while(!key2);ﻫtemp1=2;
temp5=1;ﻫnum2=dsf;ﻫtemp6=2;
temp7=2;
temp8=2;ﻫ}
break;ﻫ}
switch(temp2)
{
case 1:ﻫif(key3==0)
{
ledf=1;ﻫledt=1;ﻫledx=1;
leds=0;
jdq=0;
ledg=1;ﻫledb=1;
dss++;ﻫshi=dss;
if(dss==16)
{
shi=0;ﻫdss=0;ﻫ}
while(!key3);ﻫtemp2=2;
temp6=1;
num4=dss;
temp5=2;ﻫtemp7=2;
temp8=2;ﻫ}ﻫbreak;ﻫ}
switch (temp3)ﻫ{ﻫcase 1:ﻫif(key4==0) {
ledf=1;
leds=1;ﻫledx=1;ﻫledt=0;ﻫjdq=0;
ledg=1;
ledb=1;ﻫdst++;ﻫshi=dst;ﻫif(dst==16){ﻫshi=0;ﻫdst=0;ﻫ}
while(!key4);
temp3=2;
temp7=1;
num5=dst;ﻫtemp5=2;
temp6=2;
temp8=2;ﻫ}
break;
}ﻫswitch (temp4)
{ﻫcase1:ﻫif(key5==0)
{
ledf=1;
leds=1;
ledt=1;ﻫledx=0;
jdq=0;
ledg=1;ﻫledb=1;ﻫdsx++;ﻫshi=dsx;
if(dsx==16)ﻫ{ﻫshi=0;
dsx=0;ﻫ}ﻫwhile(!key5);
temp4=2;ﻫtemp8=1;
num6=dsx;
temp5=2;
temp6=2;ﻫtemp7=2;ﻫ}
break;
}
switch(temp5)ﻫ{ﻫcase 1:ﻫif(num==3686)
{
num=0;
ledg=~ledg;
num1++;
}
if(num1==60)
{
num1=0;
num2--;
shi=num2;ﻫif(num2==0)ﻫ{
jdq=1;
TR0=0;
}
}ﻫbreak;
}ﻫswitch (temp6)ﻫ{ﻫcase1:ﻫif(num==3686) {
num=0;
ﻫﻫif(num1==60)
ledg=~ledg;ﻫnum1++;ﻫ}
{
num1=0;ﻫledb=~ledb;
num3++;
if(num3==60)ﻫ{ﻫnum3=0;
num4--;ﻫshi=num4; ﻫ}
if(num4==0)ﻫ{ﻫjdq=1;
TR0=0;
}ﻫ}
break;
}
switch(temp7)
{
case 1:
if(num==3686)ﻫ{
num=0;ﻫledg=~ledg;
num1++;
}ﻫﻫif(num1==60)ﻫ{ﻫnum1=0;
ledb=~ledb;ﻫnum3++;
if(num3==1440)ﻫ{ﻫnum3=0;ﻫnum5--;
shi=num5; ﻫ}ﻫif(num5==0)ﻫ{
jdq=1;ﻫTR0=0;ﻫ}ﻫ}ﻫbreak;
}
switch(temp8)ﻫ{ﻫcase 1:ﻫif(num==3686)ﻫ{ﻫnum=0;ﻫledg=~ledg;ﻫnum1++; }
if(num1==60)ﻫ{ﻫnum1=0;ﻫledb=~ledb;
num3++;
if(num3==10080)ﻫ{ﻫnum3=0;
num6--;
shi=num6; ﻫ}ﻫif(num6==0)ﻫ{
jdq=1;ﻫTR0=0;ﻫ}ﻫ}
break;
}
}
ﻫvoid main()
{ﻫTMOD=0x02;ﻫTH0=6;ﻫTL0=6;
EA=1;ﻫET0=1;ﻫjdq=0;ﻫwhile(1)
{ﻫkeyscan();ﻫdisplay(shi);ﻫwhile(jdq==1&&P2==0xC0)ﻫ{
fmq=0;
ledg=1;ﻫledb=1;ﻫ}ﻫ}ﻫ}ﻫvoidT0_time()interrupt 1
{
num++;ﻫ}ﻫ
全部全代码下载:http://www.51he/f/ledccr.rarﻫ这是洞洞板绘图软件画的电路图:
ﻫﻫ。