来拿,我帮你下载。关键词属于主题词中的一类。主题词除关键词外,还包含有单元词、标题词的叙词。主题词是用来描述文献资料主题和给出检索文献资料的一种新型的情报检索语言词汇,正是由于它的出现和发展,才使得情报检索计算机化(计算机检索)成为可能。 主题词是指以概念的特性关系来区分事物,用自然语言来表达,并且具有组配功能,用以准确显示词与词之间的语义概念关系的动态性的词或词组。关键词是标示文献关建主题内容,但未经规范处理的主题词。关键词是为了文献标引工作,从论文中选取出来,用以表示全文主要内容信息款目的单词或术语。一篇论文可选取3~8个词作为关键词。
你也没有联系方式,你留个邮箱?我给你发过去。
有通用毕业论文范文,中国知网就可以免费下载通用毕业论文范文,也可以免费下载本科毕业论文,方法为:
CNKI中国知网免费入口不限量免费下载论文的方法
大学是干嘛的地方?无论多高的学历和职称,不会设计、制造教具,不会设计、制造教学仪器,不会维修仪器和设备;用你父母的钱进口教学仪器模仿了委托工厂仿制就是佼佼者;用你父母的钱请校外的人来维修设备、从校外采购配件;用你父母的钱请教学仪器生产企业提供教学实验讲义,将作者填上他们的名字就有教学突出成就奖;教你背诵的公式和外语,永远也比不上美国麻省理工学院在网上公开的教材内容。学生也不要埋怨学费贵,除了上面教师的原因,你们自己的基础实验、专业课就上的迷迷糊糊的,高额投资下的创新实验项目、挑战杯、科技竞赛、毕业论文、商业开发,都见不得阳光,将真金白银变成了一堆堆的垃圾!!!!
以下均可参考,从参考网址进入,合适的话,给我加分!谢谢1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计3.单片机脉搏测量仪 4.单片机控制的全自动洗衣机毕业设计论文5.FPGA电梯控制的设计与实现 6.恒温箱单片机控制7.基于单片机的数字电压表 8.单片机控制步进电机毕业设计论文9.函数信号发生器设计论文 10.110KV变电所一次系统设计11.报警门铃设计论文 12.51单片机交通灯控制13.单片机温度控制系统 14.CDMA通信系统中的接入信道部分进行仿真与分析15.仓库温湿度的监测系统 16.基于单片机的电子密码锁17.单片机控制交通灯系统设计 18.基于DSP的IIR数字低通滤波器的设计与实现19.智能抢答器设计 20.基于LabVIEW的PC机与单片机串口通信21.DSP设计的IIR数字高通滤波器 22.单片机数字钟设计23.自动起闭光控窗帘毕业设计论文 24.三容液位远程测控系统毕业论文25.基于Matlab的PWM波形仿真与分析 26.集成功率放大电路的设计27.波形发生器、频率计和数字电压表设计 28.水位遥测自控系统 毕业论文29.宽带视频放大电路的设计 毕业设计 30.简易数字存储示波器设计毕业论文31.球赛计时计分器 毕业设计论文 32.IIR数字滤波器的设计毕业论文33.PC机与单片机串行通信毕业论文 34.基于CPLD的低频信号发生器设计毕业论文35.110kV变电站电气主接线设计 36.m序列在扩频通信中的应用37.正弦信号发生器 38.红外报警器设计与实现39.开关稳压电源设计 40.基于MCS51单片机温度控制毕业设计论文41.步进电动机竹竿舞健身娱乐器材 42.单片机控制步进电机 毕业设计论文43.单片机汽车倒车测距仪 44.基于单片机的自行车测速系统设计45.水电站电气一次及发电机保护 46.基于单片机的数字显示温度系统毕业设计论文47.语音电子门锁设计与实现 48.工厂总降压变电所设计-毕业论文49.单片机无线抢答器设计 50.基于单片机控制直流电机调速系统毕业设计论文51.单片机串行通信发射部分毕业设计论文 52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文53.超声波测距仪毕业设计论文 54.单片机控制的数控电流源毕业设计论文55.声控报警器毕业设计论文 56.基于单片机的锁相频率合成器毕业设计论文57.基于Multism/protel的数字抢答器 58.单片机智能火灾报警器毕业设计论59.无线多路遥控发射接收系统设计毕业论文 60.单片机对玩具小车的智能控制毕业设计论文61.数字频率计毕业设计论文 62.基于单片机控制的电机交流调速毕业设计论文63.楼宇自动化--毕业设计论文 64.车辆牌照图像识别算法的实现--毕业设计65.超声波测距仪--毕业设计 66.工厂变电所一次侧电气设计67.电子测频仪--毕业设计 68.点阵电子显示屏--毕业设计69.电子电路的电子仿真实验研究 70.基于51单片机的多路温度采集控制系统71.基于单片机的数字钟设计 72.小功率不间断电源(UPS)中变换器的原理与设计73.自动存包柜的设计 74.空调器微电脑控制系统75.全自动洗衣机控制器 76.电力线载波调制解调器毕业设计论文77.图书馆照明控制系统设计 78.基于AC3的虚拟环绕声实现79.电视伴音红外转发器的设计 80.多传感器障碍物检测系统的软件设计81.基于单片机的电器遥控器设计 82.基于单片机的数码录音与播放系统83.单片机控制的霓虹灯控制器 84.电阻炉温度控制系统85.智能温度巡检仪的研制 86.保险箱遥控密码锁 毕业设计87.10KV变电所的电气部分及继电保护 88.年产26000吨乙醇精馏装置设计89.卷扬机自动控制限位控制系统 90.铁矿综合自动化调度系统91.磁敏传感器水位控制系统 92.继电器控制两段传输带机电系统93.广告灯自动控制系统 94.基于CFA的二阶滤波器设计95.霍尔传感器水位控制系统 96.全自动车载饮水机97.浮球液位传感器水位控制系统 98.干簧继电器水位控制系统99.电接点压力表水位控制系统 100.低成本智能住宅监控系统的设计101.大型发电厂的继电保护配置 102.直流操作电源监控系统的研究103.悬挂运动控制系统 104.气体泄漏超声检测系统的设计105.电压无功补偿综合控制装置 106.FC-TCR型无功补偿装置控制器的设计107.DSP电机调速 108.150MHz频段窄带调频无线接收机109.电子体温计 110.基于单片机的病床呼叫控制系统111.红外测温仪 112.基于单片微型计算机的测距仪113.智能数字频率计 114.基于单片微型计算机的多路室内火灾报警器115.信号发生器 116.基于单片微型计算机的语音播出的作息时间控制器117.交通信号灯控制电路的设计 118.基于单片机步进电机控制系统设计119.多路数据采集系统的设计 120.电子万年历 121.遥控式数控电源设计 122.110kV降压变电所一次系统设计 123.220kv变电站一次系统设计 124.智能数字频率计 125.信号发生器126.基于虚拟仪器的电网主要电气参数测试设计 127.基于FPGA的电网基本电量数字测量系统的设计 128.风力发电电能变换装置的研究与设计 129.电流继电器设计 130.大功率电器智能识别与用电安全控制器的设计 131.交流电机型式试验及计算机软件的研究 132.单片机交通灯控制系统的设计 133.智能立体仓库系统的设计 134.智能火灾报警监测系统 135.基于单片机的多点温度检测系统 136.单片机定时闹钟设计 137.湿度传感器单片机检测电路制作 138.智能小车自动寻址设计--小车悬挂运动控制系统 139.探讨未来通信技术的发展趋势 140.音频多重混响设计 141.单片机呼叫系统的设计 142.基于FPGA和锁相环4046实现波形发生器 143.基于FPGA的数字通信系统 144.基于单片机的带智能自动化的红外遥控小车 145.基于单片机AT89C51的语音温度计的设计 146.智能楼宇设计 147.移动电话接收机功能电路 148.单片机演奏音乐歌曲装置的设计 149.单片机电铃系统设计 150.智能电子密码锁设计 151.八路智能抢答器设计 152.组态控制抢答器系统设计 153.组态控制皮带运输机系统设计 154..基于单片机控制音乐门铃 155.基于单片机控制文字的显示 156.基于单片机控制发生的数字音乐盒 157.基于单片机控制动态扫描文字显示系统的设计 158.基于LMS自适应滤波器的MATLAB实现 159.D功率放大器毕业论文 160.无线射频识别系统发射接收硬件电路的设计 161.基于单片机PIC16F877的环境监测系统的设计 162.基于ADE7758的电能监测系统的设计 163.智能电话报警器 164.数字频率计 课程设计 165.多功能数字钟电路设计 课程设计 166.基于VHDL数字频率计的设计与仿真 167.基于单片机控制的电子秤 168.基于单片机的智能电子负载系统设计 169.电压比较器的模拟与仿真 170.脉冲变压器设计 171.MATLAB仿真技术及应用 172.基于单片机的水温控制系统 173.基于FPGA和单片机的多功能等精度频率计 174.发电机-变压器组中微型机保护系统 175.基于单片机的鸡雏恒温孵化器的设计 176.数字温度计的设计 177.生产流水线产品产量统计显示系统 178.水位报警显时控制系统的设计 179.红外遥控电子密码锁的设计 180.基于MCU温控智能风扇控制系统的设计 181.数字电容测量仪的设计 182.基于单片机的遥控器的设计 183.200电话卡代拨器的设计 184.数字式心电信号发生器硬件设计及波形输出实现 185.电压稳定毕业设计论文 186.基于DSP的短波通信系统设计(IIR设计) 187.一氧化碳报警器 188.网络视频监控系统的设计 189.全氢罩式退火炉温度控制系统 190.通用串行总线数据采集卡的设计 191.单片机控制单闭环直流电动机的调速控制系统 192.单片机电加热炉温度控制系统 193.单片机大型建筑火灾监控系统 194.USB接口设备驱动程序的框架设计 195.基于Matlab的多频率FMICW的信号分离及时延信息提取 196.正弦信号发生器 197.小功率UPS系统设计 198.全数字控制SPWM单相变频器 199.点阵式汉字电子显示屏的设计与制作 200.基于AT89C51的路灯控制系统设计 200.基于AT89C51的路灯控制系统设计 201.基于AT89C51的宽范围高精度的电机转速测量系统 202.开关电源设计203.基于PDIUSBD12和K9F2808简易USB闪存设计 204.微型机控制一体化监控系统205.直流电机试验自动采集与控制系统的设计 206.新型自动装弹机控制系统的研究与开发 207.交流异步电机试验自动采集与控制系统的设计208.转速闭环控制的直流调速系统的仿真与设计209.基于单片机的数字直流调速系统设计210.多功能频率计的设计211.18信息移频信号的频谱分析和识别212.集散管理系统—终端设计213.基于MATLAB的数字滤波器优化设计214.基于AT89C51SND1C的MP3播放器215.基于光纤的汽车CAN总线研究216.汽车倒车雷达217.基于DSP的电机控制218.超媒体技术219.数字电子钟的设计与制作220.温度报警器的电路设计与制作221.数字电子钟的电路设计222.鸡舍电子智能补光器的设计223.高精度超声波传感器信号调理电路的设计224.电子密码锁的电路设计与制作225.单片机控制电梯系统的设计226.常用电器维修方法综述227.控制式智能计热表的设计228.电子指南针设计229.汽车防撞主控系统设计230.单片机的智能电源管理系统231.电力电子技术在绿色照明电路中的应用232.电气火灾自动保护型断路器的设计233.基于单片机的多功能智能小车设计234.对漏电保护器安全性能的剖析235.解析民用建筑的应急照明236.电力拖动控制系统设计237.低频功率放大器设计238.银行自动报警系统
天下没有免费的午餐
1 绪论 (3)1.1 LED简介 (3)1.2 LED简介和构成 (3)1.3 LED屏的分类 (4)1.3.1 颜色可以分为 (4)1.3.2按显示器件分类 (5)1.3.3按显示方式分类 (5)1.3.4按发光点直径分类 (6)1.3.5.按显示方式分类 (6)2 LED点阵显示屏 (7)2.1 LED显示屏的提出 (7)2.2 LED显示屏的需求 (7)2.3 LED显示屏的开发环境 (8)2.3.1 显示屏驱动电路的选择 (8)2.3.2 亮度连续可调 (8)2.3.3 串行口的选择 (9)3 系统的具体设计与实现 (10)3.1 系统总框图 (10)3.2 硬件条件 (10)3.3 驱动部分 (11)3.3.1 LED显示屏行驱动电路 (11)3.3.2 LED显示屏列驱动电路 (12)3.4 亮度连续可调 (13)3.5 刷新频率的计算 (13)3.6 键盘 (13)3.7 软件方面 (14)3.7.1 主程序的流程图 (14)3.7.2 按键程序 (15)3.7.3 行列的扫描 (15)4 AT89S52部分程序码 (16)5 测试、结果及分析 (17)5.1 基本功能 (17)5.2 发挥部分功能 (17)5.3 其他发挥部分功能 (17)6 总结 (18)致谢 (19)参考文献 (20)1 绪论1.1 概述LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。[9]它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。[5]1.2 LED简介和构成LED(Light Emitting Diode)即发光二极管是利用半导体的P-N结电致发光原理制成的一种半导体发光器件。[9] LED具有亮度高、功耗小、寿命长、工作电压低、易小型化等优点。[4]近几年来,它得到迅猛的发展和广泛的应用。从七十年代起,已有人开始用LED做为发光像素研制LED显示器。随着微机技术的发展和LED器件的成熟,LED 显示屏也得到迅猛的发展。目前已研制出多种规格的LED 屏,从色彩上讲有单色、多色、全色显示屏,从显示尺寸上讲,LED屏现已做到了数百平方米。[4]现已形成了一个新兴的高科技产业。最近,蓝色、纯绿色超高亮发光二极管相继研制成功并已商品化,用LED制成室外"大彩电"已成为现实,它标志着 LED显示技术达到了一个新的高度。LED显示屏是用发光二极管作显示像素而构成的显示屏,受空间限制小,适合于几平方米到几百平方米的屏幕,在此范围内和其它几种屏幕相比有较强优势,可表现文字、图形、图像、动画和视频,能较好地适应各种使用环境。[5] LED显示屏系统一般由微机、发送控制板、接收控制板、显示屏屏体、稳压电源及金属框架等部分构成。[5](1)微机微机主要用于大屏幕系统的操作和控制,体现在上层软件部分。用来制作、编辑欲显示的内容,包括文字、图像、表格,并设置各种节目的播放顺序及画面停留时间等。编辑完成后,微机用来运行播放制作好的内容。微机播放时,内容在微机的显示器上显示出来。电子信息与科学技术在现代工程管理中的应用【摘要】近年来,我国经济的迅猛发展把工程管理推入了人们的视野。随着社会的进步与发展,计算机信息技术发展水平也日渐提高,采用信息技术应用到工程管理中,其工作间将会大大减少,工作质量、工作效率也会得到大大提高。因此,电子信息和科学技术在现代工工程管理中的应用在我国现实生活中具有着十分重要的意义。【关键词】电子信息;科学技术;工程管理;应用在当前,随着电子信息科学技术的发展,在工程管理的领域中,以计算机信息技术为主的电子信息技术,越来越得到重视,尤其是在建筑工程管理领域中,将计算机电子信息技术与工程管理进行有效的结合,促进两者的共同进步和发展,不仅能使计算机的电子信息技术得到运用,还能提高工程的管理质量,在建筑工程造价管理和项目管理以及施工管理的工作中都产生了重要的作用。1 电子信息科学技术在工程领域中的应用现状企业的信息化管理系统是集组织模式、企业规范、业务流程以及信息技术为一体的综合化管理体系。计算机中的应用改变了传统的工程管理方法,提高了劳动生产力。但在施工的生产管理、施工过程的控制和监督等方面还是比较落后的。如何使用计算机信息技术对建筑业结构进行优化,如何提高企业与项目的管理水平,以及如何提高劳动生产率都是值得认真探讨和研究的紧迫课题。我国现代的工程承包、施工内容都非常丰富、涉及面极广、建设周期较长,加上经济环境错综复杂,使我国工程建设企业都面临着潜在风险。所以,如何利用快速发展的信息技术来对落后的局面进行改善,已变成企业首要解决的工作。从工程管理程序上来分析,工程管理的思路是信息分析、投标报价、工程施工、工程财务结算。财务领域和投标的计算机应用,在一般企业中只是作为工具使用,并未体现管理的功能。大型企业具有雄厚实力与规范管理,都在乎计算机信息技术的应用。在目前,市场上所引用的项目工程管理软件,主要侧重工程施工的进度控制与资源的总体调配,涉及工程管理中的高层理论化管理。但在我国实际使用中却不能适应工程的变化,资源的调配计划确实做得很好,但施工现场物资资源的调用没有按原计划进行,导致计划的全盘落空。针对现场管理的重要环节,并没有应用到采购、存储、领出和工地消耗为一体的计算机管理系统。工程的进度一直都以来是工程施工的首要任务,工程的按时完成是最重要的。但是,要提高企业的经济效益,只是讲进度是不够的,成本控制是效益的体现,随着市场的经济体制逐渐成熟,成本控制已成为施工企业中重要任务。2 电子信息科学技术在建筑项目工程管理中的功能建筑工程的项目管理是脑力劳动,它主要是依据建筑工程建设工作的实践经验,处理协调各方面的要求,把各项目资源分配到时间节点和恰当环境中,实施动态调整,以合理经济的方式完成预定的目的。电子信息科学技术在建筑工程的项目管理功能主要有以下几点:2.1 完成建筑工程在企业内部进行数据共享现代化的建筑工程项目中的电子信息科学技术系统运用了相对完善的数据管理,它的最大优势是确保数据共享。建筑工程项目管理可以利用那些管理数据共享作为企业内部所采用的标准。现代数据库的管理系统能够运用搜索方法,从上百万数据中寻找到指定的数据,这个过程只需要短短的几秒钟就可以实现了。2.2 保证统计的数据具有准确性建筑项目的资料数据能够以动态的方式将准确性的指定内容提交给工程项目管理人员,防止了人为因素所带来的各种缺点,有效的阻止了时间上的拖延和实际状况的错误判定。如果不能有效的解决这些问题,就会给工程项目带来不便。电子信息科学技术对工程项目进行模拟实施,在较短的时间内把同一项目进行千万次的模拟,因此,统计信息能帮助建筑工程的管理人员进行有效的实施决策管理。2.3 完成数据间的通信通过电子信息科学技术和网络技术,能完成建筑工程管理人员间的信息通信和发布,通过网络技术和公用传讯方式可以将企业总部和建设的施工现场联系起来,从而使供货商和各方之间进行信息交流,完成对远程数据的管理。3 提高工程管理电子信息科学技术应用水平的措施3.1 在掌握施工项目管理的信息化基础上,制定正确计划将电子信息科学技术应用于建筑项目工程管理是工作中的重要内容。不能只把信息化应用看作企业点缀,要把信息化的应用落到实处,处理建筑工程管理中的紧要问题,从而最大程度的发挥信息化技术作用。提高工程施工中的效率和水平对企业发展具有重要意义,所以,我们要利用电子信息科学技术来改造目前的水平与技术。提高工程管理的信息化,关键之处在于电子信息科学技术在其应用水平上的高低。企业要根据建筑工程施工管理所涉及到信息的存储自动化、信息的收集自动化、信息的检索工具化等技术和实际的管理水平,要制定出正确的计划,用科学的方法处理施工中出现的问题,进而最大化的实现现代化信息科学技术的有效率,逐步建立、完善工程施工的管理信息系统。3.2 运用因特网、局域网等载体,实现信息共享和网上公办社会的不断发展,使建设项目的规模逐步扩大,建筑工程所涉及到的单位比较的多,文件和相关信息也繁多复杂。过往的项目管理信息方式都是以纸为分析、记录的载体,分析整理后的数据还要一层层的经过多个部门进行转交,最后到达决策者的手中。这样的办公方式不仅仅浪费时间、财力和人力,还会降低工作效率,最主要的原因是因为转交次数过多而导致信息交流的完好性和有效性受到了严重的影响。因此,在这个信息的时代,要运用科学有效的信息技术来分析、传输第一手信息,并及时向决策者转达信息,从而才能提高工程施工的管理水平。3.3 开发相关的应用系统在因特网上开发出各种工程项目的信息管理系统,建立大的数据库和链接,把网上查询、网上投标、网上材料采购、网上会议等信息公布在大家面前,向有意向人员展现出一个信息交流和共享的平台,把纵向的信息交流方式转变为平行,这样的方法不仅能提高工作效率和信息准确性,还能促进企业间的沟通和合作,提高决策的准确度。在施工的过程中,也要把项目管理的信息系统与技术软件应用到该过程的管理,从而提高管理水平和效率。4 结束语综上所述,我国在建筑项目工程管理所采用信息化发展获得了较大的成功。但与国外的信息化技术相比,我国还存在着很大的问题。每个企业都应该根据自身的实际情况,科学合理的把信息技术应用到工程管理中,从而提高工作效率,从企业的长远发展来看,信息化技术对企业发展具有着深远意义。完
原因如下第一种原因是文献由于各种原因被锁住,不能够再提供阅读和下载的服务。第二种原因是文献由于各种原因已经被撤稿,不再属于公开发表论文,那么这种情况下是看不了的第三种原因是知网的论文下载和阅读是需要收费的,并不是免费的。需要登陆账号进行阅读和下载。
进行充值购买后就可以下载。知网文章被锁后如果需要查看,可以先注册一个账号,其次点击锁住的文章上的小锁出现的字样,最后充值购买后就可以观看下载被锁住的文章。
英雄所见略同 查重是一个匹配的过程,是以句为单位,如果一句话重复了,就很容易判定重复了,所以:1)如果的确是经典的句子,就用上标的尾注的方式,在参考文献中表达出来。2)如果是一般的引用,就采用罗嗦法,将原句中省略的主语、谓语、等等添加全,反正哪怕多一个字,就是胜利。3)也可以采用横刀法,将一些句子的成分,去除,用一些代词替代。4)或者是用洋鬼子法,将原文中的洋名,是中文的,就直接用英文,是英文的直接用中文,或是中文的全姓名,就用中文的名,如果是中文的名,就找齐了,替换成中文的姓名。5)故意在一些缩写的英文边上,加上(注释)(画蛇添足法),总之,将每句话都可以变化一下,哪怕增加一个字或减少一个字,都是胜利了。6)如果是引用,在引用标号后,不要轻易使用句号,如果写了句号,句号后面的就是剽窃了(尽管自已认为是引用),所以,引用没有结束前,尽量使用分号。有些人将引用的上标放在了句号后面,这是不对的,应该在句号之前。7)可以将文字转换为表格、表格基本是查重不了的,文字变成图形、表格变成图形,一目了然,绝对不会检查出是重复剽窃了。 -------------------------------------------------点我用户名,空间博文有介绍 详细各种论文检测系统软件介绍见我空间 各种有效论文修改秘籍、论文格式=============================ah
有论文查重工具,进行查重后都会出个报告,报告里面就有明确的数据,告诉论文的重复部分,重复的地方都会标记很好区分。市面上有很多的查重工具,比如paperfree、paperpass、维普等价格都很实惠。大部分的高校都是使用的知网,也可以使用知网进行查重。
查重软件在句子上判断重复,系统主要是看关键词,有几个相同或者相似,就有可能会判为重复。如果从网上直接粘的句子,稍作改动比如顺序标点近义词什么的,都能识别为是重复的,尤其是大段粘贴,看过原文以后,用自己的话描述出来,并且要差距比较大才行。
扩展资料
查重系统收录论文都是需要一个时间段的。打个比方:在zaojiance论文查重系统检测论文之后,它不会立刻就收录论文,但是具体要多长时间,这就需要区分是毕业论文,还是期刊论文了。
拿知网来说,它不是所有的论文都收录,对于本科论文,在论文的收录上更多的是偏向于优秀的本科论文。对于硕博毕业论文,知网基本上都会予以收录,但是并不会在其毕业年度收录,通常也需要在次年予以收录。
其实写毕业论文还是要和以后的求职方向相关。所以你应该好好考虑下选题。比如液晶显示及制造技术。选一个目前在液晶显示中存在的问题,比如透过率的问题,比如显示视角的问题、比如大尺寸显示存在的问题,或者如果在液晶面板制造实现低能耗。你写了这个论文,还可以分分钟去一些大企业,京东方、华星光电、天马等。
呵呵,连这个都能,看来LED发展挺快的!!
#include#include"DS18B20_3.H"#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;//flag用于读取头文件中的温度值,和显示温度值#define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)sbit rs=P1^0;sbit en=P1^2;sbit rw=P1^1; //如果硬件上rw接地,就不用写这句和后面的rw=0了sbit led=P3^7; //LCD背光开关//DS1302时钟芯片与C51之间的引脚连接定义sbit IO=P2^2;sbit SCLK=P2^1;sbit RST=P2^2;sbit ACC0=ACC^0;sbit ACC7=ACC^7;/************************************************************ACC累加器=AACC.0=E0H ACC.0就是ACC的第0位。Acc可以位寻址。累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。 ***************************************************************///校时按键与C51的引脚连接定义sbit key1=P2^4; //设置键sbit key2=P2^5; //加键sbit key3=P2^6; //减键sbit buzzer=P2^0;//蜂鸣器,通过三极管9012驱动,端口低电平响/**************************************************************/uchar code tab1[]={"20 - - "}; //年显示的固定字符uchar code tab2[]={" : : "};//时间显示的固定字符//延时函数,后面经常调用void delay(uint xms)//延时函数,有参函数{ uint x,y; for(x=xms;x>0;x--) for(y=120;y>0;y--);}/********液晶写入指令函数与写入数据函数,以后可调用**************//*在这个程序中,液晶写入有关函数会在DS1302的函数中调用,所以液晶程序要放在前面*/write_1602com(uchar com)//****液晶写入指令函数****{ rs=0;//数据/指令选择置为指令 rw=0; //读写选择置为写 P0=com;//送入数据 delay(1); en=1;//拉高使能端,为制造有效的下降沿做准备 delay(1); en=0;//en由高变低,产生下降沿,液晶执行命令}write_1602dat(uchar dat)//***液晶写入数据函数****{ rs=1;//数据/指令选择置为数据 rw=0; //读写选择置为写 P0=dat;//送入数据 delay(1); en=1; //en置高电平,为制造下降沿做准备 delay(1); en=0; //en由高变低,产生下降沿,液晶执行命令}lcd_init()//***液晶初始化函数****{ write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据 write_1602com(0x0c);//开显示不显示光标 write_1602com(0x06);//整屏不移动,光标自动右移 write_1602com(0x01);//清显示 write_1602com(yh+1);//日历显示固定符号从第一行第1个位置之后开始显示 for(a=0;a<14;a++) { write_1602dat(tab1[a]);//向液晶屏写日历显示的固定符号部分 //delay(3); } write_1602com(er+2);//时间显示固定符号写入位置,从第2个位置后开始显示 for(a=0;a<8;a++) { write_1602dat(tab2[a]);//写显示时间固定符号,两个冒号 //delay(3); }}/*********************over***********************//***************DS1302有关子函数********************/void write_byte(uchar dat)//写一个字节{ ACC=dat; RST=1; for(a=8;a>0;a--) { IO=ACC0; SCLK=0; SCLK=1; ACC=ACC>>1; }}uchar read_byte()//读一个字节{ RST=1; for(a=8;a>0;a--) { ACC7=IO; SCLK=1; SCLK=0; ACC=ACC>>1; } return (ACC);}//----------------------------------------void write_1302(uchar add,uchar dat)//向1302芯片写函数,指定写入地址,数据{ RST=0; SCLK=0; RST=1; write_byte(add); write_byte(dat); SCLK=1; RST=0;}uchar read_1302(uchar add)//从1302读数据函数,指定读取数据来源地址{ uchar temp; RST=0; SCLK=0; RST=1; write_byte(add); temp=read_byte(); SCLK=1; RST=0; return(temp);}uchar BCD_Decimal(uchar bcd)//BCD码转十进制函数,输入BCD,返回十进制{ uchar Decimal; Decimal=bcd>>4; return(Decimal=Decimal*10+(bcd&=0x0F));}//--------------------------------------void ds1302_init() //1302芯片初始化子函数(2010-01-07,12:00:00,week4){RST=0;SCLK=0;write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,0x00); //向DS1302内写秒寄存器80H写入初始秒数据00write_1302(0x82,0x00);//向DS1302内写分寄存器82H写入初始分数据00write_1302(0x84,0x12);//向DS1302内写小时寄存器84H写入初始小时数据12write_1302(0x8a,0x04);//向DS1302内写周寄存器8aH写入初始周数据4write_1302(0x86,0x07);//向DS1302内写日期寄存器86H写入初始日期数据07write_1302(0x88,0x01);//向DS1302内写月份寄存器88H写入初始月份数据01write_1302(0x8c,0x10);//向DS1302内写年份寄存器8cH写入初始年份数据10write_1302(0x8e,0x80); //打开写保护}//------------------------------------//温度显示子函数void write_temp(uchar add,uchar dat)//向LCD写温度数据,并指定显示位置{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(er+add);//er是头文件规定的值0x80+0x40 write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码 write_1602dat(0x43); //显示"C"符号,0x43是液晶屏字符库里大写C的地址码 }//------------------------------------//时分秒显示子函数void write_sfm(uchar add,uchar dat)//向LCD写时分秒,有显示位置加、现示数据,两个参数{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(er+add);//er是头文件规定的值0x80+0x40 write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 }//-------------------------------------//年月日显示子函数void write_nyr(uchar add,uchar dat)//向LCD写年月日,有显示位置加数、显示数据,两个参数{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(yh+add);//设定显示位置为第一个位置+add write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 }//-------------------------------------------void write_week(uchar week)//写星期函数{ write_1602com(yh+0x0c);//星期字符的显示位置 switch(week) { case 1:write_1602dat('M');//星期数为1时,显示 write_1602dat('O'); write_1602dat('N'); break; case 2:write_1602dat('T');//星期数据为2时显示 write_1602dat('U'); write_1602dat('E'); break; case 3:write_1602dat('W');//星期数据为3时显示 write_1602dat('E'); write_1602dat('D'); break; case 4:write_1602dat('T');//星期数据为4是显示 write_1602dat('H'); write_1602dat('U'); break; case 5:write_1602dat('F');//星期数据为5时显示 write_1602dat('R'); write_1602dat('I'); break; case 6:write_1602dat('S');//星期数据为6时显示 write_1602dat('T'); write_1602dat('A'); break; case 7:write_1602dat('S');//星期数据为7时显示 write_1602dat('U'); write_1602dat('N'); break;}}//****************键盘扫描有关函数**********************void keyscan(){ if(key1==0)//---------------key1为功能键(设置键)-------------------- { delay(9);//延时,用于消抖动 if(key1==0)//延时后再次确认按键按下 { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key1); key1n++; if(key1n==9) key1n=1;//设置按键共有秒、分、时、星期、日、月、年、返回,8个功能循环 switch(key1n) { case 1: TR0=0;//关闭定时器 //TR1=0; write_1602com(er+0x09);//设置按键按动一次,秒位置显示光标 write_1602com(0x0f);//设置光标为闪烁 temp=(miao)/10*16+(miao)%10;//秒数据写入DS1302 write_1302(0x8e,0x00); write_1302(0x80,0x80|temp);//miao write_1302(0x8e,0x80); break; case 2: write_1602com(er+6);//按2次fen位置显示光标 //write_1602com(0x0f); break; case 3: write_1602com(er+3);//按动3次,shi //write_1602com(0x0f); break; case 4: write_1602com(yh+0x0e);//按动4次,week //write_1602com(0x0f); break; case 5: write_1602com(yh+0x0a);//按动5次,ri //write_1602com(0x0f); break; case 6: write_1602com(yh+0x07);//按动6次,yue //write_1602com(0x0f); break; case 7: write_1602com(yh+0x04);//按动7次,nian //write_1602com(0x0f); break; case 8: write_1602com(0x0c);//按动到第8次,设置光标不闪烁 TR0=1;//打开定时器 temp=(miao)/10*16+(miao)%10; write_1302(0x8e,0x00); write_1302(0x80,0x00|temp);//miao数据写入DS1302 write_1302(0x8e,0x80); break; }} }//------------------------------加键key2---------------------------- if(key1n!=0)//当key1按下以下。再按以下键才有效(按键次数不等于零) { if(key2==0) //上调键 { delay(10); if(key2==0) { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key2); switch(key1n) { case 1:miao++;//设置键按动1次,调秒 if(miao==60) miao=0;//秒超过59,再加1,就归零 write_sfm(0x08,miao);//令LCD在正确位置显示"加"设定好的秒数 temp=(miao)/10*16+(miao)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,temp); //向DS1302内写秒寄存器80H写入调整后的秒数据BCD码 write_1302(0x8e,0x80); //打开写保护 write_1602com(er+0x09);//因为设置液晶的模式是写入数据后,光标自动右移,所以要指定返回 //write_1602com(0x0b); break; case 2:fen++; if(fen==60) fen=0; write_sfm(0x05,fen);//令LCD在正确位置显示"加"设定好的分数据 temp=(fen)/10*16+(fen)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x82,temp);//向DS1302内写分寄存器82H写入调整后的分数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+6);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 break; case 3:shi++; if(shi==24) shi=0; write_sfm(2,shi);//令LCD在正确的位置显示"加"设定好的小时数据 temp=(shi)/10*16+(shi)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x84,temp);//向DS1302内写小时寄存器84H写入调整后的小时数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+3);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 4:week++; if(week==8) week=1; write_1602com(yh+0x0C);//指定'加'后的周数据显示位置 write_week(week);//指定周数据显示内容 temp=(week)/10*16+(week)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8a,temp);//向DS1302内写周寄存器8aH写入调整后的周数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+0x0e);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 5:ri++; if(ri==32) ri=1; write_nyr(9,ri);//令LCD在正确的位置显示"加"设定好的日期数据 temp=(ri)/10*16+(ri)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x86,temp);//向DS1302内写日期寄存器86H写入调整后的日期数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+10);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 6:yue++; if(yue==13) yue=1; write_nyr(6,yue);//令LCD在正确的位置显示"加"设定好的月份数据 temp=(yue)/10*16+(yue)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x88,temp);//向DS1302内写月份寄存器88H写入调整后的月份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+7);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 7:nian++; if(nian==100) nian=0; write_nyr(3,nian);//令LCD在正确的位置显示"加"设定好的年份数据 temp=(nian)/10*16+(nian)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8c,temp);//向DS1302内写年份寄存器8cH写入调整后的年份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+4);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break;} } } //------------------减键key3,各句功能参照'加键'注释--------------- if(key3==0) { delay(10);//调延时,消抖动 if(key3==0) { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key3); switch(key1n) { case 1:miao--; if(miao==-1) miao=59;//秒数据减到-1时自动变成59 write_sfm(0x08,miao);//在LCD的正确位置显示改变后新的秒数 temp=(miao)/10*16+(miao)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,temp); //向DS1302内写秒寄存器80H写入调整后的秒数据BCD码 write_1302(0x8e,0x80); //打开写保护 write_1602com(er+0x09);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 //write_1602com(0x0b); break; case 2:fen--; if(fen==-1) fen=59; write_sfm(5,fen); temp=(fen)/10*16+(fen)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x82,temp);//向DS1302内写分寄存器82H写入调整后的分数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+6);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 break; case 3:shi--; if(shi==-1) shi=23; write_sfm(2,shi); temp=(shi)/10*16+(shi)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x84,temp);//向DS1302内写小时寄存器84H写入调整后的小时数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+3);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 4:week--; if(week==0) week=7; write_1602com(yh+0x0C);//指定'加'后的周数据显示位置 write_week(week);//指定周数据显示内容 temp=(week)/10*16+(week)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8a,temp);//向DS1302内写周寄存器8aH写入调整后的周数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+0x0e);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 5:ri--; if(ri==0) ri=31; write_nyr(9,ri); temp=(ri)/10*16+(ri)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x86,temp);//向DS1302内写日期寄存器86H写入调整后的日期数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+10);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 6:yue--; if(yue==0) yue=12; write_nyr(6,yue); temp=(yue)/10*16+(yue)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x88,temp);//向DS1302内写月份寄存器88H写入调整后的月份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+7);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 7:nian--; if(nian==-1) nian=99; write_nyr(3,nian); temp=(nian)/10*16+(nian)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8c,temp);//向DS1302内写年份寄存器8cH写入调整后的年份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+4);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break;} } } }}//-------------------------------void init() //定时器、计数器设置函数{ TMOD=0x11; //指定定时/计数器的工作方式为3 TH0=0; //定时器T0的高四位=0 TL0=0; //定时器T0的低四位=0 EA=1; //系统允许有开放的中断 ET0=1; //允许T0中断 TR0=1; //开启中断,启动定时器}//*******************主函数**************************//***************************************************void main(){ lcd_init(); //调用液晶屏初始化子函数 ds1302_init(); //调用DS1302时钟的初始化子函数 init(); //调用定时计数器的设置子函数 led=0; //打开LCD的背光电源 buzzer=0;//蜂鸣器长响一次 delay(80); buzzer=1; while(1) //无限循环下面的语句: { keyscan(); //调用键盘扫描子函数 }}void timer0() interrupt 1 //取得并显示日历和时间{ //Init_DS18B20();//温度传感器DS18b2初始化子函数,在头文件中 flag=ReadTemperature();//将18b2头文件运行返回的函数结果送到变量FLAG中,用于显示 //读取秒时分周日月年七个数据(DS1302的读寄存器与写寄存器不一样):miao = BCD_Decimal(read_1302(0x81)); fen = BCD_Decimal(read_1302(0x83)); shi = BCD_Decimal(read_1302(0x85)); ri = BCD_Decimal(read_1302(0x87)); yue = BCD_Decimal(read_1302(0x89)); nian=BCD_Decimal(read_1302(0x8d)); week=BCD_Decimal(read_1302(0x8b)); //显示温度、秒、时、分数据: write_temp(12,flag);//显示温度,从第二行第12个字符后开始显示 write_sfm(8,miao);//秒,从第二行第8个字后开始显示(调用时分秒显示子函数) write_sfm(5,fen);//分,从第二行第5个字符后开始显示 write_sfm(2,shi);//小时,从第二行第2个字符后开始显示 //显示日、月、年数据: write_nyr(9,ri);//日期,从第二行第9个字符后开始显示 write_nyr(6,yue);//月份,从第二行第6个字符后开始显示 write_nyr(3,nian);//年,从第二行第3个字符后开始显示 write_week(week);}
你也没有联系方式,你留个邮箱?我给你发过去。