论文发表百科

基于单片机万年历的设计毕业论文

发布时间:2024-07-03 17:28:12

基于单片机万年历的设计毕业论文

我这里有的 可以找我

430做万年历有点大菜小吃

你去搜索杜阳工作室吧,哪里有 朝他要

1、 高压软开关充电电源硬件设计2、 自动售货机控制系统的设计3、 PLC控制电磁阀耐久试验系统设计4、 永磁同步电动机矢量控制系统的仿真研究5、 PLC在热交换控制系统设计中的应用6、 颗粒包装机的PLC控制设计7、 输油泵站机泵控制系统设计8、 基于单片机的万年历硬件设计 9、 550KV GIS中隔离开关操作产生的过电压计算10、 时滞网络化控制系统鲁棒控制器设计11、 多路压力变送器采集系统设计12、 直流电机双闭环系统硬件设计 13、 漏磁无损检测磁路优化设计14、 光伏逆变电源设计15、 胶布烘干温度控制系统的设计16、 基于MATLAB的数字滤波器设计与仿真17、 电镀生产线中PLC的应用18、 万年历的程序设计19、 变压器设计20、 步进电机运动控制系统的硬件设计21、 比例电磁阀驱动性能比较22、 220kv变电站设计23、 600A测量级电流互感器设计24、 自动售货机控制中PLC的应用25、 足球机器人比赛决策子系统与运动轨迹的研究26、 厂区35kV变电所设计27、 基于给定指标的电机设计28、 电梯控制中PLC的应用29、 常用变压器的结构及性能设计30、 六自由度机械臂控制系统软件开发31 输油泵站热媒炉PLC控制系统设计32 步进电机驱动控制系统软件设计33 足球机器人的视觉系统与色标分析的研究34 自来水厂PLC工控系统控制站设计35 永磁直流电动机磁场分析36 永磁同步电动机磁场分析37 应用EWB的电子表电路设计与仿真38 电路与电子技术基础》之模拟电子篇CAI课件的设计39 逻辑无环流直流可逆调速系统的仿真研究40 机器人足球比赛图像采集与目标识别的研究41 自来水厂plc工控系统操作站设计42 PLC结合变频器在风机节能上的应用43 交流电动机调速系统接口电路的设计44 直流电动机可逆调速系统设计45 西门子S7-300PLC在二氧化碳变压吸附中的应用46 DMC控制器设计47 电力电子电路的仿真48 图像处理技术在足球机器人系统中的应用49 管道缺陷长度对漏磁场分布影响的研究 50 生化过程优化控制方案设计51 交流电动机磁场定向控制系统设计52 开关电磁阀流量控制系统的硬件设计53 比例电磁阀的驱动电源设计54 交流电动机SVPWM控制系统设计55 PLC在恒压供水控制中的应用56 西门子S7-200系列PLC在搅拌器控制中的应用57 基于侧抑制增强图像处理方法的研究58 西门子s7-300系列plc在工业加热炉控制中的应用59 西门子s7-200系列plc在电梯控制中的应用60 PLC在恒压供水控制中的应用61 磁悬浮系统的常规控制方法研究62 建筑公司施工进度管理系统设计63 网络销售数据库系统设计64 生产过程设备信息管理系统的设计与实现

基于单片机的万年历毕业论文

430做万年历有点大菜小吃

我这里有的 可以找我

我有现成的,采用1602液晶显示的。C语言的程序。仿真PROTEUS文件都用。money来取。

你去搜索杜阳工作室吧,哪里有 朝他要

单片机电子万年历毕业论文

430做万年历有点大菜小吃

近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。下面是我精心推荐的一些单片机技术论文题目,希望你能有所感触! 单片机技术论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 10. 防盗与恒温系统的设计与制作 11. 防盗报警器 12. AT89S52单片机实验系统的开发与应用 13. 在单片机系统中实现SCR(可控硅)过零控制 14. 微电阻测量系统 15. 基于单片机的电子式转速里程表的设计 16. 基于GSM短信模块的家庭防盗报警系统 17. 公交车汉字显示系统 18. 基于单片机的智能火灾报警系统 19. WIN32环境下对PC机通用串行口通信的研究及实现 20. FIR数字滤波器的MATLAB设计与实现方法研究 21. 无刷直流电机数字控制系统的研究与设计 22. 直线电机方式的地铁模拟地铁系统制作 23. 稳压电源的设计与制作 24. 线性直流稳压电源的设计 25. 基于CPLD的步进电机控制器 26. 全自动汽车模型的设计制作 27. 单片机数字电压表的设计 28. 数字电压表的设计 29. 计算机比值控制系统研究与设计 30. 模拟量转换成为数字量的红外传输系统 31. 液位控制系统研究与设计 32. 基于89C2051 IC卡读/写器的设计 33. 基于单片机的居室安全报警系统设计 34. 模拟量转换成为数字量红外数据发射与接收系统 35. 有源功率因数校正及有源滤波技术的研究 36. 全自动立体停车场模拟系统的制作 37. 基于I2C总线气体检测系统的设计 38. 模拟量处理为数字量红外语音传输接收系统的设计 39. 精密VF转换器与MCS-51单片机的接口技术 40. 电话远程监控系统的研究与制作 41. 基于UCC3802的开关电源设计 42. 串级控制系统设计 43. 分立式生活环境表的研究与制作(多功能电子万年历) 44. 高效智能汽车调节器 45. 变速恒频风力发电控制系统的设计 46. 全自动汽车模型的制作 47. 信号源的设计与制作 48. 智能红外遥控暖风机设计 49. 基于单片控制的交流调速设计 50. 基于单片机的多点无线温度监控系统 51. 蔬菜公司恒温库微机监控系统 52. 数字触发提升机控制系统 53. 农业大棚温湿度自动检测 54. 无人监守点滴自动监控系统的设计 55. 积分式数字电压表设计 56. 智能豆浆机的设计 57. 采用单片机技术的脉冲频率测量设计 58. 基于DSP的FIR滤波器设计 59. 基于单片机实现汽车报警电路的设计 单片机技术论文 单片机应用技术探究 摘要:近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。目前大量的嵌入式系统均采用单片机,本文分析了单片机的形成及发展过程以及当前的技术进展,同时分析了影响单片机系统可靠性的原因,并论述提高单片机可靠性的措施。 关键词:单片机;可靠性技术;发展趋势 中图分类号: C35 文献标识码: A 引言 单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势 。 一 、单片机的应用场合 智能仪器仪表。单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。 机电一体化产品。机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。 实时工业控制。单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。 家用电器。家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子还有分布式系统的前端模块等等。 二、分析单片机可靠性限制原因及应对措施 目前,大量的嵌入式系统均采用了单片机,并且这样的应用正在更进一步扩展;但是多年以来人们一直为单片机系统的可靠性问题所困惑。在一些要求高可靠性的控制系统中,这往往成为限制其应用的主要原因。 1.单片机系统的失效分析 一个单片机系统的可靠性是其自身软硬件与其所处工作环境综合作用的结果,因此系统的可靠性也应从这两个方面去分析与设计。对于系统自身而言,能不能在保证系统各项功能实现的同时,对系统自身运行过程中出现的各种干扰信号及直接来自于系统外部的干扰信号进行有效的抑制,是决定系统可靠性的关键。有缺陷的系统往往只从逻辑上去保证系统功能的实现,而对于系统运行过程中可能出现的潜在的问题考虑欠缺,采取的措施不足,在干扰信号真正袭来的时候,系统就可能会陷入困境。 2. 提高可靠性的措施 减少引起系统不可靠或影响系统可靠的外界因素: 1) EFT (Electrical Fast Transient)技术。EFT技术是一种抗干扰技术,它是指在振荡电路的正弦信号受到外界干扰时,其波形上会迭加各种毛刺信号,如果使用施密特电路对其整形,则毛刺会成为触发信号干扰正常的时钟,在交替使用施密特电路和RC滤波电路时, 就可以消除这些毛否则令其作用失效,从而保证系统的时钟信号正常工作。 2) 低噪声布线技术及驱动技术。在传统的单片机中,电源及地线是在集成电路外壳的对称引脚上,一般是在左上、右下或右上、左下的两对对称点上。这样,就使电源噪声穿过整块芯片,对单片机的内部电路造成干扰。现在,很多单片机都把地和电源引脚安排在两条相邻的引脚上。这样,不仅降低了穿过整个芯片的电流,而且在印制电路板上容易布置去耦电容,从而降低系统的噪声。现在为了适应各种应用的需要,很多单片机采用"跳变沿软化技术",从而消除大电流瞬变时产生的噪声。 3) 采用低频时钟。高频外时钟是噪声源之一,不仅能对单片机应用系统产生干扰,而且还会对外界电路产生干扰,令电磁兼容性不能满足要求。对于要求可靠性较高的系统,低频外时钟有利于降低系统的噪声。在一些单片机中采用内部锁相环技术,则在外部时钟较低时,也能产生较高的内部总线速度,从而保证了速度又降低了噪声。 三、单片机的发展趋势 1单片机技术的发展前景及趋势 由于通用型IC的仿冒现象比较严重,因此定制化IC将是未来单片机发展的主要方向。此外,尽管16位、32位单片机市场有所增加,但8位在未来三五年内仍将占主流,只是成长幅度会趋缓。从应用角度讲,盛扬看好消费类电子和家电产品,尤其是中小型家电产品,它属于比较成熟的单片机应用领域;其次是高端领域的车用产品。目前,盛扬已针对汽车周边领域推出系列产品,主要用于汽车防盗、车载电子、信息娱乐、胎压监测、里程表的面板等。 单片机拥有良好的应用前景,但厂商之间的竞争愈演愈烈。因此,对本土企业而言,要想脱颖而出,质量一定要好,同时还要注重产品的环保和可靠性,因为家电和汽车等产品对安全性的要求越来越高;其次,充分发挥本土厂商在特定应用领域的性价比优势。不过,这种性价比必须建立在性能过关、可靠度过关的基础上。 制作工艺CMO化。更小的光刻工艺提高了集成度,从而使芯片更小、成本更低、工作电压更低、功耗更低。CPU的改进。同时,采用双CPU结构,增加数据总线的宽度,提高数据处理的速度和能力;采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。增大存储容量,片内EPROM的E2PROM化,程序的保密化,提高并行口驱动能力,以减少外围驱动芯片,增加外围?I/O?口的逻辑功能和控制的灵活性。最后,以串行方式为主的外围扩展;外围电路的内装化;和互联网连接已是一种明显的走向,可靠性及应用水平越来越高。 2微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 3串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One-Time Password)及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。 4、结语 单片机改变了我们生活,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机, 单片机有着广阔的应用前景。 参考文献 [1] 张志良; 单片机原理与控制技术; 北京,机械工业出版社,2008 [2] 李广第,朱月秀,王秀山.单片机基础.北京:北京航空航天大学出版社,2002. [3] 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002. 看了“单片机技术论文题目”的人还看: 1. 电子应用技术论文题目 2. 计算机应用专业毕业论文题目大全 3. 单片机开题报告范文 4. 毕业设计科技论文题目 5. 电子信息工程技术论文题目 6. 大专计算机毕业论文题目

#include<>#include""#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累加器= 就是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);}

昨天才把我的毕业论文删掉。。

基于单片机的设计毕业论文题目

近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。下面是我精心推荐的一些单片机技术论文题目,希望你能有所感触! 单片机技术论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 10. 防盗与恒温系统的设计与制作 11. 防盗报警器 12. AT89S52单片机实验系统的开发与应用 13. 在单片机系统中实现SCR(可控硅)过零控制 14. 微电阻测量系统 15. 基于单片机的电子式转速里程表的设计 16. 基于GSM短信模块的家庭防盗报警系统 17. 公交车汉字显示系统 18. 基于单片机的智能火灾报警系统 19. WIN32环境下对PC机通用串行口通信的研究及实现 20. FIR数字滤波器的MATLAB设计与实现方法研究 21. 无刷直流电机数字控制系统的研究与设计 22. 直线电机方式的地铁模拟地铁系统制作 23. 稳压电源的设计与制作 24. 线性直流稳压电源的设计 25. 基于CPLD的步进电机控制器 26. 全自动汽车模型的设计制作 27. 单片机数字电压表的设计 28. 数字电压表的设计 29. 计算机比值控制系统研究与设计 30. 模拟量转换成为数字量的红外传输系统 31. 液位控制系统研究与设计 32. 基于89C2051 IC卡读/写器的设计 33. 基于单片机的居室安全报警系统设计 34. 模拟量转换成为数字量红外数据发射与接收系统 35. 有源功率因数校正及有源滤波技术的研究 36. 全自动立体停车场模拟系统的制作 37. 基于I2C总线气体检测系统的设计 38. 模拟量处理为数字量红外语音传输接收系统的设计 39. 精密VF转换器与MCS-51单片机的接口技术 40. 电话远程监控系统的研究与制作 41. 基于UCC3802的开关电源设计 42. 串级控制系统设计 43. 分立式生活环境表的研究与制作(多功能电子万年历) 44. 高效智能汽车调节器 45. 变速恒频风力发电控制系统的设计 46. 全自动汽车模型的制作 47. 信号源的设计与制作 48. 智能红外遥控暖风机设计 49. 基于单片控制的交流调速设计 50. 基于单片机的多点无线温度监控系统 51. 蔬菜公司恒温库微机监控系统 52. 数字触发提升机控制系统 53. 农业大棚温湿度自动检测 54. 无人监守点滴自动监控系统的设计 55. 积分式数字电压表设计 56. 智能豆浆机的设计 57. 采用单片机技术的脉冲频率测量设计 58. 基于DSP的FIR滤波器设计 59. 基于单片机实现汽车报警电路的设计 单片机技术论文 单片机应用技术探究 摘要:近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。目前大量的嵌入式系统均采用单片机,本文分析了单片机的形成及发展过程以及当前的技术进展,同时分析了影响单片机系统可靠性的原因,并论述提高单片机可靠性的措施。 关键词:单片机;可靠性技术;发展趋势 中图分类号: C35 文献标识码: A 引言 单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势 。 一 、单片机的应用场合 智能仪器仪表。单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。 机电一体化产品。机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。 实时工业控制。单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。 家用电器。家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子还有分布式系统的前端模块等等。 二、分析单片机可靠性限制原因及应对措施 目前,大量的嵌入式系统均采用了单片机,并且这样的应用正在更进一步扩展;但是多年以来人们一直为单片机系统的可靠性问题所困惑。在一些要求高可靠性的控制系统中,这往往成为限制其应用的主要原因。 1.单片机系统的失效分析 一个单片机系统的可靠性是其自身软硬件与其所处工作环境综合作用的结果,因此系统的可靠性也应从这两个方面去分析与设计。对于系统自身而言,能不能在保证系统各项功能实现的同时,对系统自身运行过程中出现的各种干扰信号及直接来自于系统外部的干扰信号进行有效的抑制,是决定系统可靠性的关键。有缺陷的系统往往只从逻辑上去保证系统功能的实现,而对于系统运行过程中可能出现的潜在的问题考虑欠缺,采取的措施不足,在干扰信号真正袭来的时候,系统就可能会陷入困境。 2. 提高可靠性的措施 减少引起系统不可靠或影响系统可靠的外界因素: 1) EFT (Electrical Fast Transient)技术。EFT技术是一种抗干扰技术,它是指在振荡电路的正弦信号受到外界干扰时,其波形上会迭加各种毛刺信号,如果使用施密特电路对其整形,则毛刺会成为触发信号干扰正常的时钟,在交替使用施密特电路和RC滤波电路时, 就可以消除这些毛否则令其作用失效,从而保证系统的时钟信号正常工作。 2) 低噪声布线技术及驱动技术。在传统的单片机中,电源及地线是在集成电路外壳的对称引脚上,一般是在左上、右下或右上、左下的两对对称点上。这样,就使电源噪声穿过整块芯片,对单片机的内部电路造成干扰。现在,很多单片机都把地和电源引脚安排在两条相邻的引脚上。这样,不仅降低了穿过整个芯片的电流,而且在印制电路板上容易布置去耦电容,从而降低系统的噪声。现在为了适应各种应用的需要,很多单片机采用"跳变沿软化技术",从而消除大电流瞬变时产生的噪声。 3) 采用低频时钟。高频外时钟是噪声源之一,不仅能对单片机应用系统产生干扰,而且还会对外界电路产生干扰,令电磁兼容性不能满足要求。对于要求可靠性较高的系统,低频外时钟有利于降低系统的噪声。在一些单片机中采用内部锁相环技术,则在外部时钟较低时,也能产生较高的内部总线速度,从而保证了速度又降低了噪声。 三、单片机的发展趋势 1单片机技术的发展前景及趋势 由于通用型IC的仿冒现象比较严重,因此定制化IC将是未来单片机发展的主要方向。此外,尽管16位、32位单片机市场有所增加,但8位在未来三五年内仍将占主流,只是成长幅度会趋缓。从应用角度讲,盛扬看好消费类电子和家电产品,尤其是中小型家电产品,它属于比较成熟的单片机应用领域;其次是高端领域的车用产品。目前,盛扬已针对汽车周边领域推出系列产品,主要用于汽车防盗、车载电子、信息娱乐、胎压监测、里程表的面板等。 单片机拥有良好的应用前景,但厂商之间的竞争愈演愈烈。因此,对本土企业而言,要想脱颖而出,质量一定要好,同时还要注重产品的环保和可靠性,因为家电和汽车等产品对安全性的要求越来越高;其次,充分发挥本土厂商在特定应用领域的性价比优势。不过,这种性价比必须建立在性能过关、可靠度过关的基础上。 制作工艺CMO化。更小的光刻工艺提高了集成度,从而使芯片更小、成本更低、工作电压更低、功耗更低。CPU的改进。同时,采用双CPU结构,增加数据总线的宽度,提高数据处理的速度和能力;采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。增大存储容量,片内EPROM的E2PROM化,程序的保密化,提高并行口驱动能力,以减少外围驱动芯片,增加外围?I/O?口的逻辑功能和控制的灵活性。最后,以串行方式为主的外围扩展;外围电路的内装化;和互联网连接已是一种明显的走向,可靠性及应用水平越来越高。 2微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 3串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One-Time Password)及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。 4、结语 单片机改变了我们生活,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机, 单片机有着广阔的应用前景。 参考文献 [1] 张志良; 单片机原理与控制技术; 北京,机械工业出版社,2008 [2] 李广第,朱月秀,王秀山.单片机基础.北京:北京航空航天大学出版社,2002. [3] 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002. 看了“单片机技术论文题目”的人还看: 1. 电子应用技术论文题目 2. 计算机应用专业毕业论文题目大全 3. 单片机开题报告范文 4. 毕业设计科技论文题目 5. 电子信息工程技术论文题目 6. 大专计算机毕业论文题目

学参数测量技术涉及范围广,特别是微电压、微电流、高电压以及待测信号强弱相差极大的情况下,既要保证弱信号的测量精度又要兼顾强信号的测量范围,在技术上有一定的难度。传统的低成本仪表在测量电压、电阻时都采用手动选择档位的方法来转换量程。在使用中,当忘记转换档位时,会造成仪表测量精度下降或损坏。 现代电子测量对系统的精度要求越来越高且智能化程度也越来越高。全量程无档自动量程转换电压表和电阻表是在保证测量精度不下降的前提条件下省去手动转换量程的工作,得到了广泛应用。 本文介绍了一种基于AT89S52单片机的智能多用表。该表能在单片机的控制下完成直流电压、电阻和直流电流的测量。测量电流部分采用了简单的I/V转换电路完成测试;测量电压部分结合模拟开关CD4051和运算放大器OP07构成程控放大器,实现了自动量程转换;测量电阻部分也由模拟开关CD4051和运算放大器OP07相结合,在单片机控制下完成了自动量程转换。电流、电压和电阻的最终测量信号都在单片机的控制下由12位A/D转换器TLC2543进行采集,采集的信号经单片机数据处理后通过LCD(12864)显示出来,测量结果还可以由带有串行EEPROM的CPU存储器和监控器的X25045进行多个数据保存。 关键词:TLC2543 自动量程转换 程控增益放大器 电压 电阻 电流 目录 摘要1 Abstract 2 第一章 绪论 5 1. 1 概述 5 1. 2 智能仪器/仪表国内外发展概况 5 1. 3 课题研究目的及意义 6 第二章 系统结构及功能介绍 8 2. 1 系统功能和性能指标 8 2. 1. 1 仪表功能 8 2. 1. 2 性能指标 8 2. 1. 3 本机特色 8 2. 1. 4 系统使用说明 9 2. 2 系统工作原理概述 9 第三章 方案设计与论证 11 3. 1 量程选择的设计与论证 11

位朋友,以51单片机为例。51现在很多都是用仿真器来进行在线调试的,而每个公司的仿真器都会有自带的编程软件,当然,跟keil是差不了多少的。 步骤大体如下: 1.新建,进行程序的编写 2.连上仿真器或烧写器,这一步有可能要对仿真器或烧写器进行设置,具体可看它们的使用说明 3.对程序进行编译,这一步会自动检测你的程序有没错,如果有错,是不能进入下一步的.如果你用的是仿真器,这一步编译成功后就可以直接运行进行在线调试了。 4.如果用的是烧写器,那就进行烧写 各个软件和调试方法会有些不同,但大体就是这样,一些调试工具的说明书也有很详细的说明。

基于单片机的电子琴设计毕业论文

电子琴好整,芯片都是现成的

你好,同学。这两个选题都是差不多的,都要用单片机,电路仿真 程序

密码锁没那么多硬件,做起来比较方便

兄弟 你是哪个学校的 我的毕业设计也是51单片机电子琴 求交流!QQ350924145

相关百科
热门百科
首页
发表服务