基于单片机的带温度显示的数字钟设计(c51语言编程)【开题报告】

合集下载

基于C51单片机技术的时钟课程设计报告

基于C51单片机技术的时钟课程设计报告

课设报告工程学院软件学院题目:时钟班级:姓名:学号:指导老师:日期: 2013 年 10 月 11日目录1 摘要32 设计要求32.1 功能需求32.2 设计要求33 硬件设计与描述33.1 总体描述33.2 系统总体框图 43.3 Proteus电路图43.4 各部分硬件介绍44 软件设计流程与描述84.1 程序流程图84.2 函数模块与功能94.2.1单片机主控制模块94.2.2数码管显示模块94.2.3 按键模块114.2.4计时模块115 功能实现136 心得体会147 源程序141 摘要众所周知单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

本设计要制作的就是单片机于生活中最为常见的几种应用——时钟。

本设计以AT89S52单片机作为核心,可以显示当前的时间,时间也可以人为设定,显示格式为时(两位),分(两位),秒(两位)。

设置时间的数值、启动定时器。

时钟显示电路由数码管组成,制作该装置的材料需要有软硬件的支持,硬件方面AT89C51单片机,晶振,电源,数码管。

2 设计要求2.1 功能需求1、在数码管上显示初始时间如12-23-33,从初始设置的时间开始走时,每一秒自动加1,当59秒后自动向分进位、59分后自动向时进位。

2、通过按键设置时间,按下键1,时钟分加1;按下键2,时钟分减1,。

从而实现用按键设置时间的功能。

2.2 设计要求本次设计的是时钟,本电路是由AT89S52单片机为控制核心,通过按键实现时钟分的自增自减进行时间的设置,在数码管上进行显示。

3 硬件设计与描述3.1 总体描述单片机采用STC90C516RD+,采用MCS-51实验开发板。

(完整word版)基于单片机数字温度计开题报告

(完整word版)基于单片机数字温度计开题报告
6. 研究(设计)课题特色
此次的多功能数字温度计不同于以往的传统数字温度计,它明显改善了数字温度计的性能,包括温度采集的速度和测量精度大幅度提高,测量温度的范围也得到了明显的提高。如果继续提高测量精度,可以直接作为工业测温仪器使用,由美国DALLAS半导体公司新研制的DS18B20型高分辨力智能温度传感器,能输出12位二进制数据,其分辨力高达0.0625℃,测温精度为±0.1℃。随着单片机、温度传感器和数码管显示驱动等技术的不断发展,要实现更加高的精度、显示速率快的数字温度计将很快能够实现。
4.课题的意义
本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关
2.课题背景
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强,能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。而现在的单片机在农业上页有了很多的应用。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。

基于51单片机的小屏幕数字钟

基于51单片机的小屏幕数字钟

.学生XX:学号:专业:电子信息工程论文题目:基于51单片机的小屏幕数字钟设计与制作指导教师:年 3 月 5 日毕业设计(论文)开题报告毕业设计(论文)开题报告毕业设计(论文)开题报告毕业设计(论文)开题报告毕业设计(论文)开题报告2.本课题要研究或解决的问题和拟采用的研究手段(途径)●研究方法及步骤1 了解和掌握汇编语言的编程规律和各种指令。

2 设计出以AT89S51单片机为核心的带秒显示的小屏幕数字钟。

3 设计出采用小功率三极管推动1英寸共阳数码管显示的电路。

4 具有时、分和秒的校调功能。

5 设计出编程的流程图。

6 根据流程图,用汇编语言设计出带秒显示的数字钟的程序。

7 用Prtoel 99SE 软件设计出以AT89S51单片机为核心的用1英寸共阳数码管显示的大屏幕带秒显示的数字钟原理图。

8 根据原理图用Protel 99SE 软件设计出PCB底板。

9 选取元器件,焊接线路板焊接完以后进行调试,组装。

●主要参考文献:1 肖来胜冯建兰夏术兰主编单片机实用教程华中科技大学2006年2月。

2 韩建国冯静编著单片机原理及应用中国计量2006年。

3 喻宗泉喻晗李建民编著单片机原理及应用技术XX电子科技大学2006年4月。

4 杨将新李华军X东骏编著单片机程序设计及应用基础电子工业2006年3月。

5 杨西明朱琪主编单片机编程与应用入门机械工业2004年月1月。

6 X文涛编著单片机语言C51典型应用设计人民邮电2005年4月。

7 X凤强兰丽编著单片机语言C51应用实战集绵电子工业2005年3月。

8 X洪润X秀英X亚凡等编著单片机应用设计200例上册、下册航空航天大学2005年6月。

9 孟贵华编著电子元器件选用、使用、检测一本通中国电力2006年月1月。

10 杜刚主编电路设计与与制板Protel 应用教程清华大学2006年3月。

毕业设计(论文)开题报告指导教师意见:1.对“文献综述”的评语:对设计课题综述详细,对所涉及到的专业知识掌握的比较好,设计步骤明确、清楚。

基于单片机的数字温度计设计【毕业论文 文献综述 开题报告】.DOC

基于单片机的数字温度计设计【毕业论文 文献综述 开题报告】.DOC

(2011届)毕业设计姓名:专业:电子信息工程班级:学号:指导教师:导师职称:年月日基于单片机的数字温度计设计摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,用单片机和温度传感器来实现温度测温是数字温度设计的一大亮点。

随着单片机的飞速发展,功能变得越来越强大,可以实现很多电路系统的设计。

基于单片机的数字温度计系统就是一个很好的例子,将温度传感器与单片机最小系统相连,通过LED数码管或液晶显示屏显示出来,可以直观、方便、快速的测量温度。

单片机通过编写程序亦可实现时钟显示、定时闹铃等其他功能,满足人们的需求。

关键字:数字温度计、温度传感器、单片机Based on SCM digital thermometer designAbstractAs people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it has given people bring to convenience is not negative, including digital thermometer is one example, using SCM and temperature sensor to achieve the temperature measuring temperature is digital temperature design of . With the rapid development of MCU, function is becoming stronger and can realize many circuit system design. Based on SCM digital thermometer system is a very good example, will the temperature sensor and connected by single chip minimize system, LED digital display tube or LCD screen, intuitive, convenient and quick measuring temperature. SCM by writing a program can also be achieved the clock display, regular alarm and other functions, satisfy people's needs.Keywords: digital thermometer, temperature sensors, microcontroller目录摘要.......................................................................................................................... I II Abstract ........................................................................................................................ I V 1 绪论. (1)1.1课题的来源 (1)1.2课题的意义 (1)1.3数字温度计国内外发展现状 (2)1.3.1温度传感器的研究现状 (2)1.3.2单片机的发展的研究现状 (3)1.4课题研究的主要内容 (5)2 数字温度计的总体设案 (6)3 系统硬件电路设计 (7)3.1电路原理 (7)3.2各单元总体说明 (8)3.3主控制器AT89S51 (8)3.4 4位共阳数码管动态扫描 (9)3.5温度传感器DS18B20 (10)3.6电路原材料清单 (17)3.7使用工具及仪表清单 (18)4 系统软件设计 (19)4.1流程图 (19)4.2读出温度子程序 (19)4.3温度转换命令子程序 (20)4.4数字温度计程序清单 (20)结论 (22)参考文献 (23)致谢 (24)附录 (25)1 绪论1.1课题的来源温度测量在物理实验、食品生产、医疗卫生等领域,尤其在热学试验(如:物体的热功当量、压强温度系数、汽化热等教学实验)中有特别重要的意义。

基于单片机的具备温度显示的数字时钟设计

基于单片机的具备温度显示的数字时钟设计

研究探讨1. 绪论时代的进步和发展的迅速崛起,单片机技术在生活工作、科研等各个领域已经引起了人们的广泛关注,现在已经是一种比较成熟的技术。

单片机主控芯片可控制数字温度计和数字钟,数字温度计属于功能较多的温度计,可以设置任意温度的上下限,而且还具有报警功能,当温度不在设定范围内时,也可以报警;数字钟可以同步显示时间日历,日期和时间,这些都可以通过按键进行调整。

本文所论述的系统采用的DS1302可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。

系统显示部分可用LCD液晶显示屏显示,工作方便,外表美观。

2. 系统组成数字温度计和数字时钟电路的总体设计方框图如图所示:2.1主控制模块主控制模块采用单片机AT89S51,AT89S51是由P0,P1,P2,P3四个通用8位I/O口 以及中断控制口,复位,写选通,接地,电源等引脚组成,其中,P0口是地址/数据总线复用口,P1口是一个含有上拉电阻的双向的I/O口,在校验程序中接收低8位地址,P2口与P1口的区别是在校验程序中接收高八位地址,P3口除了一般I/O口的功能外,还具有第二功能,这是其他I/O所不具有的功能,中断控制口可以控制中断的优先级。

AT89S51内部图如下:2.2温度传感器DS18B20温度传感器DS18B20包括温度传感器,高温触发器TH,低温触发器TL,配置寄存器,以及8位CRC发生器。

DS18B20具有单线接口的优点,一个端口引脚就可以进行通信,而且多个DS18B20可以并联在三线上,多点组网功能就可以得以实现;用户同时还可以根据自己的要求进行报警设置,设计起来十分方便。

DS18B20具有很多优点,例如像耐碰耐磨,小体积,方便使用,封装形式多样化等优点。

DS18B20内部结构框图如下图所示:2.3液晶显示屏LCD1602液晶显示器的优点有很多,功耗微小、小体积、内容显示丰富、轻巧超薄等都是它明显的优势,很多地方都开始了对其越来越多的使用。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

单片机课程设计实验报告 基于单片机的数字时钟 含完整实验代码..

单片机课程设计实验报告 基于单片机的数字时钟 含完整实验代码..

单片机课程设计报告基于单片机的数字时钟姓名:班级:学号:一、前言利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。

功能要求:a)计时并显示(LED)。

由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。

b)时间调整功能。

利用4个独立按钮,实现时钟调整功能。

这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。

c)定闹功能。

利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。

d)秒表功能。

最小时间单位0.01秒。

二、硬件原理分析1.电源部分电源部份采用两种输入接口(如上图)。

a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。

b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。

注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。

S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。

电路采用两个滤波电容,给板子一个更加稳定的工作电源。

LED为电源的指示灯,通电后LED灯亮。

2.蜂鸣器蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。

有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。

如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。

低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。

电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。

数码管的阴级由P0口经过电阻限流连接。

例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。

开题报告-基于单片机的数字钟设计

开题报告-基于单片机的数字钟设计

一、选题的依据及意义(一)选题依据随着人类生活水平的提高,身边的电子产品越来越多,例如无人不知无人不晓的手机,电脑,家电等,而且我们对这些电子产品也是越来越依赖。

与此同时,人们的生活变得越来越忙碌,俗话说的好,时间就是金钱。

在竞争如此激烈的世界,合理安排好自己的工作和休息时间也就变得非常重要,所以我们需要有个自动计时的电子产品—数字时钟。

随着科技的不断提升,数字时钟不仅仅是应用在我们日常接触到的手表、手机、计算机当中,其实它还渗透在各个领域,诸如每个学校都需要用到的全自动响铃器、定时自动报警器、乘车唤醒器、以及娱乐场所经常用到的定时开关等。

另外,在制作方面,电子钟从原始的纯硬件电路转变为了软硬件结合。

而单片机开发工具具有很强的软硬件调试功能,加上它现场运行环境的可靠性,改变了最早机械钟的笨重,成为体积小、功耗小、功能多、精度高、性价比高的电子时钟。

不过,为了我国国防、航空、工业、医学等科技领域的快速发展,数字时钟作为这些科技不可缺少的一部分,就必须对数字钟进行改造,使现代的时钟不仅体积小,携带方便;还需要在款式方面和功能对其进行改进,让其不仅是受广大群众欢迎的产品,同时也是壮大我国科技好帮手。

所以,随着电子行业的不断更新,现代数字钟的计时部分是数字电路的一个典型应用,其原理是电信号经过分频器得到相应的秒脉冲,时计数器为24进制,分秒计数器都是60进制。

三个计数器的输出则经过译码器传送到数码管中,最终显示出精准的结果。

所以,美观、多功能化、寿命长的产品都很容易让大家所接受。

之所以选择用单片基的原理来完成此次毕业设计是因为单片机具有较高的性价比、体积小、可靠性高、控制功能强、使用也比较方便,容易产品化等特点。

同时,随着当今世界微控制技术的不断完善和发展,以及自动化程度的日益提高,单片机的应用正在导致传统的人工控制技术发生天翻地覆的变化。

在单片机模块中,最常见的就是数字钟,本次的毕业设计就是为了研究数字时钟的原理,利用所学过的单片机的的最小应用系统及其强大的系统扩展能力,设计出多功能数字钟的电路结构,利用protues软件绘制出原理图进行仿真,成功之后再在protel软件平台上画出原理图并进行PCB板块的制作,最后制作出实物,进行调试。

单片机C51时钟的设计报告

单片机C51时钟的设计报告

单片机课程设计报告设计名称:单片机电子时钟的设计班级:电信 08级 1班学号::指导教师:一课程设计的目的单片计算机即单片微型计算机。

(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。

而51单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

二、课程设计的具体要求:该课程设计是利用MCS-51单片机部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。

设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。

用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY (自己计算)。

形成定时时间为50ms。

用片RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。

然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。

显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。

在处理过程中加上了按键判断程序,能对按键处理三. MCS-51单片机系统简介40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。

⒈电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。

但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。

⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

基于C51单片机的数字可调时钟

基于C51单片机的数字可调时钟

河南机电高等专科学校《C51程序设计》大作业设计题目:数字可调时钟班级:通技091学号:090413128姓名:成绩:2011年11月1 设计任务制作数字可调时钟,要求可以分开调节分、时、年、月、日,能够显示温度。

2电路原理图以下为protel99se画的的原理图3 系统流程图数字可调时钟分以下四个部分构成:显示部分:此次显示采用了动态扫描显示,采用74ls573进行数据锁存。

温度采集:温度采集采用了18b20采集的,18b20转化温度较快,精度高。

时钟:采用普通的ds1302芯片。

数据运算:单片机用普通的8051单片机(12M晶振)。

4 源程序/*******************************数字可调时钟*********************************/ /*******************************by:lhc****************************************/ #include<reg51.h> #define DataPort P0void delayms(unsigned char i); sbit DQ=P1^3; sbit sclk=P1^4;sbit date=P1^5; sbit rst=P1^6;sbit LATCH1=P2^2;//定义锁存使能端口 段锁存 sbit LATCH2=P2^3;// 位锁存unsigned char time[8]={20,11,11,27,11,30,00,7}; //年 月日 时 分 秒 周 unsigned char time1[8],readtemflag;unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9unsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char code pingnian[13]={ 0,31,28,31,30,31,30,31,31,30,31,30,31};//平年的月份天数 unsigned char code yunnian[13]= { 0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年的月份天数 unsigned char TempData[8]; //存储显示值的全局变量 void delay(unsigned char i) {while(--i); //us 延时函数}void delayms(unsigned char i) //ms 延时函数 {while(i--) { delay(245); delay(245); } }bit rest(void)//18b20重启函数{ bit k=0; DQ=1; delay(5); DQ=0; delay(150); delay(200); DQ=1; delay(40); k =DQ; delay(25); r eturn(k); }unsigned char read()//18b20读数据函数{ unsigned char i=0; unsigned char dat=0;for(i=0;i<8;i++) {DQ=0; dat>>=1; DQ=1;if(DQ) dat|=0x80; delay(25); }return (dat);}void write(unsigned char dat)//18b20写数据函数{unsigned char i=0; for(i=0;i<8;i++){ DQ = 0; DQ = dat&0x01; delay(25); DQ = 1; dat>>=1;} delay(25);}unsigned int ReadTemperature(void) //读取温度函数{ unsigned char a=0; unsigned int kk=0,b=0;LOOP:if(rest()==0){ write(0xCC); //跳过ROM w rite(0x44); //初始化温度转换delayms(20); rest();TH1=0XFa; TL1=0Xff; write(0xCC); write(0xBE); //读取温度a=read(); b=read(); b<<=8; kk=a+b; return(kk);} else goto LOOP;}void restds1302(void){sclk=0; rst=0; //ds1302重启 }void writebyte(unsigned char addr,unsigned char byte) //写入ds1302一个字节数据{ unsigned char i;rst=1;addr=addr&0xfe;for(i=0;i<8;i++){ date=addr&0x01; sclk=1; sclk=0; addr>>=1;}for(i=0;i<8;i++){ date=byte&0x01; sclk=1; sclk=0; byte>>=1;}rst=0;}unsigned char readbyte(unsigned char addr) //读取一个字节的数据{ unsigned char i,temp;rst=1; addr=addr|0x01;for(i=0;i<8;i++) //读函数{ date=addr&0x01;sclk=1; sclk=0;addr=addr>>1;}for(i=0;i<8;i++){temp=temp>>1;if(date) temp|=0x80;else temp&=0x7f; sclk=1; sclk=0;}rst=0;return temp;}void writetime(void) //调时函数{unsigned char i,tmp;for(i=0;i<8;i++){ //BCD处理tmp=time[i]/10;time1[i]=time[i]%10;time1[i]=time1[i]+tmp*16;}writebyte(0x8e,0x00);//关闭写保护writebyte(0x80,0x80);// 暂停writebyte(0x8c,time1[1]);// 年写入writebyte(0x88,time1[2]);//月写入writebyte(0x86,time1[3]);// 日写入//些时间writebyte(0x84,time1[4]);// 时写入writebyte(0x82,time1[5]);// 分写入writebyte(0x80,time1[6]);// 秒写入writebyte(0x8a,time1[7]);// 周写入//writebyte(0x80,0x00);// 秒写入writebyte(0x8e,0x80);//打开写保护}void readtime(void) //读取时间函数{ unsigned char i,tmp;time1[1]=readbyte(0x8d);// 年读time1[2]=readbyte(0x89);// 月读time1[3]=readbyte(0x87);// 日读// 读时间time1[4]=readbyte(0x85);// 时time1[5]=readbyte(0x83);// 分time1[6]=readbyte(0x81);// 秒time1[7]=readbyte(0x8b);// 周for(i=0;i<8;i++) //BCD处理{ tmp=time1[i]/16;time[i]=time1[i]%16;time[i]=time[i]+tmp*10;}}void Display(unsigned char FirstBit,unsigned char Num) //动态显示函数{ static unsigned char i=0;DataPort=0; //清空数据,防止有交替重影LATCH1=1; //段锁存LATCH1=0;DataPort=WeiMa[i+FirstBit]; //取位码LATCH2=1; //位锁存LATCH2=0;DataPort=TempData[i]; //取显示数据,段码LATCH1=1; //段锁存LATCH1=0; i++;if(i==Num) i=0;}unsigned char key(void) //键盘读取函数{ unsigned char i;if(P3!=0xff){ delay(10); if(P3!=0xff){ i=P3; while(P3!=0xff) ;switch(i){case 0xfe:return 1;break;case 0xfd:return 2;break;case 0xfb:return 3;break;default:return 0;break;}}}return 0;}void T1_rest() //定时器1的初始化函数{TMOD|=0X10;TH1=0XF8;TL1=0X30;EA=1 ;ET1= 1;TR1=1;}void isr0(void) interrupt 3{static unsigned char qq;TR1=0; TH1=0XF8; TL1=0X30;Display(0,8); //送去显示qq++;if(qq==200){ qq=0,readtemflag=1; } TR1=1; }void main(){unsigned char bian=0,k=0;unsigned char num=6;unsigned int h,l,tempp,year;bit nianflag; restds1302(); writetime(); T1_rest();while(1){readtime(); year=time[1]*200;if(year%4==0&&year%100!=0||year%400==0) nianflag=1;else nianflag=0; k=key();if(k!=0){ if(k==1){ bian++;num=6; k=0; }//调节显示的内容if(bian==3) bian=0;if(k==2){ num--;if(num<4) bian=1;if(num>3) bian=0; //选着调节对象分,时,年月日if(num==0) num=6; k=0;}if(k==4&&num!=6) //调节对象(分时年月日)加一{ time[num]++;if(num==5&&time[num]==60) time[num]=0;if(num==4&&time[num]==24) time[num]=0;if(num==3&&nianflag){if(time[3]>yunnian[time[2]]) time[3]=1;}else if(num==3){ if(time[3]>pingnian[time[2]])time[3]=1;}if(num==2&&time[num]==13) time[num]=1;if(num==1&&time[num]==99) time[num]=0; k=0;}if(k==3&&num!=6) //调节对象(分时年月日)减一{ time[num]--;if(time[num]==-1&&num==5) time[num]=59;if(time[num]==-1&&num==4) time[num]=23;if(num==3&&nianflag){ if(time[3]==0) time[3]=yunnian[time[2]]; }else if(num==3){ if(time[3]==0) time[3]=pingnian[time[2]]; }if(time[num]==0&&num==2) time[num]=12;if(time[num]==-1&&num==1) time[num]=99; k=0;}if(nianflag){ if(time[3]>yunnian[time[2]]) time[3]=1;}else { if(time[3]>pingnian[time[2]]) time[3]=1; }writetime();}if(bian==0) //对时,分,秒,显示数据分离处理{TempData[0]=DuanMa[time[4]/10];TempData[1]=DuanMa[time[4]%10];TempData[2]=0x40; //加入"-"TempData[3]=DuanMa[time[5]/10];//分TempData[4]=DuanMa[time[5]%10];TempData[5]=0x40;TempData[6]=DuanMa[time[6]/10];//秒TempData[7]=DuanMa[time[6]%10];if(num!=6){ delayms(30);if(num==4){ TempData[0]=0; TempData[1]=0; delayms(30); }if(num==5){ TempData[3]=0; TempData[4]=0; delayms(30); }}}else if(bian==1) //对年月日的显示数据分离处理{ TempData[0]=DuanMa[time[1]/10]; TempData[1]=DuanMa[time[1]%10];TempData[2]=0x40;//加入"-"TempData[3]=DuanMa[time[2]/10];//月TempData[4]=DuanMa[time[2]%10];TempData[5]=0x40;TempData[6]=DuanMa[time[3]/10];//日TempData[7]=DuanMa[time[3]%10];if(num!=6){ delayms(30);if(num==1){ TempData[0]=0;TempData[1]=0;delayms(30); }if(num==2){ TempData[3]=0;TempData[4]=0;delayms(30); }if(num==3){ TempData[6]=0;TempData[7]=0;delayms(30); }}}else if(bian==2) //对温度和星期的显示数据分离处理{if( readtemflag==1){ tempp=ReadTemperature();readtemflag=0;}if(tempp&0x8000){ TempData[0]=0x40;//负号标志tempp=~tempp; tempp +=1;}elseTempData[0]=0;h=tempp>>4; l=tempp&0x0F; l=l*6/10;//小数近TempData[1]=DuanMa[(h%100)/10]; //十位温度TempData[2]=DuanMa[(h%100)%10]|0x80; //个位温度,带小数点TempData[3]=DuanMa[l];TempData[4]=0x39; TempData[5]=0;TempData[6]=DuanMa[time[7]/10];TempData[7]=DuanMa[time[7]%10];}}}参考文献【1】Brian W.Kernighan,Dennis M.Ritchie.C.程序设计语言.机械工业出版社,机械工业出版社,2004.1.【2】祁伟,杨婷.单片机C51程序设计教程与实验,北京航空航天大学出版社,2006.1. 【3】梅丽凤,郝万新.单片机原理及应用,清华大学出版社,2009.7.【4】18B20数据手册.【5】DS1302数据手册.。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

基于51单片机的数字钟设计报告

基于51单片机的数字钟设计报告

数字钟项目硬件总体设计说明书编制单位:侏罗纪工作室作者发布日期:2011-1-22审核人:批准人:目录1.引言 (1)1.1.编写目的: (1)1.2.背景 (1)1.3.定义 (2)1.4.参考资料 (2)2.总体设计 (3)2.1开发与运行环境 (3)2.2硬件功能描述 (3)2.3硬件结构 (3)3.硬件模块设计 (4)3.1.描述 (4)3.1.1.AT89C51单片机简介 (4)3.1.2. 键盘电路的设计 (5)3.1.3. 段码驱动电路 (5)3.1.4. 显示器的选择 (7)3.1.5. 蜂鸣器驱动电路 (8)3.2.功能 (8)4.嵌入式软件设计 (9)4.1.流程逻辑 (9)4.2.算法 (10)4.2.1. 中断定时器的设置 (26)4.2.2. 闹钟子函数 (27)4.2.1. 计时函数 (28)4.2.2. 键盘扫描函数 (29)4.2.3. 时间和闹钟的设置 (30)5.经验总结 (31)6.附录 (37)1.引言1.1.编写目的:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。

而钟表的数字化给人们生产生活带来了极大的方便。

数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。

由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。

基于51单片机设计的带有测温功能的电子时钟

基于51单片机设计的带有测温功能的电子时钟

目录一、设计要求二、课程设计的方案、目的及意义三、硬件设计方案四、软件设计方案五、总结六、参考资料一、设计要求用51单片机设计带温度显示的电子时钟,具体要求如下:1、利用DS1302时钟芯片实现时钟功能模块。

2、时钟要求可以调节时间:年、月、日、时、分、秒。

3、利用LCD1602显示。

4、利用DS18B20芯片实现温度功能模块。

5、利用按键完成各项功能。

二、课程设计方案、目的及意义1、总体方案:用STC89C51单片机作为CPU主控制器,DS1302时钟芯片提供准确时钟信号,DS18B20温度传感器采集温度信息,三个按键进行加减调整、功能切换作用,通过LCD1602对外多功能显示。

2、具体方案:CPU控制所有模块,通过循环反复从DS1302中读取时钟信息,传送至LCD1602显示,得到基本时钟功能。

当分为59,秒为56时开始,每隔一秒LED 灯点亮240毫秒,0分0秒时LED灯点亮700毫秒。

从而实现整点光报时。

定时循环从DS18B20中读取温度信息,传送至LCD1602显示,得到基本温度计功能。

当温度高于30度(包括30度)时,点亮红色LED灯,提醒当天为高温天气。

低于0度时,点亮蓝色LED灯,提醒当天为冰冻天气。

键盘使用扫面方式,MENU键控制功能切换,完成时钟和温度间的转换。

OK键控制时间调整与确定,UP、DOWN键调节时间,R、L 键选择调整对象。

进入调整时,暂停DS1302数据读取,并将改变的时间数据写入DS1302,并送LCD1602显示,同时,启动LCD1602光标闪烁,确定调整对象,完成人机对话。

退出调整时,停止写入数据,重新读取DS1302时钟信息。

从而完善时钟功能。

3、目的及意义可作为产品生产,作为居家的时钟显示与温度计。

三、硬件设计方案1、原理图2、PCB图3、各功能模块分析(一)、主控制器:STC单片机89C51功能:程序存储器16K、RAM数字存储器1280、可直接通过串口下载程序,单一+5V电源供电,五个中断源的中断控制系统,片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。

基于C51单片机的数字钟设计

基于C51单片机的数字钟设计

单位代码学号分类号密级基于单片机的数字钟设计院系:工学院机械系专业:机械设计制造及其自动化班级:姓名:学号:指导老师:黄河科技学院课程设计任务书工学院机械系机械设计制造及其自动化专业 11 级 1 班学号姓名指导教师牛月兰题目: 基于单片机的数字钟设计课程: 单片机应用技术课程设计课程设计时间 2014年10月27 日至2014年11 月 10 日共 2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1.设计要求利用AT89C51单片机作为微控制器,自动计时,由6位LED显示器显示时、分和秒,具备调整功能,可调节时、分,断电保护。

创新设计:2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。

要求用Proteus绘制整个系统电路原理图。

2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。

2.3 Proteus仿真用Proteus对系统软硬件进行仿真调试并通过。

2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于5000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要(用visio2003画图软件)绘制整个系统框图及各部分的软件流程图,列出程序清单,逐条加以注释,并注明各程序功能块的功能。

3.工作计划4.主要参考资料单片机课程设计指导书皮大能北京理工大学出版社2012.78051单片机实践与应用吴金戎清华大学出版社2003.8 单片机技术基础教程与实践夏路易电子工业出版社2008.1 单片机原理及应用张毅刚高等教育出版社 2012.11基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2007.7…指导老师签字:日期:黄河科技学院单片机课程设计I基于单片机数字钟设计摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

《基于单片机的电子温度计的设计》开题报告

《基于单片机的电子温度计的设计》开题报告
目的:在通常的生活与学习中,我们常常用到温度计,如生病时测量体温的医用水银温度计、在温室大棚种植时需要的温度计、户外活动时用的户外温度计等等。大部分早先时候的温度计都使用玻璃和水银制作的,其测量温度精确度不高而且使用单一化,比如在疫情期间,我们使用大量的水银温度计来测量人体温度,它在使用中存在安全隐患、测量不方便、测量时间相对较长、读数不方便等因素,医用温度计还不能解决老年人读温度计数值的难题;温室大棚中使用的温度计不能使农户随时、直接了解室内的温度,不能急时采取有效措施控制室内的温度。此时,我们选择精度准确、读取方便的数字温度计就可以大大方便生活。无形中解决了不少隐患。
内容:初稿撰写完成并接受教师指导
3.第三阶段: 时间:2022年4月底前
内容:毕业论文修改定稿;
4.第四阶段: 时间:2022年5月上旬
内容:准备毕业论文答辩。
四、参考文献:
[1] 孙鹏.红外测温物理模型的建立及论证[C].吉林:吉林大学出版社.2016:15-18.
[2] 晏敏.红外测温原理及误差分析[N].光明日报.2018-11-24(2).
[3] 曹润强.红外测温仪的设计[J].测量学研究.2016.23(6):87-89.
[4] 黄光.易新建热释电红外测温方程的研究[J].红外技术.2019.52(12):48-49.
[5] 柳刚,王双保.非接触式红外研制[J].光电子科技与信息.2018.51(17);45-50.
五、审核意见:
指导教师(签名):
(4)完善论文,准备毕业答辩。
5、方法:在网上搜索资料,回忆在课堂上学到的知识,在不懂得情况下主动请教指导老师。
三、实施计划(设计工作的主要阶段、进度和完成时间等):
1.第一阶段: 时间:2021年12月上旬前
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开题报告
电气工程及其自动化
基于单片机的带温度显示的数字钟设计(c51语言编程)
一、课题研究意义及现状
1980年因特尔公司推出了MCS-51单片机,近30年来,其衍生系列不断出现,从Atmel加入FLASH ROM,到philips加入各种外设,再到后来的Cygnal推出C8051F,使得以8051为核心的单片机在各个发展阶段的低端产品应用中始终扮演着一个重要的角色,其地位不断升高,资源越来越丰富,历经30年仍在生机勃勃地发展,甚至在SoC时代仍占有重要的一席之地。

单片机具有体积小、功能强、低功耗、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域智能仪表、机电一体化、实时控制、国防工业普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

C语言已经成为当前举世公认的高效简洁而又贴近硬件的编程语言之一。

将C语言向单片机8051上移植十余20世纪80年代的中后期,经过几十年的努力,C语言已成为专业化单片机上的实用高级语言。

C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。

此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。

与汇编语言相比,C51在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。

另外C51可以缩短开发周期,降低成本,可靠性,可移植性好。

因此,使用C语言进行程序设计已成为软件开发的一个主流,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。

随着人们生活水平的提高,对物质需求也越来越高,人们已不再满足于钟表原先简单的报时功能,希望出现一些新的功能,诸如环境温度显示、日历的显示、重要日期倒计时、显示跑表功能等,用以带来更大的方便。

而所有这些,又都是以数字化的电子时钟为基础的,不仅应用了数字电路技术,而且还加入了需要模拟电路技术和单片机技术。

其电路可以由时钟模块、人机接口模块、环境温度检测模块等部分组成。

比机械式时钟具有更高的直观性和准确性,调节起来方便,且无机械装置,能够使用更长时间,并且方便维护保养,因此得到了广泛的使用。

数字钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

因此,研究实用数字钟及其扩展应用,具有很大的实用价值。

二、课题研究的主要内容和预期目标
学习51单片机的基础知识熟悉其基本模块的使用、使用HD7279驱动LED数码管显示、键盘扫描和16位键盘的输入、以及温度传感器DS18B20的温度采集等。

利用C51编程实现一个带温度计的
数字钟。

1)设计目标
熟悉单片机基础知识,了解51单片机的基本功能以及温度传感器DS18B20的使用,熟悉开发板的特征,设计并利用C51进行编程实现要求的功能,为将来从事单片机开发、和产品制造打下基础。

2)本设计的主要内容如下:
(1)利用HD7279驱动8位数码管显示。

(2)带有16键的键盘,用来对时钟进行时间设置和功能转换。

(3)用DS18B20检测环境温度并且在数码管上显示当前温度。

(4)时钟显示精确到秒。

(5)可以显示年月日。

(6)可以键盘设定时间的初始植。

(7)可以自动处理闰年。

三、课题研究的方法及措施
本课题重点是,利用DS18B20进行温度的采集,HD7279驱动数码管显示。

在开发板上利用C51编程实现带温度显示的数字钟。

主控芯片为一块AT89C51单片机,利用开发板上的单片机时钟电路来实现计数功能,利用HD7279驱动LED数码管,以及传感器DS18B20来进行温度的实时检测,将采集来的数据显示在数码管上。

本课题的关键在于系统的软件设计,要求利用C51编程来实现课题所要求的功能,设计其基本功能模块,其中包括,数码管显示模块,按键模块,温度的采集和A/D转换模块。

系统设计的原理示意图如下:
四、课题研究进度计划
毕业设计期限:自2010年10月18日至2011年4月22日。

第一阶段(自2010年10月18日至2010年11月19日):查看分析任务,收集资料相关所需的,
各项准备工作做好开始系统总体方案设计,
第二阶段(自2010年11月20日至2011年2月12日)撰写并完成开题报告、文献综述、外文翻译的设计前期工作。

第三阶段(自2010年11月20日至2011年4月1日):熟悉开发板,了解其硬件电路图,设计DS18B20的电路图,构建软件整体框架,及各个子程序的设计,算法研究及软件程序设计,撰写设计报告与论文。

第四阶段(自2011年4月2日至2011年4月16日):完善算法,跟指导老师交流,完成论文修改,准备答辩。

五、参考文献
[1] 董军堂,冯晓艳,贾培军.基于AT89C2051 单片机的电子钟设计[J]. 电子制作,2008.
[2] 谢维成,杨家国.单片机原理与应用及C51程序设计[M] .北京:清华大学车版社会2009
年7月.
[3] 杨恢先,黄辉先.单片机原理及应用[M].北京:人民邮电出版社,2006年10月. [5] 张毅刚
等.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2002年7月.
[4] 周功明,周陈琛.《基于单片机AT89S52 的新型可编程数字温度测量系统的设计》[J],
绵阳师范学院学报,2009,第8 期 .
[6] 张齐杜群贵编著,《单片机应用系统设计技术—基于C语言编程》[M] .北京:电子工业
出版社,2004年.
[7] 胡寿松.自动控制原理简明教程[M].北京:科学出版社,2003年8月.
[8] 范风强.单片机语言C51应用实战集锦(第二版)[M].北京:清华大学出版社,
2005年5月.
[9] 张虹.单片机原理及应用[M] .北京:中国电力出版社,2009.
[10] 余人杰.计算机控制技术[M].西安:西安交通大学出版社,2001年7月.
[11] LEIGH.J.R: ‘Apllied digital control’ Prentice Hall,1992.
[12] John J.D'azzo,Constantine H.Houpis. Linear Control System Analysis and
Design[M].McGraw-Hill.2000.。

相关文档
最新文档