系统的功能分析

(末尾附文件)
框架图:

原理图:

声光报警电路(低电平有效)设计
有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
LED灯即发光二极管,它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
本系统所采用的报警模块为5V有源蜂鸣器模块,电路中采用三极管9012来驱动,只要单片机引脚为低电平,蜂鸣器就会鸣叫报警,反之则不鸣叫,可以通过控制单片机相关引脚方波输出形式控制蜂鸣器的鸣叫方式。同时,将LED灯串联个电阻与蜂鸣器并联,串联电阻为限流电阻,当蜂鸣器间隔鸣叫的时候,LED指示灯将闪烁报警。可以通过控制单片机引脚方波输出形式控制蜂鸣器的鸣叫方式。电路简单可靠,不需额外占单片机的I/O口。其电路原理图如下图所示。


4位共阳数码管驱动电路设计
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些汞和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。
led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。本设计中选择4位共阳数码管来显示数据。4位共阳数码管一共12个引脚,4个位选,8个段选。1、2、3、4、5、7、10、11为段选,6、8、9、12为四个数码管的位选。每个位选通过三极管进行驱动,在本设计中,Q1-Q5三极管均为驱动电路。R3-R5均为限流电阻,保护三极管。当单片机控制位选的引脚为低电平时,则相关位的数码管可以亮,否则,相关位的数码管不亮。单片机控制段选的引脚通过高低电平的组合即可显示不同的数据信息。其具体电路原理图如下图所示。

系统软件设计


部分代码

#include <reg52.h>          //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义   变量范围0~255
#define uint  unsigned int   //无符号整型 宏定义    变量范围0~65535
#include <intrins.h>//数码管段选定义      0     1    2    3    4    5    6    7    8    9
uchar code smg_du[]={0x28,0xEE,0x32,0xA2,0xE4,0xA1,0x21,0xEA,0x20,0xA0,0x60,0x25,0x39,0x26,0x31,0x71,0xff};     //断码//数码管位选定义
sbit smg_we1 = P3^4;       //数码管位选定义
sbit smg_we2 = P3^5;
sbit smg_we3 = P3^6;
sbit smg_we4 = P3^7;uchar dis_smg[8] =  {0x90,0xf5,0x1c,0x34,0x71,0x32,0x12,0xf4};    //显示内容
bit flag_500ms;
sbit beep = P2^3;
uchar a_a;
uchar menu_1;       //设置参数用uchar fen,miao,weimiao;          // 倒计时数
uchar num_value;    // 用做中间的变量
bit flag_num_en ;   // 倒计时器开始计时使能标志位
uchar set_fen = 30; // 设置倒计时数的启始值
uchar set_miao = 0; // 设置倒计时数的启始值 /***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{uint i,j;for(i=0;i<q;i++)for(j=0;j<120;j++);
}/***********************数码位选函数*****************************/
void smg_we_switch(uchar i)    //选择i位单独显示
{switch(i){case 0: smg_we1 = 0;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 1; break;case 1: smg_we1 = 1;  smg_we2 = 0; smg_we3 = 1;  smg_we4 = 1; break;case 2: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 0;  smg_we4 = 1; break;case 3: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 0; break;}
}/*************定时器0初始化程序***************/
void time_init()
{EA   = 1;       //开总中断TMOD = 0X01;     //定时器0、工作方式1ET0  = 1;          //开定时器0中断 TR0  = 1;        //允许定时器0定时
}/***********************数码显示函数*****************************/void display()
{uchar i;for(i=0;i<4;i++){                              P1 = 0xff;            //消隐 smg_we_switch(i);  //位选P1 = dis_smg[i];   //段选        delay_1ms(1);           }
}

.

链接:https://pan.baidu.com/s/1_0cRVISgIYQkS2gSAQSRZA
提取码:n4r2

.

基于51单片机的倒计时器秒表定时器数码管显示原理图方案设计相关推荐

  1. 基于51单片机的单相交流电压电流表仿真LTC1865 数码管显示

    硬件设计 大家好,之前讲过几篇数字表都是电压表,而且都是直流电压,今天讲一下交流的电压电流表.本次设计的主要难度在于硬件电路设计,需要实现交流转直流,然后用ADC采集回去之后再换算.本次采用的核心处理 ...

  2. 基于51单片机MPX4115的压力测量仪proteus仿真 数码管显示

    硬件设计 (末尾附文件) 总体设计方案 本次设计是基于8051单片机的测量与显示.利用传感器将压力转换为电信号后,在经过ADC0832的模数转换器经A/D转换后由单片机进行有效处理,然后用数码管进行显 ...

  3. 基于51单片机的计算器 汇编语言 proteus仿真 数码管显示

    之前讲的计算器都是基于C语言的,接下来讲一下基于汇编语言的简易计算器. 硬件设计 显示器仍然是数码管,MCU是C51,支持整数部分的计算 仿真图: 程序设计 YJ EQU 50H ;结果存放 YJ1 ...

  4. 基于51单片机甲醛浓度检测系统仿真设计(仿真+程序+原理图+报告+讲解)

    文章目录 资料下载(可点击) 功能说明 仿真图 复位电路 晶振电路 程序 原理图: 设计报告: 器件清单: 基于51单片机甲醛浓度检测系统仿真设计(仿真+程序+原理图+报告+讲解) 原理图:Altiu ...

  5. 【030】基于51单片机的超声波液位测距报警系统(带温度显示)Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的超声波液位测距报警(带温度显示)系统proteus仿真设计一份: (2).基于51单片机的超声波液位测距报警(带温度显示)系统proteus仿真设计keli ...

  6. 51单片机入门教程(3)——数码管显示

    51单片机入门教程(3)--数码管显示 一.LED数码管简介 二.数码管静态显示 三.数码管动态显示 特别鸣谢:HFUTer-朱聪强 一.LED数码管简介 LED数码管(LED Segment Dis ...

  7. 基于51单片机的智能空调控制系统设计(仿真+代码+原理图+报告+视频讲解)

    基于51单片机的智能空调控制系统 这里写目录标题 1 开发环境 讲解演示视频 2 功能说明介绍 3 仿真图 4 程序 4.1 工程文件 4.2 代码 5 原理图 6 元器件清单 7 视频讲解 8 资料 ...

  8. 基于51单片机的SHT11温湿度检测调节系统(LCD12864显示)

    目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部资料(压缩文件) 具体实现功能 (1)实时检测温湿度值,LCD12864分别显示温度值 ...

  9. 烟雾检测电路c语言程序,基于51单片机火灾报警器系统烟雾检测温度检测设计(原理图+程序仿真+论文)...

    课题题目基于单片机的火灾自动报警系统 课题的目的.意义以及和本课题有关的国内外现状分析:1.目的:本系统以单片机为主控单元,能够及时监测到系统故障和环境中有无火灾,火灾一旦发生将实现声光报警,并采取有 ...

最新文章

  1. Matlab编程与数据类型 -- 出错处理语句try/catch/end
  2. 柳昀哲课题组在Nature Reviews Neuroscience上发表长篇综述提出表征富集理论
  3. java操作impala
  4. iOS:极光推送控制器跳转
  5. 【c++】30.为什么可以通过指针或引用实现多态,而不可以通过对象呢?
  6. java 控制语句、数组、方法
  7. 全国计算机一级d类考试内容,全国计算机一级考试WPS office复习题及答案2017
  8. 7、ABPZero系列教程之拼多多卖家工具 修改注册功能
  9. 02-go的IDE安装
  10. Android开发笔记(四十九)异步任务处理AsyncTask
  11. 2011年国内五款值得关注网店系统
  12. m序列产生原理及其性质
  13. 常见的网络命令--ping.hostname
  14. 如何系统化设计销售队伍规模,确保企业最大的投入产出比
  15. 设计师的色彩理论,你知道不同色彩的秘密吗?
  16. java 判断图片合适,Java 判断图片色彩
  17. python时间函数纳秒_python – 获取纳秒级精度的文件修改时间
  18. 狼与狗的本质区别:从打工到老板的突破
  19. python2.7 error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
  20. 【实战篇】37 # 如何使用 QCharts 图表库绘制常用数据图表?

热门文章

  1. 【大数据入门核心技术-基本概念】(一)大数据相关基本概念
  2. 计算机考研英语词汇,考研英语词汇:常见词缀大全
  3. 惯性测量单元的原理和应用介绍
  4. 疯狂Activiti6.0连载(26)BPMN边界事件
  5. string字符串查找和替换
  6. 低代码指南100解决方案:22企业如何做好客户关系管理,提升客户转化率?
  7. 2045年千亿设备将互联 物联网安全需全球共治
  8. MySQL之PXC集群搭建
  9. Python requests 传递布尔值
  10. java 解析文件中竖线与0拆分_Java split拆分使用竖线为分隔符的字符串方法