首页 > 期刊投稿知识库 > 单片机计步器论文参考文献

单片机计步器论文参考文献

发布时间:

单片机计步器论文参考文献

最好的计步器

最好的计步器,走在大街上有时候我们经常会看到别人的手腕上像戴了一块手表样的仪器,那个就是计步器,它能统计每天人走的步数、时间、距离等数据,测算热量的消耗,那么最好的计步器有哪些?接下来跟我一起去看看吧。

计步器哪种最好

2D计步器: 老一代的2D振动传感器其实就是一个平衡锤在上下振动时平衡被破坏使一个触点能出现通/断动作,由电子计数器记录并显示就完成了主要功能,其他的热量消耗,路程换算均由电路完成。一般这种2D的电子计步器在使用的时候都需要垂直地面佩带才能感受人体的震动产生数据记录,所记录的数据误差偏大,价格便宜。

3D计步器: 当前市面上主流都是使用3D式电子计步器。3D意味着全方位感受人体震动,也就是不需要再垂直地面佩带,只要带在身边口袋中,手提包内都可以计步。使用更为先进的电子传感器,计步更精准,体积更小。

手表计步器: 手表计步器也就是将3D计步器的芯片整合在手表中。这样用户可以通过佩戴计步器手表来计算步数,跑步速度,跑步距离,卡路里,并且还能拥有手表的日历,闹钟,秒表,计时等等功能。

软件计步器 : 手机型就是使用手机内的'应用或微信内工具进行记步。用户可以不用购买任何计步器设备,直接手机就能使用计步器功能。

计步器如何使用

1、拔除电池绝缘片开机。(将计步器后面的电池绝缘片拔除激活计步器)

2、设置个人信息包括体重和步距。(提示:步距是迈一步,前脚尖到后脚尖的距离)

3、佩戴上计步器。圆形带背扣的2D计步器一般放在腰部,垂直地面佩带;方形款3D计步器对佩带方式无要求,只要带在身边口袋中,手提包内都可以计步;手表型自然是佩戴在手腕上;手机计步软件只需将手机放在身体即可。(具体佩带方式可参考包装盒背面图片)

4、正式使用前需清零数据,再按下开始记忆计步的按钮(使用者在正式使用计步器前应对计步界面上的计步数清零,从而减少计步误差)

使用计步器有什么好处

了解自己每天运动的步数及所消耗的卡路里。对于许多喜欢运动的人来说,每天步行、跑步或是健走都成为了习惯,但对于一天的运动量与消耗的卡路里都不了解。而只要你带上计步器,它就能显示你每天所走的步数与消耗的卡路里,让运动更直观。

有利于监督你每天的运动,养成日行万步的习惯。使用计步器能激发参加锻炼的人的动力和热情。越是惯于久坐不爱运动,宅居的人,计步器对他们的帮助就越大。计步器并不是什么神奇的东西,它只是对懒惰,没有激情的许多朋友起到了监督和催化剂的作用,让你养成每日行走10000步的健康好习惯。

有利于调控你的运动计划。电子计步器就是有一个量化的指标,通过步数、距离、时间、速度等数据,可以测算出你运动消耗的卡路里与热量,从而掌握运动量。电子计步器能有效的监控你每天步行的步数,有利于调控你的运动计划。

计步器怎么用?计步器的原理

计步器怎么用?

计步器已经成为越来越多人的运动工具,然而不少人对与如何使用还是存在着疑问。计步器通常有清除(RESET),模式(MODE),设置(SET)三种按键,有的厂家的计步器就加入了背光按键,还有MP3按键等附加功能;但基础按键不外乎这三种。

通常模式键(MODE)是用来切换查看数据,设置键(SET)顾名思义就是调整设置数据。计步器设置数据时,可调整的数据会闪烁,这时候调整数据的方式根据厂家的按键设置叫法不同,设置的操作也不一样。

计步器的流程一般是:将计步器后面的电池绝缘片拔除激活计步器,随后进行个人信息包括体重和步距的设置,其中步距是第一步的前脚尖到后脚尖的距离。计步器一般是佩戴在运动者的手上,圆形带背扣的2D计步器需垂直地面佩带;方形款3D计步器对佩带方式无要求。

最后使用者在正式使用计步器前应对计步界面上的计步数清零,减少计步误差。

计步器的原理

人们越来越注重自己的健康,跑步成为一种方便而又有效的锻炼方式。计步器可以帮助人们实时掌握锻炼情况。它的主要功能是检测步数,通过步数和步幅可计算行走的路程。

计步器要实现检测步数首先要对人走路的姿态有一定了解。行走时,脚、腿、腰部,手臂都在运动,它们的运动都会产生相应的加速度,并且会在某点有一个峰值。从脚的加速度来检测步数是最准确的,但是考虑到携带的方便,我们选择利用腰部的运动来检测步数。

计步器中一般采用一种加速度计来感受外界的震动。计步器的整机原理采集加速度信息并将数据送到单片机进行处理;单片机控制整个系统的工作并从数据中检测出步数送到LCD进行显示;外部控制按键进行开关机控制以及功能选择等。以腰部的上下位移最为明显,所以记步器挂在腰带上最为适宜。

所谓的振动传感器其实就是一个平衡锤在上下振动时平衡被破坏使一个触点能出现通/断动作。它里面有一个机械的震子,运动时会产生上下震动,机器通过收集震子运动的频率来计算数值,计算消耗卡路里。

单片机步进电机论文参考文献

步进电机作为执行元件, 是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。我为大家整理的电机控制技术论文,希望你们喜欢。 电机控制技术论文篇一 步进电机控制系统 摘要:步进电机作为执行元件, 是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展, 步进电机的需求量与日俱增, 在各个国民经济领域都有应用。 关键词:步进电机;执行元件;计算机;发展 1步进电机原理及特征 1.1步进电机的目前发展情况 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。当步进驱动器接收到一个脉冲信号, 它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”), 它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量, 从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的目的。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 即给电机加一个脉冲信号, 电机则转过一个步距角。这一线性关系的存在, 加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域使用步进电机进行控制变得非常简单。步进电机可以作为一种控制用的特种电机, 利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 1.2步进电机的特点 1.步进电动机工作时每相绕组不是恒定地通电, 而是按一定的规律轮流通电。 2.每输入一个脉冲电信号转子转过的角度称为步距角。 3.步进电机可以按特定指令进行角度控制, 也可以进行速度控制。角度控制时, 每输入一个脉冲, 定子绕组就换接一次, 输出轴就转过一个角度, 其步数与脉冲数一致, 输出轴转动的角位移量与输入脉冲成正比。速度控制时, 步进电机绕组中送入的是连续脉冲, 各相绕组不断地轮流通电, 步进电机连续动转, 它的转速与脉冲频率成正比。改变通电顺序, 即改变定子磁场旋转方向, 就可以控制电机正转或是反转。 1.3步进电机的一些典型运用场合 ①步进电机主要用于一些有定位要求的场合。例如:线切割的工作台拖动,植毛机工作台(毛孔定位),包装机(定长度)。基本上涉及到定位的场合都用得到。 ②广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。 ③步进电机在电脑绣花机等纺织机械设备中有着广泛的应用,这类步进电机的特点是保持转矩不高,频繁启动反应速度快、运转噪音低、运行平稳、控制性能好、整机成本低。 目前用于电脑绣花机的步进电机多数为三相混合式步进电机,并采用细分驱动技术可以大大改善步进电机的运行品质,减少转矩波动,抑制振荡,降低噪音,提高步矩分辨率。 1.4 步进电机的运转原理及结构 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。 1.5 旋转 如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力,以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。 如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て。 这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,A……通电,电机就反转。由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。 2电路设计分析 2.1 8253及8255驱动步进电机电路 ①按图连接线路,利用8255 输出脉冲序列,开关K0~K6 控制步进电机转速,K7控制步进电机转向。8255 CS 接288H~28FH。PA0~PA3 接BA~BD;PC0~PC7 接K0~K7。 ②编程:当K0~K6 中某一开关为“1”(向上拨)时步进电机启动,并且电机转动速度大小不同。K7 向上打电机正转,向下打电机反转。 2.2实验重要参数计算 由实际测试得,stepcount步数设定为约59步时。步进电机转动一圈。 由实验要求:先顺时针,每分钟6圈,转十分钟。约得stepcount=59*6*10=3540。 停止三秒:8086机器周期为1/5MHz.3s=1/5MHz*15*exp6即15M个机器周期的指令。 后逆时针,每分钟30圈,转十分钟。约得stepcount=59*30*10=17700。 2.3 实际问题及解决方法 ①硬件连接及软件程序不够熟练,经多方面查资料,翻阅书籍,确定设计方案及硬件软件的具体设计内容。 ②键盘及LED显示的控制不够理想,经程序的细心解读,最终达到了设计的目的。按10号键显示0。。。0030,按12号键显示1。。。0006,按14号键启动运行,按15号键停止运行。 ③转速控制,开始不够精确。经反复测试,最终确定为59步每圈。并计算出6R/MIN,30R/MIN的设定步数。 3总结体会 首先,利用星研集成环境软件编辑并运行程序,在STAR ES598PCI实验仪上调试实验结果,分析实验程序及硬件电路;然后,在利用原有源程序进行实验时,电机的转速控制不是很明显,这就要求修改控制步速Takesetpcount的数值,及8253的分频数,以使电机转速达到6r/min和30r/min。其次,调节8259控制键盘及显示,最终达到实时显示转速及转动方向,并用键盘控制其启动与停止。由于步进电动机的运转是由电脉冲信号控制的,步进电动机的角位移量或线位移量与脉冲数成正比,每给一个脉冲,步进电机就转动一个角度(步距角)或前进/倒退一步,所以希望清晰的看到电机的此特性。我们通过设定步速及转速,此时可以观测到电机的步进及转动一圈的步数。 参考文献 【1】王忠民,等。微型计算机原理(第二版)。西安:西安电子科技大学出版社,2007 【2】江晓安,董秀峰。模拟电子技术(第三版)。西安:西安电子科技大学出版社,2009 【3】李全利。单片机原理及接口技术。北京:高等教育出版社,2010 步进电机控制系统 韩 浩 (西安文理学院物理与机械电子工程系 陕西西安 710000) 摘要:步进电机作为执行元件, 是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展, 步进电机的需求量与日俱增, 在各个国民经济领域都有应用。 关键词:步进电机;执行元件;计算机;发展 1步进电机原理及特征 1.1步进电机的目前发展情况 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。当步进驱动器接收到一个脉冲信号, 它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”), 它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量, 从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的目的。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 即给电机加一个脉冲信号, 电机则转过一个步距角。这一线性关系的存在, 加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域使用步进电机进行控制变得非常简单。步进电机可以作为一种控制用的特种电机, 利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 1.2步进电机的特点 1.步进电动机工作时每相绕组不是恒定地通电, 而是按一定的规律轮流通电。 2.每输入一个脉冲电信号转子转过的角度称为步距角。 3.步进电机可以按特定指令进行角度控制, 也可以进行速度控制。角度控制时, 每输入一个脉冲, 定子绕组就换接一次, 输出轴就转过一个角度, 其步数与脉冲数一致, 输出轴转动的角位移量与输入脉冲成正比。速度控制时, 步进电机绕组中送入的是连续脉冲, 各相绕组不断地轮流通电, 步进电机连续动转, 它的转速与脉冲频率成正比。改变通电顺序, 即改变定子磁场旋转方向, 就可以控制电机正转或是反转。 1.3步进电机的一些典型运用场合 ①步进电机主要用于一些有定位要求的场合。例如:线切割的工作台拖动,植毛机工作台(毛孔定位),包装机(定长度)。基本上涉及到定位的场合都用得到。 ②广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。 ③步进电机在电脑绣花机等纺织机械设备中有着广泛的应用,这类步进电机的特点是保持转矩不高,频繁启动反应速度快、运转噪音低、运行平稳、控制性能好、整机成本低。 目前用于电脑绣花机的步进电机多数为三相混合式步进电机,并采用细分驱动技术可以大大改善步进电机的运行品质,减少转矩波动,抑制振荡,降低噪音,提高步矩分辨率。 1.4 步进电机的运转原理及结构 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。 1.5 旋转 如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力,以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。 如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て。 这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,A……通电,电机就反转。由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。 2电路设计分析 2.1 8253及8255驱动步进电机电路 ①按图连接线路,利用8255 输出脉冲序列,开关K0~K6 控制步进电机转速,K7控制步进电机转向。8255 CS 接288H~28FH。PA0~PA3 接BA~BD;PC0~PC7 接K0~K7。 ②编程:当K0~K6 中某一开关为“1”(向上拨)时步进电机启动,并且电机转动速度大小不同。K7 向上打电机正转,向下打电机反转。 2.2实验重要参数计算 由实际测试得,stepcount步数设定为约59步时。步进电机转动一圈。 由实验要求:先顺时针,每分钟6圈,转十分钟。约得stepcount=59*6*10=3540。 停止三秒:8086机器周期为1/5MHz.3s=1/5MHz*15*exp6即15M个机器周期的指令。 后逆时针,每分钟30圈,转十分钟。约得stepcount=59*30*10=17700。 2.3 实际问题及解决方法 ①硬件连接及软件程序不够熟练,经多方面查资料,翻阅书籍,确定设计方案及硬件软件的具体设计内容。 ②键盘及LED显示的控制不够理想,经程序的细心解读,最终达到了设计的目的。按10号键显示0。。。0030,按12号键显示1。。。0006,按14号键启动运行,按15号键停止运行。 ③转速控制,开始不够精确。经反复测试,最终确定为59步每圈。并计算出6R/MIN,30R/MIN的设定步数。 3总结体会 首先,利用星研集成环境软件编辑并运行程序,在STAR ES598PCI实验仪上调试实验结果,分析实验程序及硬件电路;然后,在利用原有源程序进行实验时,电机的转速控制不是很明显,这就要求修改控制步速Takesetpcount的数值,及8253的分频数,以使电机转速达到6r/min和30r/min。其次,调节8259控制键盘及显示,最终达到实时显示转速及转动方向,并用键盘控制其启动与停止。由于步进电动机的运转是由电脉冲信号控制的,步进电动机的角位移量或线位移量与脉冲数成正比,每给一个脉冲,步进电机就转动一个角度(步距角)或前进/倒退一步,所以希望清晰的看到电机的此特性。我们通过设定步速及转速,此时可以观测到电机的步进及转动一圈的步数。 参考文献 【1】王忠民,等。微型计算机原理(第二版)。西安:西安电子科技大学出版社,2007 【2】江晓安,董秀峰。模拟电子技术(第三版)。西安:西安电子科技大学出版社,2009 【3】李全利。单片机原理及接口技术。北京:高等教育出版社,2010 电机控制技术论文篇二 步进电机的加减速控制 [摘 要]本文详细分析了步进电机及其工作原理,并基于MCS-51系列单片机设计步进电机的数字控制系统。在设计中加入了步进电机的细分技术和恒频脉宽调制技术。结合脉冲分配器的使用,开发了简单的细分驱动控制电路。 [关键词]步进电机;单片机;细分控制 中图分类号:F140 文献标识码:A 文章编号:1009-914X(2015)40-0038-01 一、引言 随着科学技术的发展和微电子控制技术的应用,步进电机作为一种可以精确控制的电机,广泛应用在高精密加工机床,微型机器人控制,航天卫星等高科技领域。 二、 步进电机的原理 步进电机是一种控制用的特种电机,它无法像传统电机那样直接通过输入交流或直流电流使其运行,而是需要输入脉冲电流来控制电机的转动,所以步进电机又称为脉冲电机。其功能是将脉冲电信号变换为相应的角位移或直线位移,即给一个脉冲电信号,电机就转动一个角度或前进一步。按励磁方式可以分为反应式、永磁式和混合式三种类型,本设计中选用的是反应式步进电机,其结构如图1所示。 这是一台四相反应式步进电机的典型结构。共有4套定子控制绕组,绕在径向相对的两个磁极上的一套绕组为一相,也就是说定子上两个相对的大齿就是一个相,电机按照A―B―C―D―A……的顺序不断接通和断开控制绕组,转子就会一步一步的连续转动。其转速取决与各控制绕组通电和断电的频率,即输入的脉冲频率。旋转的方向则取决与各控制绕组轮流通电的顺序。 三、步进电机的驱动控制 步进电机不能直接接到直流或交流电源上工作,必须使用专门的步进电机驱动控制器。步进电机和步进电机驱动器构成步进电机驱动系统。步进电机驱动系统的性能,不仅取决于步进电机自身的性能,也取决于步进电机驱动器的优劣。 步进电机的驱动方式有很多种,包括单电压驱动、双电压驱动、斩波驱动、细分驱动、集成电路驱动和双极性驱动。本设计选用的是恒频脉宽调制细分驱动控制方式,这是在斩波恒流驱动的基础上的进一步改进,既可以使细分后的步距角均匀一致,又可以避免复杂的计算。 四、恒频脉宽调制细分电路的设计 1、脉冲分配的实现 在步进电机的单片机控制中,控制信号由单片机产生。它的通电换相顺序严格按照步进电机的工作方式进行。通常我们把通电换相这一过程称为脉冲分配。本设计中选用8713脉冲分配器芯片来进行通电换相控制。 2、系统控制电路设计 步进电机控制系统主电路设计如图2所示。 从上图可以看出,8713脉冲分配器的5、6、7引脚均接高电平,所以这是一个控制四相步进电机按四相八拍运行的控制电路。8751单片机的P1.0和P1.1端口分别与8713脉冲分配器的3引脚和4引脚相连。由8751单片机的P1.0端提供步进脉冲,P1.1端则控制步进电机的转向,输出高电平,步进电机正传;输出低电平,步进电机反转。单片机依然是控制的主体,它通过定时器T0输出20kHz的方波,送D触发器,作为恒频信号。同时,由8713脉冲分配器的脉冲输出端输出的方波脉冲信号作为控制信号,它的方波电压的每一次变化,都使转子转动一步。 当8713脉冲分配器的脉冲输出端输出的方波脉冲信号Ua不变时,恒频信号CLK的上升沿使D触发器输出Ub高电平,使开关管T1、T2导通,绕组中的电流上升,采样电阻上R2上压降增加。当这个压降大于Ua时,比较器输出低电平,使D触发器输出Ub低电平,T1、T2截止,绕组的电流下降。这使得R2上的压降小于Ua,比较器输出高电平,使D触发器输出高电平,T1、T2导通,绕组中的电流重新上升。这样的过程反复进行,使绕组电流的波顶呈锯齿形。因为CLK的频率较高,锯齿形波纹会很小。 当Ua上升突变时,采样电阻上的压降小于Ua,电流有较长的上升时间,电流幅值大幅增长,上升了一个阶段,但由于这里输出的是方波信号而不是阶梯信号,所以只有一个上升阶段,也就是说这个“阶梯信号”只包含了一个阶,并没有把每一步细分成许多步,而是令输出脉冲信号上升和下降的坡度变大,使原本的方波输出变的圆滑,实现了控制信号类似梯形的平滑处理,如图3所示。 同样,当Ua下降突变时,采样电阻上的压降有较长时间大于Ua,比较器输出低电平,CLK的上升沿即使会让D触发器输出1也马上清零。电源始终被切断,使电流幅值大幅下降,降到新的阶段为止。 以上过程重复进行。Ua每一次变化,就会使转子转过一个细分步。 在这个电路中有一个最突出的特点,那就是用8713脉冲分配器所输出的脉冲信号取代了典型恒频脉宽细分电路中D/A转换器所提供的阶梯控制信号。这样的设计极大的简化了电路,并且降低了脉冲分配的控制难度。虽然用方波信号取代了阶梯波信号,使得单一相运行时的细分程度有所降低,但是由于步进电机的四相绕组是同进进行工作的,所以也可以达到了步进电机细分驱动控制的目的。 六、结束语 当前,步进电机的应用正不断深入到日常生活和工业制造的各个方面,并且国内外对步进电机及其控制技术的研究也在不断的进步。这些知识的掌握在今后的工作和生活之中将会起到非常积极的影响。 参考文献 [1] 吴守箴,臧英杰等.电气传动的脉宽调制控制技术[M].北京: 机械工业出版社,2002. [2] 王晓明.电机的单片机控制[M].北京航空航天大学出版社,2002. [3] 李建忠主编.单片机原理及应用[M].西安:西安电子科技大学出版社,2008. [4] 李仁定主编.电机的微机控制[M].北京:机械工业出版社,2004. [5] 黄勇,廖宇,高林.基于单片机的步进电机运动控制系统设计[J].电子测量技术,2008,31(5):150-154.看了“电机控制技术论文”的人还看: 1. 计算机控制系统论文 2. 有关计算机控制技术论文 3. plc应用技术论文 4. 计算机控制系统论文 5. 浅谈电机与电力拖动论文

本毕业设计课题是属于教师拟定性课题,主要是研究基于单片机的对步进电机的有效控制。步进电机是一种能将数字输入脉冲转换成旋转或直线增量运动的电磁执行元件,每输入一个脉冲电机转轴步进一个步距角增量。电机总的回转角与输入脉冲数成正比例,相应的转速取决于输入脉冲频率。 步进电机是机电一体化产品中关键部件之一,通常被用作定位控制和定速控制。步进电机惯量低、定位精度高、无累积误差、控制简单等特点。广泛应用于机电一体化产品中,如:数控机床、包装机械、计算机外围设备、复印机、传真机等。 Abstract This article mainly elaborated has been hanging the movement control system merit, introduced was hanging the movement control system function, the principle and the design process. Is hanging the movement control system is one of in control engineering domain important applications, its main target is to is controlled the object the movement condition, including path, speed and position implementation check. The movement control system compares with other control systems, has the system model simply, the check algorithm is unitary, also not complex characteristic and so on non-linearity and coupling situation. Also is precisely because the movement control system can implement to the path, the running rate, the pointing accuracy as well as the repetition precision accuracy control requirement, has the broad application foreground in each category of control engineering, therefore the movement control system has at present become in the check study application domain very much significant the research direction. Through the monolithic integrated circuit to stepping monitor check, implemented the motor-driven to cause the object at on the board which inclined the movement, The control section is the SST89E52 monolithic microcomputer which SST Corporation produces primarily, with when the 1602LCD liquid crystal screen and according to turned has implemented with the user interactive, through the keyboard entry different control command, the liquid-crystal display was allowed to display the setting value and the run the coordinates. The electrical machinery control section used LM324N four to transport puts and is connected the electronic primary device voluntarily to develop the 42BYG205 stepping monitor actuation electric circuit to implement the electrical machinery accuracy control. The algorithm partially for will suit the monolithic integrated circuit system to operate carries on optimizes many times, will reduce the microprocessor the operand. Has completed the object voluntarily the movement and according to the different setup path movement. Key words Magneto; 1602LCD; LM324N; Drive circuit 选择步进电机时,首先要保证步进电机的输出功率大于负载所需的功率。而在选用功率步进电机时,首先要计算机械系统的负载转矩,电机的矩频特性能满足机械负载并有一定的余量保证其运行可靠。在实际工作过程中,各种频率下的负载力矩必须在矩频特性曲线的范围内。一般地说最大静力矩Mjmax大的电机,负载力矩大[1 ]。 选择步进电机时,应使步距角和机械系统匹配,这样可以得到机床所需的脉冲当量。在机械传动过程中为了使得有更小的脉冲当量,一是可以改变丝杆的导程,二是可以通过步进电机的细分驱动来完成。但细分只能改变其分辨率,不改变其精度。精度是由电机的固有特性所决定。 选择功率步进电机时,应当估算机械负载的负载惯量和机床要求的启动频率,使之与步进电机的惯性频率特性相匹配还有一定的余量,使之最高速连续工作频率能满足机床快速移动的需要。 基于单片机的悬挂运动控制系统,具有硬件电路结构简单,精确度高,抗干扰性强等优点。 1.2 课题目的 培养综合运用四年大学所学知识去分析问题和解决实际问题的能力。在实践中检验所学知识,从而加强理论与实践的相结合。 体验一个科研项目开发的全过程,学会单片机开发应用方法,锻炼应用能力,动手能力。本课题设计是具有一定难度的基于单片机的应用系统开发项目,培养学生创新精神和创新能力。通过这次毕业论文及设计,检验的综合素质和专业教育的培养效果,并且使学会阅读、利用英文文献资料,阅读并翻译外文资料的能力,学会设计报告和论文。 1.3 课题意义 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员[ 3]。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 通过对“微机控制自动门系统”的研究和设计,精心撰写了微机控制自动门系统论文。本论文着重阐述了以单片机为主体,LED点阵显示芯片及步进电机为核心的系统。 本设计主要应用SST89E58作为控制核心,LED点阵显示芯片、步进电机、压力传感器、电位器相结合的系统。充分发挥了单片机的性能。其优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。 1.4 应解决的主要问题 在基于单片机的悬挂运动控制系统中,主要分三个部分设计,一个是输入和键盘显示模块;另一个是步进电机驱动模块;第三个是最小系统和输出模块设计。主要解决的问题是: 1. 单片机最小系统硬件设计; 2. 步进电机驱动模块设计; 3. 输出部分的软硬件设计; 4. 主程序设计; 5. 绘图板的设计。 1.5 技术要求 设计一电机控制系统,控制物体在倾斜(仰角≤100度)的板上运动。 在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm×100cm。物体的形状不限,质量大于100克。物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点。[看不到}

单片机期刊参考文献

单片机的参考文献1[1]田闯,.直流电源屏电池单片机监测系统[J].西铁科技,2001,(1).[2]陈国先,.语音芯片与PIC单片机的应用接口[J].福建信息技术教育,2005,(2).[3]孙玉艳,.实现PC机与单片机的数据通信与控制[J].广东白云职业技术学院广州白云工商高级技工学校学报,2002,(4).[4]陈兴祥,.MC7705芯片对单片机的动态掉电保护[J].宁夏机械,2002,(3).[5]田志华,.电池供电单片机的低功耗设计[J].宁夏机械,2002,(4).[6]李学军,.如何用MCS-51单片机扩展串口进行通讯[J].宁夏机械,2003,(2).[7]李海涛,.关于如何提高单片机系统可靠性的探讨[J].宁夏机械,2005,(3).[8]高彦波,李岩,毕晓燕,.PC与单片机之间的远距离并行通讯卡[J].电站设备自动化,2001,(3).[9]李艳红,.单片机I/O口不宜用作直接驱动出口[J].电站设备自动化,2003,(2).[10]彭同明,杨少华,.“单片机原理及应用”课程改革的分析[J].武汉电力职业技术学院学报,2004,(1).[11]宋青松,张旭东,王立贤,眭众国,.MCS—96系列单片机与IBM-PC系列微机之间通讯的实现[J].电站设备自动化,2001,(1).[12]顾勇,*,.基于MC68HC908单片机的伸缩自动门控制系统[J].通信与广播电视,2003,(4).[13]桂绍勇,彭同明,何新洲,.基于MEGA103单片机的数控系统研制[J].武汉电力职业技术学院学报,2005,(4).[14]李占芳,黄嘉兴,.面向煤炭应用型人才的单片机课程教学改革探索[J].价值工程,2011,(7).[15]石明江,顾亚雄,张禾,.单片机原理与应用课程教学改革与实践[J].计算机教育,2011,(6).[16]翟永前,蒋芳芳,.基于MSP430单片机的智能数字电压表设计[J].化工自动化及仪表,2011,(3).[17]许超,吴新杰,张丹,.基于Proteus和Keil的单片机课程教学改革[J].辽宁大学学报(自然科学版),2011,(1).[18]李林,.基于单片机的野外作业移动库房安防系统设计[J].工矿自动化,2011,(4).[19]李林,王心刚,.FPGA与单片机在RLC测量系统设计中的应用[J].化工自动化及仪表,2011,(3).[20]李玮华,杨秦建,.基于单片机的多轴运动数控系统跟随误差补偿器的设计[J].机床与液压,2011,(4).单片机的参考文献2[1]李广弟等,单片机基础北京航空航天出版社,2001.7[2]楼然苗等,51系列单片机设计实例北京航空航天出版社,2003.3[3]唐俊翟等单片机原理与应用冶金工业出版社,2003.9[4]刘瑞新等单片机原理及应用教程机械工业出版社,2003.7[5]吴国经等单片机应用技术*电力出版社,2004.1[6]李全利,迟荣强编著单片机原理及接口技术高等教育出版社,2004.1[7]侯媛彬等,凌阳单片机原理及其毕业设计精选2006年,科学出版社[8]罗亚非,凌阳十六位单片机应用基础2003年北京航空航天大学出版社[9]北京北阳电子有限公司,061A凌阳单片机及其附带光盘2003年[10]张毅刚等,MCS-51单片机应用设计,哈工大出版社,2004年第2版[11]霍孟友等,单片机原理与应用,机械工业出版社,2004.1[12]霍孟友等,单片机原理与应用学习概要及题解,机械工业出版社,2005.3[13]许泳龙等,单片机原理及应用,机械工业出版社,2005.1[14]马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2003修订版[15]薛均义张彦斌虞鹤松樊波,凌阳十六位单片机原理及应用,2003年,北京航空航天大学出版社单片机的参考文献3[1]王青云.基于单片机的温度测量系统[J]2010,(05).[2]彭立,张建洲,王少华.自适应温度控制系统的研制[J]东北师大学报(自然科学版),1994,(01).[3]JackShandle.即将来临的32位浪潮——ARM构架在32位微控制器领域的应用[J]单片机与嵌入式系统应用,2004,(03).[4]刘侃,张永泰,刘洛琨.ARM程序设计优化策略与技术[J]单片机与嵌入式系统应用,2004,(04).[5]何立民.从Cygnal80C51F看8位单片机发展之路.单片机与嵌入式系统应用[M],2002年,第5期:P5~8[6]夏继强.单片机实验与实践教程.北京:北京航空航天大学出版社,2001[7]徐惠民、安德宁.单片微型计算机原理接口与应用.第1版[M].北京:北京邮电大学出版社,1996[8]张媛媛,何怡刚,徐雪松.基于C8051F020的温湿度控制箱设计[J]国外电子元器件,2004,(10).[9]江孝国,王婉丽,祁双喜.高精度PID温度控制器[J]电子与自动化,2000,(05).[10]于洋.高低温试验箱微机自动控制系统的设计[J]工业仪表与自动化装置,2003,(02).[11]沈聿农.传感器及应用技术[M].北京:化学工业出版社,2001.[12]范晶彦.传感器与检测技术应用[M].北京:机械工业出版社,2005.[13]王俊峰,孟令启.现代传感器应用技术[M].北京:机械工业出版社,2007.[14]金发庆.传感器技术与应用[M].北京:机械工业出版社,2006.[15] Goldman JM, Petterson MT, Kopotic RJ, Barker SJ.Masimosignal extraction pulse oximetry[J].J Clin Monit Comput.2000;16(7):7 5-83.[16] D. Tulone. On the feasibility of global time estimation under isolation conditions in wireless sensor networks.[17]王春晖.环境试验箱中制冷系统的原理分析及优化概述[J]电子质量,2003,(12)[18]李建中.单片机原理及应用[M]西安电子科技大学出版社,2010.(02)[19]周航慈.单片机应用程序设计技术[M].北京:北京航空航大大学出版社,2005.[20]何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2001.[21]夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2001.[22]徐惠民,安德宁.单片微型计算机原理接口与应用[M].北京:北京邮电大学出版社,1996.[23]李广第.单片机基础[M].北京:北京航空航天大学出版社,1999.[24]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.[25]杨清梅,孙建民.传感器与测试技术[M].哈尔滨:哈尔滨工程大学出版社,2005.[26]范晶彦.传感器与检测技术应用[M].北京:机械工业出版社,2005.[27]王俊峰,孟令启.现代传感器应用技术[M].北京:机械工业出版社,2007.[28]宋文绪,杨帆.自动检测技术[M].北京:高等教育出版社,2000.单片机的参考文献3篇扩展阅读单片机的参考文献3篇(扩展1)——单片机课程报告3篇单片机课程报告1一、 实训目的和要求:(1) 熟练掌握keil c51集成开发环境的使用方法(2) 熟悉keil c51集成开发环境调试功能的使用和dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发*台的使用。(3) 利用单片机的p1口作io口,学会利用p1口作为输入和输出口。(4) 了解掌握单片机芯片的烧写方法与步骤。(5) 学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。(6) 掌握利用protel 99 se绘制电路原理图及pcb图。(7) 了解pcb板的制作腐蚀过程。二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发*台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。(6)制板。首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。(7)焊接。将所给元器件根据原理图一一焊至pcb板相应位置。(8)调试。先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop,尽在。单片机课程报告2通过为期一周的单片机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正!首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。特别是protues软件的功能是我们了解了当今开发系统的新方向,简直太不可思议啦!单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是非常必要的。如:LED显示器、键盘和显示器的应用和原理。在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的'小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开始*台的完善与成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。这对我以后的工作一定会有帮助的。在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发*台都有了一厅的了解,这是一笔不错的收获。通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出来的结果都有各自的独到之处。在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的甜意,几天的实训使自己的思维逻辑也有了小小的进步。单片机实训报告一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内容。(二)实验电路:画出与实验内容有关的简单实验电路。(三)实验设计及调试步骤:(1 )对实验内容和实验电路进行分析,理出完成实验的设计思路。(2)列出程序设计所需的特殊标志位、堆栈、内部ram、工作寄存器等资源的分配列表,分配列表时注意考虑资源在程序执行过程可能会出现冲突的问题。(3)画出程序设计流程图,包括主程序和各子程序流程图。(4)根据(2)、(3)的内容写出实验程序。(5)调试程序(可以使用模拟仿真器)。a、根据程序确定调试目的,即调试时所需观察的内容结果。b、根据各调试目的分别选择调试所需的方法,如单步、断点等命令,分别列出各调试方法中所需要关注记录的内容。c、调试程序,按各种调试方法记录相应的内容。d、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。(四)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。单片机课程报告3这周我们进行了单片机实训,一周中我们通过七个项目 :P 口输入输出2:继电器控制3音频控制4:子程序设计5:字符碰头程序设计6:外部中断7:急救车与交通信号灯,练习编写了子程序、熟悉了人工会汇编方法、设计和调试方法。学习了P 口、IO端口、外部中断技术的基本的使用方法及输入输出端口控制方法。而且初步掌握了大型程序的调试方法。实训中首先对MCS-5 单片机开发试验系统键盘监控操作、使用及配套的仿真软件的应用进行了熟悉和了解。该实验仪提供了许多基本实验电路和实验插孔,对于基本的实验只需要少量连线就可以进行,减少了繁琐的实验连线过程,以减轻工作量,突出实验的内涵,达到培养实际动手能力,加强对实验电路的理解。通过本实验仪器进一步了解了单片机存储器的组织结构、单片机片内片外数据存储器读写方法、工作寄存器的应用、单片机对简单编程及调试方法进一步的掌握了调试软件的操作方法和编程环境。编写并调试完成一个实验项目总概括起来有五大步骤: 、立项目2、查找数据3、画流程图、4根据流程图进行编程5、编完后进行修改、调试、编译等。最终要达到会写、会做、会说,编写开始几个项目的程序还比较顺利,到了编写LED灯碰头程序、字符碰头程序、急救车与交通灯呈程序时遇到了好多困难,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提.不过经过我们最后在全组人竭尽全力,老师的精心指导下,花费的时间与精力终于没有白费,效果渐渐地出现了.这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解.虽然最后结果是出来了,可这与老师的精心指导是分不开的。这次实训虽然其中会有些错误和失败,但总的来说是受益匪浅,在运用中发现问题,解决问题,就是最大的收获。专心做自己的事,是一种乐趣;互相交流,是大家一起进步的必要过程;上网查阅资料,是获得所需信息的有效途径。我想,这些练习和经验都将是我以后最宝贵的财富!

单片机的参考文献内容

参考文献是文章或著作等写作过程中参考过的文献,以下是我为大家整理的单片机的参考文献内容,希望对你有所帮助!

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

单片机的参考文献

[1]陈堂敏.刘焕平主编.单片机原理与应用.北京:北京理工大学出版社,2007.

[2]沈美明.温动蝉编著.IBM-PC汇编语言程序设计.北京:清华大学出版社,1994.

[3]张仰森等编.微型计算机常用软硬件技术速查手册.北京:北京希望电脑公司,1994.

[4]江修汗等编.计算机控制原理与应用.西安:西安电子科技大学出版社,1999.

发展历史

单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

主要阶段

早期阶段

SCM即单片微型计算机(Microcontrollers)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。

中期发展

MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。

Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。

当前趋势

SoC嵌入式系统(System on Chip)式的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

早期发展

1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的`7位科学家”之一。

1971年11月,Intel推出MCS-4微型计算机系统(包括4001 ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器)其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。

1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。

1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。

主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(Million Instructions Per Second )。

1975年4月,MITS发布第一个通用型Altair 8800,售价375美元,带有1KB存储器。这是世界上第一台微型计算机。

1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。

Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。

20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。

【拓展内容】

电气自动化单片机论文

【摘要】

过去的以教师为中心的单片机课程教学,由于课程的综合性太强使得学生在学习过程中对很多知识点难以接受,我们通过对本门课程项目式和模块化改革的结合,合理安排教学内容和教学资源,降低初学者入门门槛,引导学生以兴趣为导向,极大的提高了学习者主动获取知识的意愿,明显提高了本课程的教学效果。

【关键词】 模块化教学;项目驱动;教学改革

“单片机技术”课程在本科院校里是电子信息类专业的必修课程,这门课程是以电子技术基础,编程语言,计算机理论等知识为基础的一门专业性和应用性很强的综合性课程。基于以上特点,对于初学者来说对单片机的理论知识的正确把握往往感觉比较吃力,给初学者造成学习困难。但是经过我们多年的教学经验,这类有很强的应用性和实用性的课程,以项目式教学更能推动学生的学习兴趣,同时模块化的教学设计更能降低初学者入门的门槛。两者相结合教学方法的采用对本门课程的教学效果提升明显.

1、单片机项目驱动教学法

以往的单片机教学模式是以教师为中心,老师在课堂上按照教材,或者教学大纲按部就班的讲授理论原理和知识点;以课堂教学为中心,学生学习为被动接受,由于知识点综合性比较强,理论太深奥使得学生往往学习兴趣不高,同时缺乏动手实践机会,教学效果一般不够理想。以项目驱动的教学法是学生为主体,教师为主导,以实践应用为根本目标,围绕具体的项目构建教学内容体系,通过师生共同参与完成一个具体的项目而展开的教学活动。注重的不是最终的结果,而是项目完成的过程,在项目的教学实施过程中,学生按需学习,亲身实践,学生在项目的实践过程中,理解知识和掌握技能,学习成为一个参与的创造实践活动,培养分析和解决问题的能力。引进单片机项目教学方式打破了原有的教学组织安排,以项目的开发步骤作为教学内容,将课程的内容分解为一个个小项目,从项目引入到项目解析再到任务分解然后到知识点讲解最后知识点应用,将原教学方案里单片机的知识点穿插到具体项目开发的过程中。这里面包含了软、硬平台搭建到项目展开再到项目完成的一系列教学活动,使学生从被动学习变为主动学习,按照这种方法我们将以往教学体系中的知识内容变化为若干个工程项目,然后围绕着这些工程项目任务的展开同时开展教学,让学生以具体工作目标的展开来进行教学环节的工作。有利于激发学生的学习积极性和创新能力,调动了学生的学习积极性。在这整个过程中,学生能很好的把握课程的知识要求,在体验创新与探索的过程中,又培养了学生们的分析解决问题的能力及团队协作能力等。

2、模块化的单片机教学方法

任何复杂的系统都是由具有完整基本功能的功能模块电路组成,单片机应用系统也是如此,一般由cpu系统、中断系统、I/O口等。同时任何复杂的电路系统都可以分解为多个具备单一功能的模块电路,按照这个思路,学习单片机系统我们也可以从单片机的功能模块电路入手,我们根据学生的认知规律,和学习单片的一般原理的方法,机将单片机教学模块分成几个部分,这里面每个部分有自己的专用模块[3]。比如程序功能部分、硬件部分;在对硬件电路设计部分进行模块化设计,将单片机的各个功能模块以独立的原理图形式出现,我们把单片机个硬件按功能分为了键盘模块、数码管显示模块、传感器控制模块、模数转换模块、显示模块、通信模块等几大模块,如图1。各个模块通过面包板上预留的连接器与系统主板进行连接,然后用排线组合成所需要的系统。在教学过程中,要不断收集遇到的各种硬件功能模块电路,弄清它们的工作原理、性能及特性、特定的功能及使用方法,把系统化整为零,建立起自己的硬件模块库。指导学生学会搜集、分析别人的设计案例、论文和相关书籍中的功能模块电路,不断地充实自己的功能模块电路库,日积月累,学生就会觉得自己的单片机系统设计能力越来越强。最后在进行模块分解时,各模块功能尽可能专一,联系尽可能简单,使模块独立性强,方便教学实用的模块。

3、总结

新兴本院校定位应用型教学型高校,以培应用型、创新型人才为目标。在此基础上的以项目驱动法教学和模块化教学为主线,以实际应用为培养为目标的“单片机技术”课程教学改革思路,按照这个方式能使学生在项目模块化的环节中一步一个台阶。此教学法脱离了枯燥无味的说教模式,使学生在具体的设计项目的工作环境里轻松自在的状态来投入到学习中,思维能力、动手能力、学习能力以及团队协作能力都有了明显提高,模块化学习过程中所积累的各种电路系统模块也促进构建成学生进行科技创新实践、参加大学生创新创业训练的重要模块库,激发了学生学习的主动性和成就感。法国文化教育学家斯普朗格曾言:教育的最终目的不是传授已有的东西,而是要把人的创造力量诱导出来。本课程的教学改革正是朝着这个方向前进。

关于单片机设计论文参考文献

[1]李广弟等.单片机基础[M].北京航空航天出版社,2001. [2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009. [3]陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010. [4]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007. [5]钟富昭等.8051单片机典型模块设计与应用[M].人民邮电出版社,2007. [6]李平等.单片机入门与开发[M].机械工业出版社,2008.

单片机的参考文献1[1]田闯,.直流电源屏电池单片机监测系统[J].西铁科技,2001,(1).[2]陈国先,.语音芯片与PIC单片机的应用接口[J].福建信息技术教育,2005,(2).[3]孙玉艳,.实现PC机与单片机的数据通信与控制[J].广东白云职业技术学院广州白云工商高级技工学校学报,2002,(4).[4]陈兴祥,.MC7705芯片对单片机的动态掉电保护[J].宁夏机械,2002,(3).[5]田志华,.电池供电单片机的低功耗设计[J].宁夏机械,2002,(4).[6]李学军,.如何用MCS-51单片机扩展串口进行通讯[J].宁夏机械,2003,(2).[7]李海涛,.关于如何提高单片机系统可靠性的探讨[J].宁夏机械,2005,(3).[8]高彦波,李岩,毕晓燕,.PC与单片机之间的远距离并行通讯卡[J].电站设备自动化,2001,(3).[9]李艳红,.单片机I/O口不宜用作直接驱动出口[J].电站设备自动化,2003,(2).[10]彭同明,杨少华,.“单片机原理及应用”课程改革的分析[J].武汉电力职业技术学院学报,2004,(1).[11]宋青松,张旭东,王立贤,眭众国,.MCS—96系列单片机与IBM-PC系列微机之间通讯的实现[J].电站设备自动化,2001,(1).[12]顾勇,*,.基于MC68HC908单片机的伸缩自动门控制系统[J].通信与广播电视,2003,(4).[13]桂绍勇,彭同明,何新洲,.基于MEGA103单片机的数控系统研制[J].武汉电力职业技术学院学报,2005,(4).[14]李占芳,黄嘉兴,.面向煤炭应用型人才的单片机课程教学改革探索[J].价值工程,2011,(7).[15]石明江,顾亚雄,张禾,.单片机原理与应用课程教学改革与实践[J].计算机教育,2011,(6).[16]翟永前,蒋芳芳,.基于MSP430单片机的智能数字电压表设计[J].化工自动化及仪表,2011,(3).[17]许超,吴新杰,张丹,.基于Proteus和Keil的单片机课程教学改革[J].辽宁大学学报(自然科学版),2011,(1).[18]李林,.基于单片机的野外作业移动库房安防系统设计[J].工矿自动化,2011,(4).[19]李林,王心刚,.FPGA与单片机在RLC测量系统设计中的应用[J].化工自动化及仪表,2011,(3).[20]李玮华,杨秦建,.基于单片机的多轴运动数控系统跟随误差补偿器的设计[J].机床与液压,2011,(4).单片机的参考文献2[1]李广弟等,单片机基础北京航空航天出版社,2001.7[2]楼然苗等,51系列单片机设计实例北京航空航天出版社,2003.3[3]唐俊翟等单片机原理与应用冶金工业出版社,2003.9[4]刘瑞新等单片机原理及应用教程机械工业出版社,2003.7[5]吴国经等单片机应用技术*电力出版社,2004.1[6]李全利,迟荣强编著单片机原理及接口技术高等教育出版社,2004.1[7]侯媛彬等,凌阳单片机原理及其毕业设计精选2006年,科学出版社[8]罗亚非,凌阳十六位单片机应用基础2003年北京航空航天大学出版社[9]北京北阳电子有限公司,061A凌阳单片机及其附带光盘2003年[10]张毅刚等,MCS-51单片机应用设计,哈工大出版社,2004年第2版[11]霍孟友等,单片机原理与应用,机械工业出版社,2004.1[12]霍孟友等,单片机原理与应用学习概要及题解,机械工业出版社,2005.3[13]许泳龙等,单片机原理及应用,机械工业出版社,2005.1[14]马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2003修订版[15]薛均义张彦斌虞鹤松樊波,凌阳十六位单片机原理及应用,2003年,北京航空航天大学出版社单片机的参考文献3[1]王青云.基于单片机的温度测量系统[J]2010,(05).[2]彭立,张建洲,王少华.自适应温度控制系统的研制[J]东北师大学报(自然科学版),1994,(01).[3]JackShandle.即将来临的32位浪潮——ARM构架在32位微控制器领域的应用[J]单片机与嵌入式系统应用,2004,(03).[4]刘侃,张永泰,刘洛琨.ARM程序设计优化策略与技术[J]单片机与嵌入式系统应用,2004,(04).[5]何立民.从Cygnal80C51F看8位单片机发展之路.单片机与嵌入式系统应用[M],2002年,第5期:P5~8[6]夏继强.单片机实验与实践教程.北京:北京航空航天大学出版社,2001[7]徐惠民、安德宁.单片微型计算机原理接口与应用.第1版[M].北京:北京邮电大学出版社,1996[8]张媛媛,何怡刚,徐雪松.基于C8051F020的温湿度控制箱设计[J]国外电子元器件,2004,(10).[9]江孝国,王婉丽,祁双喜.高精度PID温度控制器[J]电子与自动化,2000,(05).[10]于洋.高低温试验箱微机自动控制系统的设计[J]工业仪表与自动化装置,2003,(02).[11]沈聿农.传感器及应用技术[M].北京:化学工业出版社,2001.[12]范晶彦.传感器与检测技术应用[M].北京:机械工业出版社,2005.[13]王俊峰,孟令启.现代传感器应用技术[M].北京:机械工业出版社,2007.[14]金发庆.传感器技术与应用[M].北京:机械工业出版社,2006.[15] Goldman JM, Petterson MT, Kopotic RJ, Barker SJ.Masimosignal extraction pulse oximetry[J].J Clin Monit Comput.2000;16(7):7 5-83.[16] D. Tulone. On the feasibility of global time estimation under isolation conditions in wireless sensor networks.[17]王春晖.环境试验箱中制冷系统的原理分析及优化概述[J]电子质量,2003,(12)[18]李建中.单片机原理及应用[M]西安电子科技大学出版社,2010.(02)[19]周航慈.单片机应用程序设计技术[M].北京:北京航空航大大学出版社,2005.[20]何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2001.[21]夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2001.[22]徐惠民,安德宁.单片微型计算机原理接口与应用[M].北京:北京邮电大学出版社,1996.[23]李广第.单片机基础[M].北京:北京航空航天大学出版社,1999.[24]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.[25]杨清梅,孙建民.传感器与测试技术[M].哈尔滨:哈尔滨工程大学出版社,2005.[26]范晶彦.传感器与检测技术应用[M].北京:机械工业出版社,2005.[27]王俊峰,孟令启.现代传感器应用技术[M].北京:机械工业出版社,2007.[28]宋文绪,杨帆.自动检测技术[M].北京:高等教育出版社,2000.单片机的参考文献3篇扩展阅读单片机的参考文献3篇(扩展1)——单片机课程报告3篇单片机课程报告1一、 实训目的和要求:(1) 熟练掌握keil c51集成开发环境的使用方法(2) 熟悉keil c51集成开发环境调试功能的使用和dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发*台的使用。(3) 利用单片机的p1口作io口,学会利用p1口作为输入和输出口。(4) 了解掌握单片机芯片的烧写方法与步骤。(5) 学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。(6) 掌握利用protel 99 se绘制电路原理图及pcb图。(7) 了解pcb板的制作腐蚀过程。二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发*台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。(6)制板。首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。(7)焊接。将所给元器件根据原理图一一焊至pcb板相应位置。(8)调试。先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop,尽在。单片机课程报告2通过为期一周的单片机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正!首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。特别是protues软件的功能是我们了解了当今开发系统的新方向,简直太不可思议啦!单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是非常必要的。如:LED显示器、键盘和显示器的应用和原理。在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的'小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开始*台的完善与成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。这对我以后的工作一定会有帮助的。在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发*台都有了一厅的了解,这是一笔不错的收获。通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出来的结果都有各自的独到之处。在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的甜意,几天的实训使自己的思维逻辑也有了小小的进步。单片机实训报告一、实验目的和要求。二、实验仪器设备。三、实验设计及调试:(一)实验内容。(二)实验电路:画出与实验内容有关的简单实验电路。(三)实验设计及调试步骤:(1 )对实验内容和实验电路进行分析,理出完成实验的设计思路。(2)列出程序设计所需的特殊标志位、堆栈、内部ram、工作寄存器等资源的分配列表,分配列表时注意考虑资源在程序执行过程可能会出现冲突的问题。(3)画出程序设计流程图,包括主程序和各子程序流程图。(4)根据(2)、(3)的内容写出实验程序。(5)调试程序(可以使用模拟仿真器)。a、根据程序确定调试目的,即调试时所需观察的内容结果。b、根据各调试目的分别选择调试所需的方法,如单步、断点等命令,分别列出各调试方法中所需要关注记录的内容。c、调试程序,按各种调试方法记录相应的内容。d、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。(四)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。单片机课程报告3这周我们进行了单片机实训,一周中我们通过七个项目 :P 口输入输出2:继电器控制3音频控制4:子程序设计5:字符碰头程序设计6:外部中断7:急救车与交通信号灯,练习编写了子程序、熟悉了人工会汇编方法、设计和调试方法。学习了P 口、IO端口、外部中断技术的基本的使用方法及输入输出端口控制方法。而且初步掌握了大型程序的调试方法。实训中首先对MCS-5 单片机开发试验系统键盘监控操作、使用及配套的仿真软件的应用进行了熟悉和了解。该实验仪提供了许多基本实验电路和实验插孔,对于基本的实验只需要少量连线就可以进行,减少了繁琐的实验连线过程,以减轻工作量,突出实验的内涵,达到培养实际动手能力,加强对实验电路的理解。通过本实验仪器进一步了解了单片机存储器的组织结构、单片机片内片外数据存储器读写方法、工作寄存器的应用、单片机对简单编程及调试方法进一步的掌握了调试软件的操作方法和编程环境。编写并调试完成一个实验项目总概括起来有五大步骤: 、立项目2、查找数据3、画流程图、4根据流程图进行编程5、编完后进行修改、调试、编译等。最终要达到会写、会做、会说,编写开始几个项目的程序还比较顺利,到了编写LED灯碰头程序、字符碰头程序、急救车与交通灯呈程序时遇到了好多困难,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提.不过经过我们最后在全组人竭尽全力,老师的精心指导下,花费的时间与精力终于没有白费,效果渐渐地出现了.这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解.虽然最后结果是出来了,可这与老师的精心指导是分不开的。这次实训虽然其中会有些错误和失败,但总的来说是受益匪浅,在运用中发现问题,解决问题,就是最大的收获。专心做自己的事,是一种乐趣;互相交流,是大家一起进步的必要过程;上网查阅资料,是获得所需信息的有效途径。我想,这些练习和经验都将是我以后最宝贵的财富!

[1] 李东升等.protel 99SE电路设计教程.电子工业出版社,2007.1[2] 藏春华等.电子线路设计与应用.高等教育出版社,2004.7[3] 李学海.16位单片机SPCE061A使用教程——基础篇.人民邮电出版社,2007[4] 张琳娜,刘武发.传感检测技术及应用.中国计量出版社,1999[5] 邵敏权,刘刚.单片机原理实验及应用.吉林科学技术出版社,1995.1[6] 杨振江等.智能仪器与数据采集系统中的新器件及应用.西安电子科技大学出版 社,2001.12[7] 罗亚非等.凌阳16位单片机应用基础.北京航空航天大学出版社,2005.5[8] 刘笃仁,韩保君.传感器原理及应用技术。机械工业出版社,2003.8[9] 薛筠义,张彦斌.凌阳16位单片机原理及应用,2003.2[10] 徐爱卿.Intel 16位单片机,2002.7[11] 霍孟友等,单片机原理与应用机械工业出版社,2004.1 [12] 霍孟友等,单片机原理与应用学习概要及题解,机械工业出版社,2005.3[13] 许泳龙等,单片机原理及应用,机械工业出版社,2005.1 [14] 马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2003修订版 [15] 薛均义 张彦斌 虞鹤松 樊波,凌阳十六位单片机原理及应用,2003年,北京航空航天大学出版社.

单片机的参考文献 单片机的参考文献1 参考文献 1、 谢自美,《电子线路设计、实验、测试 》武汉:华中理工大学出版社,20xx 2、 何书森、何华斌《实用数字电路原理与设计速成》福州:福建科学技术出版社,20xx.6 3、 白驹衍, 《单片计算机及应用》北京:电子工业出版社, 1999.2请继续阅读相关推荐: 毕业论文 应届生求职 毕业论文范文查看下载 查看的论文开题报告 查阅参考论文提纲 查阅更多的毕业论文致谢 相关毕业论文格式

51单片机计算器毕业论文

1、硬件仿真图

硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

2、主程序流程图

程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图。

3、Altium Designer画的PCB图

4、程序源代码

#include #include

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar operand1[9], operand2[9];

uchar operator;

void delay(uint);

uchar keyscan();

void disp(void);

void buf(uint value);

uint compute(uint va1,uint va2,uchar optor);

uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90,0xff};

uchar dbuf[8] = {10,10,10,10,10,10,10,10};

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

uchar keyscan()

{

uchar skey;

P1 = 0xfe;

while((P1 & 0xf0) != 0xf0)

{

delay(3);

while((P1 & 0xf0) != 0xf0)

{

switch(P1)

{

case 0xee: skey = '7'; break;

case 0xde: skey = '8'; break;

case 0xbe: skey = '9'; break;

case 0x7e: skey = '/'; break;

default:   skey = '#';

}

while((P1 & 0xf0) != 0xf0)

;

}

}

P1 = 0xfd;

while((P1 & 0xf0) != 0xf0)

{

delay(3);

while((P1 & 0xf0) != 0xf0)

{

switch(P1)

{

case 0xed: skey = '4'; break;

case 0xdd: skey = '5'; break;

case 0xbd: skey = '6'; break;

case 0x7d: skey = '*'; break;

default:   skey = '#';

}

while((P1 & 0xf0) != 0xf0)

;

}

}

P1 = 0xfb;

while((P1 & 0xf0) != 0xf0)

{

delay(3);

while((P1 & 0xf0) != 0xf0)

{

switch(P1)

{

case 0xeb: skey = '1'; break;

case 0xdb: skey = '2'; break;

case 0xbb: skey = '3'; break;

case 0x7b: skey = '-'; break;

default: skey = '#';

}

while((P1 & 0xf0) != 0xf0)

;

}

}

P1 = 0xf7;

while((P1 & 0xf0) != 0xf0)

{

delay(3);

while((P1 & 0xf0) != 0xf0)

{

switch(P1)

{

case 0xe7: skey = '$'; break;

case 0xd7: skey = '0'; break;

case 0xb7: skey = '='; break;

case 0x77: skey = '+'; break;

default:   skey = '#';

}

while((P1 & 0xf0) != 0xf0)

;

}

}

return skey;

}

void main()

{

uint value1, value2, value;

uchar ckey, cut1 = 0, cut2 = 0;

uchar operator;

uchar i, bool = 0;

init:

buf(0);

disp();

value = 0;

cut1 = cut2 = 0;

bool = 0;

for(i = 0;i < 9;i++)

{

operand1[i] = '\0';

operand2[i] = '\0';

}

while(1)

{

ckey = keyscan();

if(ckey != '#')

{

if(isdigit(ckey))

{

switch(bool)

{

case 0:

operand1[cut1] = ckey;

operand1[cut1+1] = '\0';

value1 = atoi(operand1);

cut1++;

buf(value1);

disp();

break;

case 1:

operand2[cut2] = ckey;

operand2[cut2+1] = '\0';

value2 = atoi(operand2);

cut2++;

buf(value2);

disp();

break;

default: break;

}

}

else if(ckey=='+'||ckey=='-'||ckey=='*'||ckey=='/')

{

bool = 1;

operator = ckey;

buf(0);

dbuf[7] = 10;

disp();

}

else if(ckey == '=')

{

value = compute(value1,value2,operator);

buf(value);

disp();

while(1)

{

ckey = keyscan();

if(ckey == '$')

goto init;

else

{

buf(value);

disp();

}

}

}

else if(ckey == '$')

{    goto init;}

}

disp();

}

}

uint compute(uint va1,uint va2,uchar optor)

{

uint value;

switch(optor)

{

case '+' : value = va1+va2;    break;

case '-' : value = va1-va2;    break;

case '*' : value = va1*va2;    break;

case '/' : value = va1/va2;    break;

default :  break;

}

return value;

}

void buf(uint val)

{

uchar i;

if(val == 0)

{

dbuf[7] = 0;

i = 6;

}

else

for(i = 7; val > 0; i--)

{

dbuf[i] = val % 10;

val /= 10;

}

for( ; i > 0; i--)

dbuf[i] = 10;

}

void disp(void)

{

uchar bsel, n;

bsel=0x01;

for(n=0;n<8;n++)

{

P2=bsel;

P0=table[dbuf[n]];

bsel=_crol_(bsel,1);

delay(3);

P0=0xff;

}

}

扩展资料:

PROTEUS 是单片机课堂教学的先进助手

PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;

在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。

实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。

参考资料来源:百度百科-protues

刚做过,发给你参考下

这是原理图

51单片机简易计算器程序:

#include 

#include 

#define uchar unsigned char

#define uint unsigned int

//---------定义引脚--------------------

bit clr=0;

bit ok=0;

bit xiaoshu=0;

bit jiego=0;

bit first_1=1;

bit first_2=1;

sbit dout = P3^2;

sbit load = P2^0;

sbit din  = P2^1;

sbit dclk = P2^2;

sbit beer=P0^1;

sbit LCD1602_RS=P2^3;

sbit LCD1602_RW=P2^4;

sbit LCD1602_E=P2^5;

//---------定义变量--------------------

uchar ch451_key=0xff;

uchar yun_sign;

uchar xiabiao=0;

uchar tab[32];

uchar tab1[]={"welcome to use!"};

uchar tab2[]={" make by JunRu!"};

uchar tab3[]={"ERR0R"};

float opr_1=0,opr_temp=0,end=0,a;

//---------声明函数--------------------

void ch451_init(void);     //CH451初始化

void ch451_write(uint  command);//写命令或数据到ch451

uchar ch451_read(void);        //读按键值

uchar get_char(void);

void LCD_init(void);//初始化;

void delay(unsigned int k);//延时程序

void LCD_inter_command(unsigned char command);//写入控制字

void LCD_inter_dat(unsigned char dat);//写入要显示的数据

void set_xy(unsigned char x,unsigned char y);//找地址

void write(unsigned char date);//写入字符

void lcdbusy();//查忙时

void display(void);

void spec(void);

void get_end(void);

void hun_he(uchar n);

//-------- 主函数----------------------

void main()

{

uchar i;

LCD_init();//LCD初始化;

ch451_init();//CH451初始化

EA = 1;//打开中断

LCD_inter_command(0x01);//清屏

for(i=0;i<=14;i++)

{

LCD_inter_dat(tab1[i]);

beer=0;

delay(4000);//延时

beer=1;

}

LCD_inter_command(0xc0);//从第二行开始显示

for(i=0;i<=14;i++)

{

LCD_inter_dat(tab2[i]);

beer=0;

delay(4000);//延时

beer=1;

}

delay(0xffff);

delay(0xffff);

LCD_inter_command(0x01);

while(1)

{

if(ok)

{

display();

ok=0;clr=1;

}

}

}

//----------子函数--------------------

void hun_he(uchar n)

{int j;

switch(n)

{

case '+':opr_temp=opr_temp+opr_1;break;

case '-':opr_temp=opr_temp-opr_1;break;

case '*':opr_temp=opr_temp*opr_1;break;

case '/':

{

if(a==0)//减数为零显错

{ LCD_inter_command(0xc0);

for(j=0;j<=4;j++)

{

LCD_inter_dat(tab3[j]);

beer=0;

delay(4000);//延时

beer=1;

}

}

else

{opr_temp=opr_temp/opr_1;}

break;

}

default:break;}

}

void ch451_init(void)//CH451初始化

{

EX0 = 1;

din = 0;

din = 1;

ch451_write(0x403);   //开显示

ch451_write(0x580);   //BCD译码方式

}

void ch451_write(uint  command)//写命令或数据到ch451

{  uchar i;

EX0 = 0;

load = 0;

for(i=0;i<12;i++)

{

din = command&1;

dclk = 0;

command>>=1;

dclk = 1;

}

load = 1;

EX0 = 1;

}

uchar ch451_read(void)//读按键值

{ uchar key=0x07;

uchar i;

EX0=0;

load = 0;

for(i=0;i<4;i++)        //将0111读入

{

din = key &1;

dclk = 0;

key>>=1;

dclk =1;

}

load = 1;

key = 0;

for(i=0;i<7;i++)         //从CH451读出按键值

{

key<<=1;

key|= dout;

dclk =0;

dclk =1;

}

EX0 =1;

return key;

}

void EX0_ISR(void)interrupt 0 //中断程序

{

uchar temp;

ch451_key=ch451_read(); //将读出的按键值赋给变量

spec();

if(clr) {LCD_inter_command(0x01);clr=0;}

temp=get_char();

if(temp){tab[xiabiao++]=temp; LCD_inter_dat(temp);}

if(xiabiao>=16)LCD_inter_command(0xc0);//若大于16,则从第2行开始显示

if(ok) get_end();

beer=0;

delay(3000);

beer=1;

}

uchar get_char(void)

{

uchar dis=0;

uint temp=0,temp1=0;

switch(ch451_key)

{

case 0x40:dis='1';break;

case 0x41:dis='2';break;

case 0x42:dis='3';break;

case 0x48:dis='4';break;

case 0x49:dis='5';break;

case 0x4A:dis='6';break;

case 0x50:dis='7';break;

case 0x51:dis='8';break;

case 0x52:dis='9';break;

case 0x58:dis='0';break;

case 0x43:dis='+';break;

case 0x4B:dis='-';break;

case 0x53:dis='x';break;

case 0x5B:dis='/';break;

case 0x44:dis='!';break;

case 0x5A:dis='=';

ok=1;                      //遇到“=”,开始运算

break;

case 0x59:dis='.';break;     //小数点

case 0x5C:                    //删除键

LCD_inter_command(0x01);

xiabiao=0;

break;

default: break;

}

return dis;

}

void spec(void)                   //特殊功能键

{

switch(ch451_key)

{

case 0x4C:LCD_inter_command(0x10);{if(xiabiao>0)xiabiao-=1;}break; //左移

case 0x54:LCD_inter_command(0x14);{xiabiao+=1;}break;  //右移

default:break;

}

}

void delay(unsigned int k)//延时程序

{

while (k--);

}

void LCD_inter_command(unsigned char command)//写入控制字

{

delay(5000);

LCD1602_RS=0;

LCD1602_RW=0;

LCD1602_E=1;

P1=command;

LCD1602_E=0;

lcdbusy();

}

void LCD_init(void)//初始化;

{delay(5000);

LCD_inter_command(0x01);//清屏

delay(5000);

LCD_inter_command(0x38);//设置为8位的数据接口,两行显示,5、7点字符

delay(5000);

LCD_inter_command(0x0E);//显示打开,光标开并闪烁

delay(5000);

}

void LCD_inter_dat(unsigned char dat)//写入要显示的数据

{

delay(5000);

LCD1602_RS=1;

LCD1602_RW=0;

LCD1602_E=1;

P1=dat;

LCD1602_E=0;

lcdbusy();

}

void lcdbusy()//查忙

{

P1=0xFF;

LCD1602_RS=0;

LCD1602_RW=1;

LCD1602_E=1;

while((P1&0x80)==1);

}

void display(void)            //转化在LCD上显示计算结果

{

int temp=end;  //浮点数

int i;

uint xiao_temp;

uint xx; //浮点数的整数部分

if (end>-32769&&end<32768)

{

xx=fabs(end);

xiao_temp=(fabs(end)-xx)*1000;//取出浮点数的小数部分

LCD_inter_command(0xc0);

if(end<0) LCD_inter_dat('-');beer=0;delay(4000); beer=1;//判断是否为负数,若是则显示负号

if(xx>9999) LCD_inter_dat((xx/10000)%10+'0'); beer=0;delay(4000);beer=1;

if(xx>999) LCD_inter_dat((xx/1000)%10+'0');beer=0;delay(4000);beer=1; //在LCD上显示千位的数

if(xx>99)LCD_inter_dat((xx/100)%10+'0');  beer=0;delay(4000);beer=1;//百位

if(xx>9)LCD_inter_dat((xx/10)%10+'0');beer=0;delay(4000); beer=1;//十位

LCD_inter_dat(xx%10+'0');beer=0;delay(4000); beer=1;//个位

if(xiao_temp!=0)  //显示小数部分

{

LCD_inter_dat('.');beer=0;delay(4000);beer=1;

LCD_inter_dat((xiao_temp/100)%10+'0');beer=0;delay(4000);beer=1;

LCD_inter_dat((xiao_temp/10)%10+'0');beer=0;delay(4000);beer=1;

LCD_inter_dat(xiao_temp%10+'0');beer=0;delay(4000);beer=1;

}

}

else {LCD_inter_command(0xc0);//从第二行开始显示

for(i=0;i<=4;i++)

{   LCD_inter_dat(tab3[i]);

beer=0;

delay(4000);//延时

beer=1;

}

}

}

void get_end(void)//计算子程序

{ float xiaoshu=1;

uchar fu_flag=0;

uchar xiao_flag=0;

uchar lianji_sign;

uchar i=0;

uchar j;

uchar n;//正负标记符

while(i<=xiabiao)

{

while(tab[i]<=0x39&&tab[i]>=0x30)

{

n=0;

opr_1*=10;

opr_1+=tab[i++]-0x30;

n='+';

}

switch(tab[i])

{

case '.':  xiao_flag=1;break;//遇到小数点跳到“if(xiao_flag)”里

case '!':  fu_flag=1;break;

case '+':  xiaoshu=1;yun_sign='+';if(opr_temp==0){end=opr_temp=opr_1;}else hun_he(lianji_sign);opr_1=0;lianji_sign='+'; break;

case '-':  xiaoshu=1;yun_sign='-';if(opr_temp==0){end=opr_temp=opr_1;}else hun_he(lianji_sign);opr_1=0;lianji_sign='-'; break;

case 'x':  xiaoshu=1;yun_sign='x';if(opr_temp==0){end=opr_temp=opr_1;}else hun_he(lianji_sign);opr_1=0;lianji_sign='*';break;

case '/':  xiaoshu=1;yun_sign='/';if(opr_temp==0){end=opr_temp=opr_1;}else hun_he(lianji_sign);a=opr_1;opr_1=0;lianji_sign='/';break;

case '=':

switch(yun_sign)//进行运算

{

case '+':end=opr_temp+opr_1;break;

case '-':end=opr_temp-opr_1;break;

case 'x':end=opr_temp*opr_1;break;

case '/':{

if(a==0)//减数为零显错

{ LCD_inter_command(0xc0);

for(j=0;j<=4;j++)

{

LCD_inter_dat(tab3[j]);

beer=0;

delay(4000);//延时

beer=1;

}

}

else

{end=opr_temp/opr_1;}

break;

}

default:break;

}

ok=1;//开始进行显示,标志位置1

xiabiao=0;//小数的标志位清零

break;

default:break;

}

i++;

if(xiao_flag)//表示小数

{

while(tab[i]<=0x39&&tab[i]>=0x30)

{

xiaoshu*=0.1;

switch(n)

{

case '+': opr_1=opr_1+(tab[i++]-0x30)*xiaoshu;break;

case '-':  opr_1=opr_1-(tab[i++]-0x30)*xiaoshu; break ;

default:break; }

xiao_flag=0;

}

}

if(fu_flag)

{

while(tab[i]<=0x39&&tab[i]>=0x30)

{

n=0;

opr_1=-opr_1*10;

opr_1=-(opr_1+(tab[i++]-0x30));

n='-';

fu_flag=0;

}

}

}

opr_1=0;

opr_temp=0;

xiabiao=0;

xiaoshu=1;

}

1、首先第一步就是要进行查找元器件并放入到原理图中,如下图所示。

2、接着就是要进行原理图连接根据网络标签的方式即可。

3、然后就是要进行编写程序,

程序源代码

#include #include

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar operand1[9], operand2[9];

uchar operator;

void delay(uint);

uchar keyscan();

void disp(void);

void buf(uint value);

4、最后一步就是进行验证正确后编译程序在protues中加载HEX观察仿真结果是否正确,如下图所示。

一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设置电动机Y-△运行、停止。 2、基于单片机控制的可调直流稳压电源的设计 要求:1)控制器为单片机,电压输出范围为0-10V,电压精度为0.1V;2)通过数码管显示电压值;3)由按键设置电压值。 二、毕业设计用到的主要软件(及功能) 毕业设计用到的主要软件(及功能):Keil 51(源程序编译),Proteus(电路仿真),AutoCAD(绘图), Visio(绘流程图), Protel 99SE(原理图电路设计,PCB板制作) 三、单片机方面毕业设计要求 1、学会编写程序(用C语言或汇编语言),用Keil 51软件对源程序进行编译。 2、学会用Proteus电路仿真软件对所设计的硬件电路进行仿真。 3、在写毕业论文时,学会用Word、AutoCAD, Visio,Protel 99SE等软件对程序流程图、电路原理图等进行绘制。 相关答案 ↓位朋友,以51单片机为例。51现在很多都是用仿真器来进行在线调试的,而每个公司的仿真器都会有自带的编程软件,当然,跟keil是差不了多少的。 步骤大体如下: 1.新建,进行程序的编写 2.连上仿真器或烧写器,这一步有可能要对仿真器或烧写器进行设置,具体可看它们的使用说明 3.对程序进行编译,这一步会自动检测你的程序有没错,如果有错,是不能进入下一步的.如果你用的是仿真器,这一步编译成功后就可以直接运行进行在线调试了。 4.如果用的是烧写器,那就进行烧写 各个软件和调试方法会有些不同,但大体就是这样,一些调试工具的说明书也有很详细的说明。 学参数测量技术涉及范围广,特别是微电压、微电流、高电压以及待测信号强弱相差极大的情况下,既要保证弱信号的测量精度又要兼顾强信号的测量范围,在技术上有一定的难度。传统的低成本仪表在测量电压、电阻时都采用手动选择档位的方法来转换量程。在使用中,当忘记转换档位时,会造成仪表测量精度下降或损坏。 现代电子测量对系统的精度要求越来越高且智能化程度也越来越高。全量程无档自动量程转换电压表和电阻表是在保证测量精度不下降的前提条件下省去手动转换量程的工作,得到了广泛应用。 本文介绍了一种基于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单片机计算器毕业论文
  • 返回顶部