单片机99秒计时器
倒计时
单片机原理及应用
题目:基于单片机的99秒计时器
班级:109070402
学号:10907990135
姓名:张洁
基于单片机的99秒倒计时
一、设计概述
单片机具有体积小,成本低,抗干扰能力强,在控制方面,可以实现分机各分布式控制的优点。本次99秒倒计时的设计就是利用单片机的这些特点,设计而成的。它在实际生活中也有广泛的应用。(1)系统的设计背景
计时器在单片机模块中式非常常见的一个模块,计时器是一种用数字电路技术实现计时的装置,雨机械时钟相比具有更高的准确性与直观性,而且使用寿命比较长。本次设计的0—99秒倒计时器是在计时器的基础上设计而成的。
通过对基于单片机控制的倒计时器的设计过程,让我对单片机的知识及其应用有了更进一步的了解,巩固了自己对单片机知识的掌握。
采用单片机设计此倒计时器,既可以节约成本,又可以实现其功能。而且此倒计时器,无论是从硬件方面还是软件程序设计方面都比较简单。
(2)系统主要功能及作用
99秒倒计时器主要用于精确计时方面。例如:答题倒计时,定时自动启动关闭路灯等方面。它通过一个按键来控制它的开和停,能够及时有效的记录瞬时时间。
此倒计时器具有基本的计时功能,并且具有启动,暂停复位的功能,时间用数码管显示,初始值为99秒,第一次按下按键时开始计
时,第二次按下按键后计时停止。此倒计时器可以应用于一些抢答倒计时。
二、硬件电路的设计
1、系统的硬件构成及功能
99秒计时器的原理框图如下:
其电路图如下所示:
它由以下几个部分组成:单片机AT89C51、静态数码显示、按键及其他组件组成。
2、AT89C51单片机及其引脚说明
99秒计数器
课程设计说明书
课程名称:《单片机原理及其在煤矿中的应用》
设计题目:99秒计数器设计
院系:
学生姓名:
学号:
专业班级:
指导教师:
2013年12月27 日
课程设计任务书
摘要:本设计以AT89C51单片机为主控模块,利用汇编语言编写数码管静态显示的专用程序来实现两位数码管静态显示系统,系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。复位电路采用上电自动复位来实现。时钟通过外部12M的晶振来控制。两位数码管显示由两个共阳极的三极管进行驱动。将汇编语言编写的两位数码管动态显示程序写入单片机来控制P2口,使数码管相应段点亮,同时利用人眼视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码的动态显示。关键词:AT89C51;两位数码管;
目录
1.设计背景 (5)
1.1单片机简介 (5)
1.2单片机发展前景 (5)
1.3共阳极数码管的显示方法 (6)
1.4共阳极数码管的驱动设计 (6)
1.5设计要求 (7)
2.设计方案 (7)
2.1共阳极数码管静态显示 (8)
2.2共阳极数码管动态显示 (8)
2.3数码管静态与动态显示的优缺点比较 (9)
2.4晶振输入电路设计 (9)
2.5复位电路设计 (9)
3.方案实施 (10)
3.1设计目的 (10)
3.2硬件电路的分析 (11)
3.3电源电路设计 (13)
3.4 复位及振荡电路 (13)
3.5数码管显示 (13)
3.6连接方式 (13)
单片机课程设计-99S秒表
单片机课程设计说明书
学院:
专业:
班级:
指导老师:
姓名:
学号:
2012年6月
【摘要】:
随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加深。秒表计时器秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制做简易的秒表。
[关键词]
机械计时器启/停开关数码管显示简易
目录
1.设计任务 (4)
2.设计题目 (4)
3. 功能分析 (4)
4. 总体设计 (4)
4.1硬件设计
4.1.189C51单片机 (4)
4.1.2晶体振荡电路 (5)
4.1.3按键电路 (6)
4.1.4显示电路 (6)
4.2引脚控制 (6)
5. 电路原理图 (8)
6. 程序设计 (9)
7. 程序仿真 (11)
8. 实物制作 (11)
8.1所需元件 (11)
8.2所需工具 (11)
8.3焊接 (11)
8.4烧录程序并运行 (12)
9.心得体会 (12)
10.参考文献 (12)
单片机原理及应用课程设计说明书
1、设计任务
以单片机为核心,设计一个0-99S秒表,按键时具有计时功能。
2、设计题目
定时器控制8段2位数码LED显示秒表
3、功能分析
采用2个LED数码管显示时间,计时范围设置为0~99.秒,即精确到1秒,用按键控制秒表的“开始”、“暂停”。按开关按键,开始计时;再按开关按键,系统暂停计时;
4、总体设计
本实验利用单片机的定时器/计数器定时和计数的原理,通过采用Proteus仿真软件来模拟实现。模拟AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计时的开启、暂停、继续。其中有两个数码管来显示数据,两个数码管显示秒(两位)。
99秒倒计时器
单片机课程设计
摘要
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
关键词:AT89C51 LED数码管显示器晶体振荡器
目录
摘要..................................................................... I
第一章概述 (1)
1.1 课程设计目的 (1)
1.2 总体设计 (1)
第二章硬件电路 (2)
单片机99S倒计时课程设计
课程设计
课程名称:__单片机课程设计
题目名称:__倒计时器设计
学生学院:_物理与光电工程学院
专业班级:_光信息科学与技术10(1)班学号:_XXXXXXX_
2012年12月3日
摘要 (2)
一、本设计任务、实现方法及完成的功能 (3)
1、功能要求 (3)
2、实现方法 (3)
二、设计的实现过程 (3)
1、矩阵电路 (4)
2、数码显示和驱动电路 (4)
3、复位电路 (5)
4、晶振电路 (6)
三、系统的软件设计 (4)
1、按键扫描函数ankey() (4)
2、动态数码管显示函数 (5)
3、初始化函数设计 (6)
4、中断函数设计 (6)
四、总体程序 (7)
五、结束语 (12)
倒计时课程设计
一:课程设计的要求
1、功能要求:
实现最长99S的倒计时功能;利用数码管或液晶屏显示数字;利用按键可以设置倒计时时间;设置倒计时开始启动键;时间到,声(光)报警,示意倒计时时间到。
2、实现方法:
单片机采用51系列,分析功能要求,设计方案,编写程序(keil c51 软件),利用Proteus 进行仿真。
二:设计的实现过程
1.proteus仿真下总原理框架图如下
接线:
(1)、XTAL1、XTAL2为晶振接入
(2)、RST为清零电路接入
(3)、P1口为键盘电路接入
(4)、P2口为数码管的段选
(5)、P3..7为LED的选通
(6)、P0.6、P0.7分别为数码管的十位、个位的选通
原件清单:
AT89C51单片机1个、1k电阻3个、12MHz晶振1个、33pF电容1个、1uF电容1个、10uf 的电容一个、独立按键1个、4行3列矩阵按键1个、LED指示灯1个、两位动态共阴数码
单片机99秒倒计时课程设计用74ls246
单片机99秒倒计时课程设计用74ls246
首先需要明确的是,经典的倒计时电路设计使用的是74LS192或74LS193计数器芯片,而74LS246是一个8位三态缓冲器,与倒计时电路设计关系不大。
下面给出使用74LS192或74LS193实现99秒倒计时的电路设计流程简述:
1. 确定时钟源
在倒计时电路中,需要一个时钟源来驱动计数器进行计数。可以使用555定时器或水晶振荡器作为时钟源。
2. 设计计数器
使用74LS192或74LS193计数器芯片设计倒计时电路,需要考虑电路的初始状态以及计数器输出的电平状态。
3. 确定触发计数的条件
可以使用按键或外部信号触发计数开始。在计数进行的过程中,需要在常开触点上接入继电器,当倒计时完成时,继电器断开触点,使接入的负载失去电源。
4. 设计显示器件
倒计时电路需要一个显示设备,可以使用LED或七段数码管等显示设备。在使用七段数码管时,需要使用译码器将计数器的当前值转化为七段数码管的驱动信号,以实现数字显示。
以上是倒计时电路设计流程的简述,具体实现过程涉及到电路原理图的绘制、元器件的选型和焊接调试等环节,在设计过程中需要注意选用合适功耗和电性能指标的元器件,并加以保护,以确保电路的安全性和稳定性。在实现过程中,应遵循相关的安全要求和规范,特别是对于高电压和高温度的电路部分,需要注意安全操作和防危控制。
99秒倒计时 说明
(一)99秒倒计时计数器
一、设计思路:
上电显示99,当发出计时信号开始倒计时,直到0结束计时。
二、设计目的:
1.了解单片机最小系统的设计和工作原理
2.掌握数码管显示原理
3.掌握基本的单片机控制思想及C语言单片机的编程思想
三、工作原理说明:
因为是99秒倒计时,运用单片机的定时器0来精确地定时,并通过单片机的控制在数码管上循环显示,并附加功能为上电为99,当按下按钮开关为发送的开始计时信号,即按下开关开始倒计时,直到0为止。
四、硬件:
单片机、两位一体数码管、排阻、锁存器等
五、程序设计:
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
uchar shi,ge,aa,temp;
uchar code table1[]={0x04,0x02};
sbit D=P3^0;
sbit D1=P1^1;
sbit D2=P1^2;
sbit D3=P0^0;
sbit D4=P0^1;
void inital()
{ temp=99;
D1=1;
D2=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void delay(uint c)
{ int a,b;
for(a=c;a>0;a--)
for(b=110;b>0;b--);
基于单片机的99秒表设计
MAIN: MOV SP, #60H MOV R4,#20 MOV TMOD,#01H MOV T H0,#03CH MOV TL0,#0B7H SETB ET0 SETB EA
附录 程序清单
;12M晶振时定时初值取#3CB7H
毫秒值加1
毫秒缓冲清零 秒值加1
秒显缓冲清零 分显示加1
分显示清零 现场恢复
Hale Waihona Puke Baidu
Y Y
图3 中断程序流程图 五、仿真结果与结论 1、数字式秒表准备状态仿真的显示如图4所示
图4 准备计时状态 2、数字式秒表运行状态的仿真如图5所示
图5 计时器状态 结论:我们可以发现数字式秒表计数一段时间的我们的标 准时间相比较出现了误差,所设计的数字式秒表比我们的标准
LED数码显示器有如下两种连接方法:共阳极接法:把发 光二极管的阳极连在一起构成公共阳极,使用时公共阳极接 +5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极 接法:把发光二极管的阴极连在一起构成公共阴极,使用时公 共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。
显示部分方案:显示部分采用动态显示。数码管动态显示 接口是单片机中应用最为广泛的一种显示方式之一,动态驱动 是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,h"的同名端连 在一起,另外为每个数码管的公共极COM增加位选通控制电 路,位选通由各自独立的I/O线控制,当单片机输出字形码 时,所有数码管都接收到相同的字形码,但究竟是那个数码管
基于单片机的00秒_99秒的秒表设计说明
课程设计
题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业: 12自动化(2)班
学号: 3
姓名:华
指导教师:蜀阳
日期: 2015年6月17日
目录
一、设计题目和要求:1
二、设计目的:1
三、设计容:2
四、课程设计心得体会18
五、参考文献18
一、前言
21世纪是一个电子技术和电子元件有更大发展的世纪。回顾百年来电子技术和电子工业发展的成就,举世瞩目。作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。课程设计就是一个理论联系实际的机会。本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。
二、设计题目和要求:
秒表
应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
99秒计时器
洛阳理工学院课程设计报告
课程名称:电子工程设计
设计题目:99秒计时器设计
系别:电气工程与自动化
专业:自动化
组别:七班第二小组
成员:韩文丽B09040702
丛林涛B09040707
王光辉B09040722 指导教师:姚惠林
用AT89C51设计99秒定时器
引言
单片机具有体积小、成本低、抗干扰能力强、面向控制、可以实现分机各分布式控制等优点。本秒表设计就是利用单片机的上述优点,采用目前市场上性能价格比较高的MCS-52单片机设计而成的最小系统。它在实际生活中具有广泛的应用。例如:工业生产中的定时启停自动化设备、学校中上下课铃定时控制、农村广播站每天早中晚广播的自动定时控制均可采用本仪器。
秒表的概述
秒表是电器制造,电国,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、廷时器、定时器等的时间测试。目前所使用的电秒表大多是指针式或集成电路型的,结构相对复杂、测试功能单一。但我们这次设计的秒表比较简单,所以使用很简单。
本设计任务
利用AT89C51单片机来制作一个手动计数器,在AT89C51单片机的P3.5管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如下图所示。
(1.开始时,显示“00”,第1次按下SP1后就开始计时。
(2.第2次按SP1后,计时停止。
(3.第3次按SP1后,计时归零。
系统主要功能
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
9创新实践实训报告
学院信息电子技术学院
专业电子信息工程
班级14
学籍号
姓名
指导教师蒋野
2017年06月29日
单片机控制秒表电路
一、电路工作原理
1.工作原理
用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。如图。
本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用
(1)STC89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
(2)时钟电路作用是为电路提供唯一的时钟信号。
(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。
(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.
99秒倒计时+按键控制详解
江苏建筑职业技术学院课程设计报告
课程名称:单片机设计与实训
设计题目:秒计时
系别:信息电子工程学院
班级:电子10-1
学号:1050213127
姓名:周中楠
指导教师: 刘天飞、刘燎原
摘要:本系统讨论了简单的倒计时器的设计与制作,最大倒计时时间是99秒,最小单位精确到秒。是利用定时器和计数器的原理将倒计时过程显示在LED数码管上。此系统是基于AT89S52单片机控制,外加数码管显示倒计时时间,并且利用按键来进行倒计时时间的设定。当倒计时时间倒计时为0时,蜂鸣器就会发出报警声。首先我们先做的是99秒倒计时至0时,在设计的Proteus中进行仿真,数码管显示倒计时,蜂鸣器就会发出声音。其中包括有数码管延时程序,中断定时程序。其次我们设置键盘扫描程序,设置键盘的按键有13,14,15键分别为暂停/开始、设置、重新开始。根据题目要求编写程序,一步步的编写程序。定义13按键用count1来控制是暂停还是开始;14按键在暂停的情况下按下(即falg_zt=1时)才可以设置时间;15按键按下开始重新开始。然后分别在采用软件程序进行译码,在Proteus中仿真实现功能要求。
关键词:单片机(AT89S52);LED数码管显示器;keil C;proteus仿真软件;晶体振荡器
目录
第1节前言 .................................................. 错误!未定义书签。第2节方案选择 ................................................................................ 第3节硬件电路 . (12)
单片机99秒计时程序和电路图
附录1
附录2
#include <reg51.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //共阳数码管0~9的字形码
unsigned char second;
unsigned char keycnt;
unsigned int tcnt;
sbit P3_5=P3^5; // P35 端口的定义
void main(void)
{
unsigned char i,j;
TMOD=0x02; //设置定时器0为工作方式为2 ET0=1; //开定时器0
EA=1; //开总中断
second=0; //给变量赋初值
P0=dispcode[second/10]; //取个位数
P2=dispcode[second%10]; //取余
while(1) //进入while大循环
{
if(P3_5==0)
{
for(i=20;i>0;i--)
for(j=248;j>0;j--);
if(P3_5==0)
{
keycnt++;
switch(keycnt) //进入case循环
{
case 1:
TH0=0x06;
TL0=0x06;
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
keycnt=0;
second=0;
P0=dispcode[second/10];
P2=dispcode[second%10];
单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位
(4)复查电路:重新检测电路,利用万用表电流档,检测电路电流,发现电路无电流,检查40引脚VCC,发现单片机40引脚与插座短路,接触不良导致,陆续检查其他引脚。发现还有部分引脚短路。
(5)继续检查电路,直至数码管显示数字为止。
结果显示,秒表运行正常。按照预期实现了99s计时、暂停以及继续的功能。
2.元器件作用
(1)STC89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
附件
1.利用单片机完成一定的任务,你的创意(创新)是什么?
我的创意就是电路的布局,实验操作起来与仿真不同,需要注意很多细节,例如原件检测。我的电路布局既节省空间,又不影响电路结构。
2.程序
#include<reg52.h>
sbit W=P1^4;
sbit H=P1^6;
unsigned char msec,sec;
9
创新实践实训报告
学院
信息电子技术学院
wenku.baidu.com专业
51单片机99秒倒计时C语言源程序
51单片机99秒倒计时C语言源程序
51单片机实现数码管99秒倒计时,其实很简单,就是使用定时器中断来实现。目的就是学习怎样用单片机实现倒计时,从而实现一些延时控制类的东西,99秒只是一个例子,你完全可以做出任意倒计时如10秒倒计时程序。定时器定时时间计算公式:初值X=M(最大计时)-计数值。
初值,换算成十六进制,高位给TH0,低位给TL0,如果用定时器0的话。
M(最大计时)如果是16位的,就是2的16次方,最大定时,65535 微秒,实现1秒定时,可以通过定时10毫秒,然后100次改变一次秒值即可。10*100毫秒=1S
计数值:你要定时多长时间,如果定时1毫秒,就是1000微秒,(单位为微秒),如果定时10毫秒,就是10000(微秒),当然,最大定时被定时器本身位数限制了,最大2的16次方(16位定时计数器),只能定时65.535毫秒。定时1S当然不可能1S定时器中断。
下面为实现99秒倒计时C语言源程序
/*了解定时器,这样的话,就可以做一些基本的实验了,如定时炸弹~~,10秒后打开关闭继电器*/
/*数码管,12M晶振*/
#include <reg52.h>
#define uchar unsigned char
sbit p11=P1^1; //连的是继电器。。
code unsigned char
tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar shiwei;
uchar gewei;
void delay(unsigned int cnt)
51单片机秒表程序 00-99秒
uchar tt;
uint time;//此变量为时间
uchar code table[]={//此为数码管字模,对应0--9
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x40};
void Delay(uint ms)//延时子函数
SMGSW=1;
Delay(2);
P0=table[shi];
SMGGW=1;
SMGSW=0;
Delay(2);
}
void main()
{
P1=0xff;
EA=1;
ET0=1;
TMOD=0x01;
TH0=0x4c;//晶振11.0592Mhz若用12Mhz晶振则改为TH0=0x3c;Tl0=0xb0;
#include <reg52.h>
#define uchar unsigned char //宏定义用uchar代替unsigned char
#define uint unsigned int
sbit START=P1^0; //开始、停止键低电平有效
sbit RST=P1^1; //复位键
sbit SMGGW=P1^2;//用三极管或驱动芯片驱动数码管高电平有效还是低电平有效由电路决定