1. 基于FX2N-48MRPLC的交通灯控制 2. 西门子PLC控制的四层电梯毕业设计论文 3. PLC电梯控制毕业论文 4. 基于plc的五层电梯控制 5. 松下PLC控制的五层电梯设计 6. 基于PLC控制的立体车库系统设计 7. PLC控制的花样喷泉 8. 三菱PLC控制的花样喷泉系统 9. PLC控制的抢答器设计 10. 世纪星组态 PLC控制的交通灯系统 11. X62W型卧式万能铣床设计 12. 四路抢答器PLC控制 13. PLC控制类毕业设计论文 14. 铁路与公路交叉口护栏自动控制系统 15. 基于PLC的机械手自动操作系统 16. 三相异步电动机正反转控制 17. 基于机械手分选大小球的自动控制 18. 基于PLC控制的作息时间控制系统 19. 变频恒压供水控制系统 20. PLC在电网备用自动投入中的应用 21. PLC在变电站变压器自动化中的应用 22. FX2系列PCL五层电梯控制系统 23. PLC控制的自动售货机毕业设计论文 24. 双恒压供水西门子PLC毕业设计 25. 交流变频调速PLC控制电梯系统设计毕业论文 26. 基于PLC的三层电梯控制系统设计 27. PLC控制自动门的课程设计 28. PLC控制锅炉输煤系统 29. PLC控制变频调速五层电梯系统设计 30. 机械手PLC控制设计 31. 基于PLC的组合机床控制系统设计 32. PLC在改造z-3040型摇臂钻床中的应用 33. 超高压水射流机器人切割系统电气控制设计 34. PLC在数控技术中进给系统的开发中的应用 35. PLC在船用牵引控制系统开发中的应用 36. 智能组合秤控制系统设计 37. S7-200PLC在数控车床控制系统中的应用 38. 自动送料装车系统PLC控制设计 39. 三菱PLC在五层电梯控制中的应用 40. PLC在交流双速电梯控制系统中的应用 41. PLC电梯控制毕业论文 42. 基于PLC的电机故障诊断系统设计 43. 欧姆龙PLC控制交通灯系统毕业论文 44. PLC在配料生产线上的应用毕业论文 45. 三菱PLC控制的四层电梯毕业设计论文 46. 全自动洗衣机PLC控制毕业设计论文 47. 工业洗衣机的PLC控制毕业论文 48. 《双恒压无塔供水的PLC电气控制》 49. 基于三菱PLC设计的四层电梯控制系统 50. 西门子PLC交通灯毕业设计 51. 自动铣床PLC控制系统毕业设计 52. PLC变频调速恒压供水系统 53. PLC控制的行车自动化控制系统 54. 基于PLC的自动售货机的设计 55. 基于PLC的气动机械手控制系统 56. PLC在电梯自动化控制中的应用 57. 组态控制交通灯 58. PLC控制的升降横移式自动化立体车库 59. PLC在电动单梁天车中的应用 60. PLC在液体混合控制系统中的应用 61. 基于西门子PLC控制的全自动洗衣机仿真设计 62. 基于三菱PLC控制的全自动洗衣机 63. 基于plc的污水处理系统 64. 恒压供水系统的PLC控制设计 65. 基于欧姆龙PLC的变频恒压供水系统设计 66. 西门子PLC编写的花样喷泉控制程序 67. 欧姆龙PLC编写的全自动洗衣机控制程序 68 景观温室控制系统的设计 69. 贮丝生产线PLC控制的系统 70. 基于PLC的霓虹灯控制系统 71. PLC在砂光机控制系统上的应用 72. 磨石粉生产线控制系统的设计 73. 自动药片装瓶机PLC控制设计 74. 装卸料小车多方式运行的PLC控制系统设计 75. PLC控制的自动罐装机系统 76. 基于CPLD的可控硅中频电源 77. 西门子PLC编写的花样喷泉控制程序 78. 欧姆龙PLC编写的全自动洗衣机控制程序 79. PLC在板式过滤器中的应用 80. PLC在粮食存储物流控制系统设计中的应用 81. 变频调速式疲劳试验装置控制系统设计 82. 基于PLC的贮料罐控制系统 83. 基于PLC的智能交通灯监控系统设计 1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计 3.单片机脉搏测量仪 4.单片机控制的全自动洗衣机毕业设计论文 电梯控制的设计与实现 6.恒温箱单片机控制 7.基于单片机的数字电压表 8.单片机控制步进电机毕业设计论文 9.函数信号发生器设计论文 变电所一次系统设计 11.报警门铃设计论文 单片机交通灯控制 13.单片机温度控制系统 通信系统中的接入信道部分进行仿真与分析 15.仓库温湿度的监测系统 16.基于单片机的电子密码锁 17.单片机控制交通灯系统设计 18.基于DSP的IIR数字低通滤波器的设计与实现 19.智能抢答器设计 20.基于LabVIEW的PC机与单片机串口通信 设计的IIR数字高通滤波器 22.单片机数字钟设计 23.自动起闭光控窗帘毕业设计论文 24.三容液位远程测控系统毕业论文 25.基于Matlab的PWM波形仿真与分析 26.集成功率放大电路的设计 27.波形发生器、频率计和数字电压表设计 28.水位遥测自控系统 毕业论文 29.宽带视频放大电路的设计 毕业设计 30.简易数字存储示波器设计毕业论文 31.球赛计时计分器 毕业设计论文 数字滤波器的设计毕业论文 机与单片机串行通信毕业论文 34.基于CPLD的低频信号发生器设计毕业论文 变电站电气主接线设计 序列在扩频通信中的应用 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.保险箱遥控密码锁 毕业设计 变电所的电气部分及继电保护 88.年产26000吨乙醇精馏装置设计 89.卷扬机自动控制限位控制系统 90.铁矿综合自动化调度系统 91.磁敏传感器水位控制系统 92.继电器控制两段传输带机电系统 93.广告灯自动控制系统 94.基于CFA的二阶滤波器设计 95.霍尔传感器水位控制系统 96.全自动车载饮水机 97.浮球液位传感器水位控制系统 98.干簧继电器水位控制系统 99.电接点压力表水位控制系统 100.低成本智能住宅监控系统的设计 101.大型发电厂的继电保护配置 102.直流操作电源监控系统的研究 103.悬挂运动控制系统 104.气体泄漏超声检测系统的设计 105.电压无功补偿综合控制装置 型无功补偿装置控制器的设计 电机调速 频段窄带调频无线接收机 109.电子体温计 110.基于单片机的病床呼叫控制系统 111.红外测温仪 112.基于单片微型计算机的测距仪 113.智能数字频率计 114.基于单片微型计算机的多路室内火灾报警器 115.信号发生器 116.基于单片微型计算机的语音播出的作息时间控制器 117.交通信号灯控制电路的设计 118.基于单片机步进电机控制系统设计 119.多路数据采集系统的设计 120.电子万年历 121.遥控式数控电源设计 降压变电所一次系统设计 变电站一次系统设计 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实现 功率放大器毕业论文 160.无线射频识别系统发射接收硬件电路的设计 161.基于单片机PIC16F877的环境监测系统的设计 162.基于ADE7758的电能监测系统的设计 163.智能电话报警器 164.数字频率计 课程设计 165.多功能数字钟电路设计 课程设计 166.基于VHDL数字频率计的设计与仿真 167.基于单片机控制的电子秤 168.基于单片机的智能电子负载系统设计 169.电压比较器的模拟与仿真 170.脉冲变压器设计 仿真技术及应用 172.基于单片机的水温控制系统 173.基于FPGA和单片机的多功能等精度频率计 174.发电机-变压器组中微型机保护系统 175.基于单片机的鸡雏恒温孵化器的设计 176.数字温度计的设计 177.生产流水线产品产量统计显示系统 178.水位报警显时控制系统的设计 179.红外遥控电子密码锁的设计 180.基于MCU温控智能风扇控制系统的设计 181.数字电容测量仪的设计 182.基于单片机的遥控器的设计 电话卡代拨器的设计 184.数字式心电信号发生器硬件设计及波形输出实现 185.电压稳定毕业设计论文 186.基于DSP的短波通信系统设计(IIR设计) 187.一氧化碳报警器 188.网络视频监控系统的设计 189.全氢罩式退火炉温度控制系统 190.通用串行总线数据采集卡的设计 191.单片机控制单闭环直流电动机的调速控制系统 192.单片机电加热炉温度控制系统 193.单片机大型建筑火灾监控系统 接口设备驱动程序的框架设计 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.多功能频率计的设计 信息移频信号的频谱分析和识别 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.银行自动报警系统
一·基于MSP430 单片机的电源监控管理系统(单片机论文)引言大功率直流开关电源由PFC 和DC-DC 变换器组成,为了提高可靠性,并能够对其进行脱机或远程监控管理,在开关电源模块内设置监控管理系统。该系统对电源故障类进行监控,对电源输出的电压电流进行自动设定和调节,通过串行通信接口,与远程中心监控站进行远程监控和管理,这一功能在通信系统基站供电系统中尤为重要。本文提出了一种基于MSP430单片机的电源监控管理系统的设计和实现。1 系统结构和硬件电路设计系统的整体设计结构如图1所示。本系统采用的核心芯片为TI公司推出16位系列单片机MSP430。MSP430具有集成度高,外围设备丰富,超低功耗等优点。单片集成了多通道12bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,采用串行在线编程方法,单片可以满足绝大多数的应用需要。 MSP430的这种高集成度使应用人员不必在接口、外接I/O及存储器上花太多的精力,而可以方便的设计真正意义上的单片系统,在许多领域得到了广泛的应用。下面介绍该系统可以实现的功能和基于MSP430F149的电控系统的设计。 系统功能:a.开机控制。上电后,单片机开始工作,按下电源键,点亮指示灯后,将电网220V接入PFC,开关电源启动工作,然后接于负载。b.电压设定和调节。用单片机A/D口采集开关电源的输出电压值,并显示于液晶屏上,通过单片机控制数字电位计调节输出电压值,实现自动调节;或者通过键盘的左右键选出电压调节页面,用上下键进行手动调节;也可以通过通信接口实现远程调节。c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。d.故障报警。单片机通过光电耦合器检测到各项输入输出故障时,扬声器产生蜂鸣,相应的报警灯闪烁,并在液晶屏上显示故障类型及处理方法。e.监测。单片机A/D口对电网电压,输出电压,输出电流进行采集测量,当出现超限时进行报警。f.通信。包括单片机与各台开关电源间的通信和单片机与中心监控站的通信。 电压调节电路电压调节电路由单片机、数字电位计X9313和可调分流基准芯片TL431组成,其电路原理图如图2所示。Xicor9313是固态非易失性电位器,可用作数字控制的微调电位器。TL431是TI生产的一个有良好的热稳定性能的三端可调分流基准源,它的输出电压用两个电阻就可以任意地设置到从VREF()到36V范围内的任何值。工作时,单片机的一个IO控制INC计数输入脚,为其提供计数脉冲,此输入端为下降沿触发。另一个IO控制U/D升降输入端,当U/D为高电平时,X9313内部计数器进行加法计数,VW端的输出电压上升,由于VW接地,使VH端电压降低,而TL431的REF输出端电压为恒定的,从而使Vcc处输出电压升高;同理当U/D为低电平时,Vcc处输出电压降低,这样就实现了电压输出调节。 模拟数据采集MSP430F149内嵌入一个高精度的,具有采样与保持功能的12位ADC转换模块,内部提供各种采样与保持时钟源。MSP430有8个外部输入通道可选, 最高采样速度可达200KHZ,并且还内置温度传感器,可以测量芯片内的温度,如果测量温度高于或低于预设的温度是,可以通过外接部件显示告警信息,同时具有6种可编程选择的内部参考电压。该转换模块为一些需要模拟量采集的场合提供了便利。我们选择的参考电压是0~,这样MSP430F149的AD分辨率就是 = 左右。由于输入的模拟电压量较高,不能直接与单片机的ADC采样端口相连,因此用串联一个滑动变阻器的方法进行了降压处理,成功解决了上述问题。 人机对话设计系统的人机操作界面由液晶显示屏、指示灯和键盘组成。液晶选用的是基于T6963C 的液晶模块YM12864。键盘采用的是3×3 的阵列接法,系统采用了图形用户界面,操作简单易行,显示实用美观。工作时,液晶屏可以实时显示采集到的电网电压、输出电压、输出电流及各种报警信息,操作相应键盘可以进行显示页面的切换,对输出电压,输出电流进行自动、手动及远程控制调节。当有报警信息产生时,相应得指示灯会闪烁警示,同时与单片机连接的扬声器会产生报警蜂鸣声,以提醒操作人员做出相应的处理。2 系统软件设计430 支持汇编语言和C 语言两种语言编程,因此可以在一个工程文件中同时用两种语言,使用汇编语言,便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。使用C 语言进行编程大大减少了工作量,编好后的程序可读性好,易于修改和维护。开发工具使用IARSystems 公司的IAR Embedded Workbench,它集成了编辑、编译、链接、下载与在线调试(Debug)等多种功能,使用方便,并具备高效的C 语言编译能力。考虑到软件开发效率及可维护性,系统软件设计遵循模块化的编程思想,将系统功能划分为几个相对独立的功能模块。它们包括:液晶显示模块、AD 转换模块、按键监测响应模块、报警监测响应模块、电压电流调节模块、数据处理模块、通信模块。每个模块都要进行独立的测试,最后结合到一起。整个系统的软件流程图如图3 所示。按键监测模块是其中的重要组成部分,它控制着AD转换的启动,显示页面的切换,及电压电流的自动调节,手动调节,远程调节的启动和切换。报警监测模块对开关电源的保护起着至关重要的作用,它实时的监测着开关电源是否出现故障,当发生输入电压过压,输入电压欠压,PFC故障时应切断总电源,当发生输出电压过压,输出电压欠压,模块过热,及IPM保护故障时应关断DC-DC变换器。在对各模块进行整合时,要注意各中断之间的冲突。由于在MSP430 的中断优先级中,ADC12 采样转换中断优先级高于TIMERA 中断,因此当在响应TIMERA 中断的过程中会执行ADC12 采样转换中断,或者TIMERA 的中断响应被迫延迟,这样就会影响在TIMERA中断中执行的报警监测响应程序,不能达到对开关电源故障类的实时检测。在本系统中,利用按键控制ADC12 采样转换中断的启动和关闭,从而解决中断冲突。3 结论本文在基于MSP430F149电源监控管理系统的设计和实现的基础上对MSP430的系统设计做了讨论,提出并解决了在设计中出现的问题。本文作者的创新点:利用MSP430的系统结构简单,外围电路少,效率高的特点,设计实现了简洁直观、使用方便、操作全程汉字提示、监控能力强、运行稳定、安全可靠的电源监控管理系统,大大降低了成本,取得了相当可观的经济效益,满足实际需求。二·C语言论文:嵌入式以门槛高,入门难的方式拦截了无数的学者。然而单片机作为嵌入式的入门课,如何以一种正确的方法学习单片机将关系到是否能学习好嵌入式。纵所周知,学习嵌入式先玩ptotel,再做单片机。Protel简单的来说就是一个做PCB板的纯英文的软件。学习ptotel前必需具备一定的电路基础和英语能力,电路基础我想大部分同学都是有的,而英语这一块却是许多人所头疼的。这对英语基础差的同学是一种打击,再者如果毅力不强,我想你是自学不下去的。毅力是学任何东西所必需的一种能力、素质,是一种遇挫折而不言败的决心。不管学的是protel还是单片机,首先要找一个能够指导你的人。何谓指导,指导并不是说他要一步一步地教你去做,而是一个在关键时刻能够为你指出一条道路的人。我认为学习嵌入式方法最重要,在学protel和单片机之前应该想办法了解关于学习它们的方法。比如说protel吧,许多人理科的学生都是以一种纯理解的角度去学的,画一个导线、元件问一下为什么要这样画,生成网络表也追根溯源地问个网络表的由来。其实许多东西只是懂用就行,理论的东西懂得再多不懂用也是枉然的。所以学习protel有地方不懂你就问你的指导员,有许多的东西是规定死了的,不是你想半天一夜就可以为你而改变的。这不同于软件设计,软件设计在你的苦思之下也许可以找到另一种更好的方法。 单片机嘛,不得不承认中国没一本单片机好书。我学习单片机的时候看过的单片机书有七本,大多数都是不尽人意的。在这里我冒昧地说:中国人写书确实缺乏一点“读者至上”的原则。我所看过的单片机书我想有很多都是以他的角度去写的,没有几个人是站稳在读者的角度上写的。书上的章节注释极不清楚,许多重要的地方都是没有说明的,说句不好听的话,作者似乎以为读者的水平也像他一样高。而外国人的书呢,同样的书,同样的知识点,有同样的中国人的书的两三倍那么厚,这是为什么。这是因为外国人的书点点滴滴都是面向着读者的。注释、说明、总结应有尽有。所以,我在这里发表一个也许同胞会扔鸡蛋到我身上的观点,那就是:不管学什么,优先选择外文翻译书,或是纯英文书。得到一本好书对我们的影响极为巨大。这一部分我用一句话来总结就是:中国人的书适合教学,而外国人的书不仅适合教学还适合自学。 中国人的单片机书往往都是先介绍单片机的内部结构、中断,定时器,然后再到I/O口。一开始就让我们学习单片机内部结构,中断、定时器的内部结构和原理,把我们弄得一塌糊涂的时候再和我们讲例子,怎样去操作实验板。如果自学的话我想许多同学是学不下去的,干嘛要把非得把单片机的内部结构像解剖学一样弄个彻底才实践去应用它呢?即使你把单片机全解剖清楚了还是不会用你手中的这块实验板的。我觉得如果在学单片机之前没有学过汇编语言就直接用C语言学的话,即使学完了单片机,对单片机的内部结构和单片机的工作原理也是不清楚的。学了汇编之后再学单片机的话效果将会好得多,所以不要心急,有些东西是急不来的。所以我认为学习单片机要在实践中学习,先实践再去了解它的结构和原理,如果你实在不能了解它的结构和原理那也无所谓的,只要你懂得用就可以了!(没学过汇编的只能这么说了)我们可以先从 I/O口学习,看一些例子烧录些程序,再看一下现象,之后再尝试了解一下所要用到的单片机的内部结构,最后在这个现象的知识基础上,编一个自己想要的程序、现象出来。这样学习的话既不无聊,成就感也有了。为什么有些人可以把学习当一种快乐,而许多人在唉声叹气,我想有一部分是出自这个原因。不同的实验板有不同的PCB图,所以I/O的操作也是有所不同的。不过操作的原理都是一样的,有些同学可能会抱怨教程里的实验板和自己手中的实验板不同,这是大可不必多虑的。I/O这一步在调试中看现象的理念很重要,比如改变一个语句会产生何种现象,为什么会产生,这些都是要在调试中掌握的。中断的学习方法也是类似的,先实践发现有陌生的地方就去查看相应的寄存器,等实现了自己想要的现实再慢慢地解剖一下单片机的寄存器,这样学起来会更有意义,记得更牢。中断也没复杂的东西的,只不过学几个中断函数,优先级之类的。有一定C语言基础的同学在优先级这一块可以联系C语言中运算符的优先级,我相信有了C语言基础定义一两个中断函数也不是什么问题了的。我学过的单片机的内容在我文档的实例之中,实例的数量不多,但这些都是直接点击单片机知识点的。随着我的学习渐渐地深入后我再把我实现过的东西写入实例之中吧。希望对你有所帮助,祝成功!
二.系统软件设计图4 系统程序流程图 系统程序流程图系统程序流程图如图4所示。 温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;t= tt*10+; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。参考文献[1]林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用 北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差的分析及补偿[J] 微计算机信息 2002,18(4):37~38
二.系统软件设计图4 系统程序流程图 系统程序流程图系统程序流程图如图4所示。 温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;t= tt*10+; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。参考文献[1]林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用 北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差的分析及补偿[J] 微计算机信息 2002,18(4):37~38
用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0
温度相关的毕业设计 ·基于单片机的数字温度计的设计·基于MCS-51数字温度表的设计·单片机的数字温度计设计·基于单片机的空调温度控制器设计·基于数字温度计的多点温度检测系统·设施环境中温度测量电路设计·DS18B20数字温度计的设计·多点温度采集系统与控制器设计·基于PLC和组态王的温度控制系统设计·温度监控系统的设计·用单片机进行温度的控制及LCD显示系统的设计·单片机电加热炉温度控制系统·全氢罩式退火炉温度控制系统·数字温度计的设计·基于单片机AT89C51的语音温度计的设计·基于单片机的多点温度检测系统·基于51单片机的多路温度采集控制系统·基于单片机的数字显示温度系统毕业设计论文·基于MCS51单片机温度控制毕业设计论文·西门子S7-300在温度控制中的应用·燃气锅炉温度的PLC控制系统·焦炉立火道温度软测量模型设计·温度检测控制仪器·智能温度巡检仪的研制·电阻炉温度控制系统·数字温度测控仪的设计·温度测控仪设计·多路温度采集系统设计·多点数字温度巡测仪设计·LCD数字式温度湿度测量计·64点温度监测与控制系统·温度报警器的电路设计与制作·基于单片机的数字温度计的电路设计·全氢煤气罩式炉的温度控制系统的研究与改造·温度检测与控制系统·红外快速检测人体温度装置的设计与研制·具有红外保护的温度自动控制系统的设计·基于单片机的温度测量系统的设计·数字温度计设计·DS18B20温度检测控制·PN结(二极管)温度传感器性能的实验研究·多功能智能化温度测量仪设计·软胶囊的单片机温度控制(硬件设计)·空调温度控制单元的设计·大容量电机的温度保护——软件设计·大容量电机的温度保护 ——硬件电路的设计·基于DS18B20温度传感器的数字温度计设计·热轧带钢卷取温度反馈控制器的设计·基于单片机的温度采集系统设计·多点温度数据采集系统的设计·基于单片机的数字式温度计设计·18B20多路温度采集接口模块·基于单片机的户式中央空调器温度测控系统设计·单片机电阻炉温度控制系统设计·基于单片机的电阻炉温度控制系统设计·基于ARM的嵌入式温度控制系统的设计·基于DS18B20的多点温度巡回检测系统的设计·基于单片机的多点无线温度监控系统·基于MSC1211的温度智能温度传感器·用集成温度传感器组成测温控制系统·室内温度控制报警器·自动温度控制系统·烤箱温度控制系统·基于单片机的电加热炉温度控制系统设计·基于PLC的温度监控系统设计·基于无线传输技术的室温控制系统设计——温度控制器软件设计·温度箱模拟控制系统·基于无线传输技术的室温控制系统设计——温度控制器硬件设计·数字式温度计的设计·温度监控系统设计·基于单片机的电阻炉温度控制系统·基于plc的温度湿度检测和显示系统设计·基于单片机的3KW电炉温度控制系统的设计·腔型肿瘤热疗仪温度控制系统设计·基于AT89S51单片机的数字温度计设计·吹塑薄膜挤出机温度控制与检测系统设计·电加热炉PLC温度自适应控制系统的研究·高压母线温度自动监测装置的设计·高压母线温度自动检测装置·小型热水锅炉单片机温度控制系统·消毒柜单片机温度控制·嵌入式系统在多点温度控制中的应用·单片机温度控制系统·上下限温度报警器的设计·基于单片机的饮水机温度控制系统设计·基于单片机的温度测量系统设计
我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}
近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。下面是我精心推荐的一些单片机技术论文题目,希望你能有所感触! 单片机技术论文题目 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. 大专计算机毕业论文题目
单片机是经历长期开发与应用的嵌入式系统电子设备,与计算机相比,它具有许多显著的特点。这是我为大家整理的单片机科技论文,仅供参考!
单片机在现代科技中的应用与前景
[摘 要]单片机是经历长期开发与应用的嵌入式系统电子设备,与计算机相比,它具有许多显著的特点。当前,单片机在现代科技应用的领域越来越广泛,并在家用电器、工业控制领域、医疗器械、仪器仪表等方面取得了良好的应用效果。在未来,单片机的更新换代仍然不会停止,它会向更加智能化,自动化,抗干扰能力强,集成度高,实用性好等方面的发展。
[关键词]单片机;现代科技;应用与前景
中图分类号: 文献标识码:A 文章编号:1009-914X(2014)20-0054-02
随着现代科技的不断发展,嵌入式技术的开发及其应用在现代科技中的应用显得越来越重要。在嵌入式技术发展的趋势下,单片微型计算机(简称“单片机”)应运而生,并随着时代要求的发展不断地更新换代。到20世纪70年代前半期,单片机己经发展为嵌入式系统最为突出的典型代表之一,英特尔公司更将其命名为“嵌入式微控制器”。 单片机的产生极大程度上推动着整个现代科技应用及其功能的发展,并在许多实际应用领域都取得了显著的成效,受到社会各界的关广泛关注,其应用技术发展的越来越成熟,具体实践应用到各个领域,开发技术也越来越智能化。本文以单片机的发展及其特点为逻辑起点,对单片机的应用性及其前景进行说明与分析。
一、单片机的发展及其特点
单片机又称“单片微型计算机”,是典型的嵌入式微控制器(Microcontroller Unit),“它并不是落实某一个具体的逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,其功能类似于一台最小系统的微型的计算机。具体来说,单片机由运算器、控制器、存储器、输入输出设备构成”[1]。
单片机产生于20世纪70年代,经历了三个发展阶段(SCM、MCU、SOC)。初期的SCM单片机基本上都是4、8位的。其中,INTEL的8051是初期单片机最具典型意义的。此后在INTEL 8051的基础上开发并应用了MCS51系列MCU系统。 由于MCS51系列MCU系统的单片机系统直到现在还在广泛使用,单片机伴随这科学技术的发展逐步开发出16位系统。但由于16位单片机的性价比不够理想,因此并未得到很广泛的应用。90年代后,随着电子产品市场的进一步繁荣发展,单片机的开发与应用得到了显著的提升。特别是INTEL i960系列与ARM系列在社会上的实践应用,32位单片机逐步地取代16位单片机的在嵌入式技术中的领先地位,并且在市场上取得了两好的效益。
与计算机相比,单片机的特点主要表现在如下几个方面:首先,单片机使用简单便捷,可实现体系布局的模块化;其次,单片机耐用时间长,有较高的耐用性;再次,单片机的处理能力强,运行速度较快;此外,单片机还具备低电压、低功耗、控制功能与环境适应能力强的特点;最后,单片机体系完备,集成了计数器、串行口、并行口、CPU、RAM与ROM等应用组件。
二、单片机在现代科技中的应用
单片机具备许多优良的特点,广泛的应在诸多领域,例如家用电器、工业控制领域、医疗器械、仪器仪表等方面,当前单片机己经得到广泛的使用,并产生了良好的应用效果。具体来说,单片机在现代科技中的应用主要体现在以下几个方面:
(一)在家用电器领域中的应用?
随着时代的发展,追求更高、更好的生活品质,对家用电器的功能需求也逐年提高,这就迫使家用电器的不断升级与改造。单片机可以满足这种需求,通过安装单片机,实现整个家用电器的智能化控制,识别相关的信息,选择合适的用户满意信息,使得家用电器在引入单片机后很好的提高了性能,更新换代的速度也得到了提升,提高了企业的竞争力,单片机应用的前景越来越广泛。例如在电视机上采用单片机技术可以使得足不出户的进行大型智能游戏的控制,选择频道方式更加便捷;微波炉可以实现食物的自动选择加热时间以及温度;洗衣机自动根据衣服材质、赃物程度,自动选择洗涤剂的用量、强度、时间等。
(二)在工业控制领域的应用
在工业领域,随着自动化的发展,尤其是在特殊环境下的,例如核工业、粉尘工业、电力高压行业等方面,对人的危害性比较大,危险性高的行业,大部分采用的是自动化操作。在此领域,单片机从此兴起,并随着应用的更加广泛在工业化控制管理,通过单片机的数据采集与过程控制手段,实现了工业化有效的智能控制管理工作,例如报警系统、流水线作业系统、自动喷漆系统等,都得到了很好的应用,随着时代的发展,其应用领域会更加广泛。
(三)在医疗器械领域的应用
现代社会,医疗条件与技术不断提升,自身的身体健康越来越受到关注然而在现有的条件下,消毒条件、住院条件,检测手段、医疗手段等都存在着诸多问题,直接影响着看病的好坏,影响着每个人的身体健康。随之而来的是现在单片机的应用在医疗器械领域,由于自身的特点与有时,可以进行多种疾病的分析,提高设备检测的准确性与可靠性,提高了诊断下药的准确性,保证了身体健康,医疗设备结构更加合理化、智能化、自动化,例如在超声波检测、呼吸系统、分析仪器等。
(四)在仪器仪表领域的应用
现在仪器仪表的生产的好坏,直接代表着一个国家的制造水平。在仪器仪表领域不断的向着智能化方向发展,单片机的作用在此领域尤其体现到其优点,具有重要的意义单片机集成度高,可靠性高、小巧,应用在仪器仪表上使得整个行业得到了很大的改变,随着单片机的集成到仪器仪表中,使得自身的设备向着数字化,智能化发展,其各方面包括处理功能测试功能,控制功能等都得到了很大的提升。例如在航空的仪器仪表中采用单片机技术,保证了仪器的可靠性、准确性,集成性高,事故率降低,提升了航天航空电子系统的智能化与自动化树皮,信息传递有效的进行。
三、单片机在现代科技中的发展前景
随着科学技术的日新月异,单片机推陈出新的速度也愈来愈快。伴随着新的CPU的加入,多位的单片机共同开发与发展是整个发展的方向。很长一段时间,单片集成电路技术在8位机发展的主要方向,随着网络通信技术的发展,16位机、32位机、64位机成为未来的发展方向。单片机的运行也会愈来愈快,防磨损能力也随之提升,具有很好的低噪声、可靠性高的优点。现在单片机为了提高抗干扰性采用EFT技术,使得单片机受外界的干扰性小,系统的时钟信号得到了很好的保证,可靠性得到了提高;布线及其驱动技术应用在单片机上降低了噪声,不至于对单片机内部的电路信号进行干扰。单片机还应用OPT技能,较之掩膜技术有着生产周期短,风险小特点,采用裸片技术或者贴面技术,实现了OPT芯片的接触不良的问题,使得得到了广泛的应用。
随着电子信息技术的发展与应用领域的逐步广泛,单片机向更加智能化,自动化,抗干扰能力强,集成度高,实用性好等方面的发展。同时,芯片的设计也愈发复杂,单片机的功能更加齐全,保有良好的耐用性、可延伸性,单片机的设计与开发、应用的前景十分广泛,领域更加宽广,智能化程度更高。
单片机在目前的发展形势下,还表现出以下趋势:首先,可靠性及应用越来越水平高和互联网连接已是一种明显的走向。 其次,所集成的部件越来越多。最后,功耗越来越低和模拟电路结合越来越多。
结语
总之,在第二十一世纪,计算机技术、智能电子技术的发展,在现代社会中发挥着举足轻重的作用,嵌入式系统是电子技术的重要组成部分,其中单片机又是嵌入式系统最具典型的代表,具有强大的发展潜力。单片机技术提高了控制领域的效率以及可靠性,实现了工业的自动化,智能化,未来的工业化发展中将随着科技的不断进步而发展。
[1] 李璞,郭敏. 单片机的应用与发展[J]. 中国校外教育 2010年S1期
单片机应用技术探究
摘要:近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。目前大量的嵌入式系统均采用单片机,本文分析了单片机的形成及发展过程以及当前的技术进展,同时分析了影响单片机系统可靠性的原因,并论述提高单片机可靠性的措施。
关键词:单片机;可靠性技术;发展趋势
中图分类号: 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.
温度控制系统的设计(555定时器) [单片机] 04-20摘要 在日常的生产与生活中,温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。所以人们需要用到良好的温度检测及控制装置系统来解决这些问题。本文介绍了采用A/D ...http:// 化工液的温度控制与检测(程序+电路图+Protel原理图+PCB图)精品☆ [电子] 01-01摘 要 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度监控系统。文中传感器理论单片机实际应用有机结合,详细地讲述了利用AD5 ...http:// 温度控制器的设计(AT89S51单片机)(程序+电路图+原理图+PCB图)☆ [单片机] 11-17摘 要 随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机对这些被控参数进行控制已成为当今的主流。本文介绍了以AT89C51单片机为核心的数字温度测量及自动控制系统的设计,该温度控制器可以实时显示和设定温度,实现对温度的自动控制。其 ...http:// MCS-51单片机智能温度控制系统设计 [单片机] 07-16温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。 ...http:// 基于AT89C2051单片机的温度控制系统的设计(程序+电路图)☆ [单片机] 07-16摘 要 :温度控制在工业生产中运用的非常广泛,其控制过程中存在着很大的时滞性和很强的干扰。采用一般的控制方法如PID控制,都不能很好地满足要求。而基于AT89C2051单片机的温度控制策略可以很容易的解决这些问题。 以AT89C2051单片机为基础,结合温度传感 ...http:// 基于单片机饮水机温度控制的设计(实物图+原理图+PCB图+程序)☆ [单片机] 07-16摘 要 温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必 ...http:// 基于AT89S51单片机核心的温度控制系统的设计 [单片机] 07-16摘要 本文介绍了以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路 ...http:// 基于单片机的温度控制系统的设计 [单片机] 07-16摘 要 本文列举了单片机在锅炉中的一个实际应用,并对设计的温度控制系统的组成及主要电路的作用进行了详细的介绍。 文章介绍了用单片机控制的、基于数字温度传感器DS1820的温度测量和控制系统:重点阐述了DS1820的工作原理、指令系统、单片机与DS1820之间的 ...http:// 基于单片机的模糊PID温度控制系统设计 [单片机] 07-16摘 要 温度控制在热处理工艺过程中,是一个非常重要的环节。控制精度直接影响着产品质量的好坏。本文研究的电炉是一种具有纯滞后的大惯性系统,传统的加热炉控制系统大多建立在一定的模型基础上,难以保证加热工艺要求。因此本文将模糊控制算法引入传统的加热 ...http:// 嵌入式系统在多点温度控制中的应用 [嵌入式] 07-16第一章 概述 引言 嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实际上嵌入式系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技 ...http://
价格合理!信工毕业 就会单片机
用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0
第1章 硬件电路分析第节 硬件电路概述该测温系统由五部分组成:电源模块、侦测模块、显示模块、控制模块、通讯模块。电源模块完成将200V,50Hz市电转换为稳定的直流+5V电源的任务,包含变压、整流、滤波和稳压四部分,其中稳压部分采用LM7805集成块。串口通信模块的任务是实现单片机与计算机的通信,通过软件将程序下载至单片机中进行运行调试以上内容来自5173论文网 点击参考更多
温度相关的毕业设计 ·基于单片机的数字温度计的设计·基于MCS-51数字温度表的设计·单片机的数字温度计设计·基于单片机的空调温度控制器设计·基于数字温度计的多点温度检测系统·设施环境中温度测量电路设计·DS18B20数字温度计的设计·多点温度采集系统与控制器设计·基于PLC和组态王的温度控制系统设计·温度监控系统的设计·用单片机进行温度的控制及LCD显示系统的设计·单片机电加热炉温度控制系统·全氢罩式退火炉温度控制系统·数字温度计的设计·基于单片机AT89C51的语音温度计的设计·基于单片机的多点温度检测系统·基于51单片机的多路温度采集控制系统·基于单片机的数字显示温度系统毕业设计论文·基于MCS51单片机温度控制毕业设计论文·西门子S7-300在温度控制中的应用·燃气锅炉温度的PLC控制系统·焦炉立火道温度软测量模型设计·温度检测控制仪器·智能温度巡检仪的研制·电阻炉温度控制系统·数字温度测控仪的设计·温度测控仪设计·多路温度采集系统设计·多点数字温度巡测仪设计·LCD数字式温度湿度测量计·64点温度监测与控制系统·温度报警器的电路设计与制作·基于单片机的数字温度计的电路设计·全氢煤气罩式炉的温度控制系统的研究与改造·温度检测与控制系统·红外快速检测人体温度装置的设计与研制·具有红外保护的温度自动控制系统的设计·基于单片机的温度测量系统的设计·数字温度计设计·DS18B20温度检测控制·PN结(二极管)温度传感器性能的实验研究·多功能智能化温度测量仪设计·软胶囊的单片机温度控制(硬件设计)·空调温度控制单元的设计·大容量电机的温度保护——软件设计·大容量电机的温度保护 ——硬件电路的设计·基于DS18B20温度传感器的数字温度计设计·热轧带钢卷取温度反馈控制器的设计·基于单片机的温度采集系统设计·多点温度数据采集系统的设计·基于单片机的数字式温度计设计·18B20多路温度采集接口模块·基于单片机的户式中央空调器温度测控系统设计·单片机电阻炉温度控制系统设计·基于单片机的电阻炉温度控制系统设计·基于ARM的嵌入式温度控制系统的设计·基于DS18B20的多点温度巡回检测系统的设计·基于单片机的多点无线温度监控系统·基于MSC1211的温度智能温度传感器·用集成温度传感器组成测温控制系统·室内温度控制报警器·自动温度控制系统·烤箱温度控制系统·基于单片机的电加热炉温度控制系统设计·基于PLC的温度监控系统设计·基于无线传输技术的室温控制系统设计——温度控制器软件设计·温度箱模拟控制系统·基于无线传输技术的室温控制系统设计——温度控制器硬件设计·数字式温度计的设计·温度监控系统设计·基于单片机的电阻炉温度控制系统·基于plc的温度湿度检测和显示系统设计·基于单片机的3KW电炉温度控制系统的设计·腔型肿瘤热疗仪温度控制系统设计·基于AT89S51单片机的数字温度计设计·吹塑薄膜挤出机温度控制与检测系统设计·电加热炉PLC温度自适应控制系统的研究·高压母线温度自动监测装置的设计·高压母线温度自动检测装置·小型热水锅炉单片机温度控制系统·消毒柜单片机温度控制·嵌入式系统在多点温度控制中的应用·单片机温度控制系统·上下限温度报警器的设计·基于单片机的饮水机温度控制系统设计·基于单片机的温度测量系统设计
用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0
二.系统软件设计图4 系统程序流程图 系统程序流程图系统程序流程图如图4所示。 温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;t= tt*10+; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。参考文献[1]林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用 北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差的分析及补偿[J] 微计算机信息 2002,18(4):37~38
我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}