题目1基于数字温度传感器的数字温度计......................................2题目2数字频率计..............................................................................4题目3数字电压表设计.......................................................................6题目4单片机控制步进电机...............................................................8题目5单片机控制直流电动机...........................................................12题目6智能电子钟(LCD显示)....................................................16题目7定时闹钟................................................................................19题目1基于数字温度传感器的数字温度计1.设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为−55℃~125℃,精确到0.5℃。数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。2.实验原理从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字读数方式。DS18B20的性能如下。独特的单线接口仅需要一个端口引脚进行通信。多个DS18B20可以并联在串行传输的数据线上,实现多点组网功能。无须外部器件。可通过数据线供电,电压范围为3.0~5.5V。零待机功耗。温度以9或12位的数字读数方式。用户可定义报警设置。报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。采用3引脚PR-35封装或8引脚SOIC封装。3.电路设计(Proteus仿真通过)本项目制作的数字温度计电路原理图,如下所示:题目2数字频率计1.设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××.×××;fx>110Hz,采用测频法,显示频率××××××。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms~0.1s。(4)显示脉冲宽度要求如下。Tx<1000ms,显示脉冲宽度×××。Tx>1000ms,显示脉冲宽度××××。2.实验原理测量频率有测频法和测周法两种。(1)测频法,利用外部电平变化引发的外部中断,测算1s内的波数,从而实现对频率的测定;(2)测周法,通过测算某两次电平变化引发的中断之间的时间,实现对频率的测定。简而言之,测频法是直接根据定义测定频率,测周法是通过测定周期间接测定频率。理论上,测频法适用于较高频率的测量,测周法适用于较低频率的测量。经过调校,在测量低频信号时,本项目中测频法精度已高于测周法,故舍弃测周法,全量程采用测频法。3.电路设计(Proteus仿真通过)以单片机为核心的频率计电路原理图,如下页图所示:题目3数字电压表设计1.设计要求以单片机为核心,设计一个数字电压表。采用中断方式,对2路0~5V的模拟电压进行循环采集,采集的数据送LED显示,并存入内存。超过界限时指示灯闪烁。2.实验原理本题目本质上是以单片机为控制器,ADC0809为ADC器件的AD转换电路,设计要求的电压显示,是对ADC采集所得信号的进一步处理。为得到可读的电压值,需根据ADC的原理,对采集所得的信号进行计算,并显示在LED上。本项目中ADC0809的参考电压为+5V,根据定义,采集所得的二进制信号addata所指代的电压值为:addata5V256而若将其显示到小数点后两位,不考虑小数点的存在(将其乘以100),其计算的数值为:addata1005Vaddata1.96V256。将小数点显示在第二位数码管上,即为实际的电压。本示例程序将1.25V和2.5V作为两路输入的报警值,反映在二进制数字上,分别为0x40和0x80。当AD结果超过这一数值时,将会出现二极管闪烁和蜂鸣器发声。3.电路设计(Proteus仿真通过)本单片机数字电压表电路原理图,如下页图所示:题目4单片机控制步进电机1.设计要求采用单片机控制一个三相单三拍的步进电机工作。步进电机的旋转方向由正反转控制信号控制。步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。只有当键盘锁打开并输入步数时,步进电机才开始工作。电机运转的时候有正转和反转指示灯指示。电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。本题目的关键之处是:如何生成控制步进电机的脉冲序列。2.实验原理步进电机的不同驱动方式,都是在工作时,脉冲信号按一定顺序轮流加到三相绕组上,从而实现不同的工作状态。由于通电顺序不同,其运行方式有三相单三相拍、三相双三拍和三相单、双六拍三种(注意:上面“三相单三拍”中的“三相”指定子有三相绕组;“拍”是指定子绕组改变一次通电方式;“三拍”表示通电三次完成一个循环。“三相双三拍”中的“双”是指同时有两相绕组通电)。(1)三相单三拍运行方式:下页图所示为反应式步进电动机工作原理图,若通过脉冲分配器输出的第一个脉冲使A相绕组通电,B,C相绕组不通电,在A相绕组通电后产生的磁场将使转子上产生反应转矩,转子的1、3齿将与定子磁极对齐,如果图(a)所示。第二个脉冲到来,使B相绕组通电,而A、C相绕组不通电;B相绕组产生的磁场将使转子的2、4齿与B相磁极对齐,如图(b)所示,与图(a)相比,转子逆时针方向转动了一个角度。第三个脉冲到来后,是C相绕组通电,而A、B相不通电,这时转子的1、3齿会与C组对齐,转子的位置如图(c)所示,与图(b)比较,又逆时针转过了一个角度。图反应式步进电机工作原理图当脉冲不断到来时,通过分配器使定子的绕组按着A相--B相--C相--A相……的规律不断地接通与断开,这时步进电动机的转子就连续不停地一步步的逆时针方向转动。如果改变步进电动机的转动方向,只要将定子各绕组通电的顺序改为A相--C相--B相--A相,转子转动方向即改为顺时针方向。单三拍分配方式时,步进电动机由A相通电转换到B相同点,步进电动机的转子转过一个角度,称为一步。这时转子转过的角度是30度。步进电动机每一步转过的角度称为步距角。(2)三相双三拍运行方式三相双三拍运行方式:每次都有两个绕组通电,通电方式是AB--BC--CA--AB……,如果通电顺序改为AB--CA--BC--AB……则步进电机反转。双三拍分配方式时,步进电动机的步距角也是30度(3)三相单,双六拍运行方式:三相六拍分配方式就是每个周期内有六个通电状态。这六中通电状态的顺序可以使A--AB--B--BC--C--CA--A……或者A--CA--C--BC--B--AB--A……六拍通电方式中,有一个时刻两个绕组同时通电,这是转子齿的位置将位于通电的两相的中间位置。在三相六拍分配方式下,转子每一步转过的角度只是三相三拍方式下的一半,步距角是15度。单三拍运行的突出问题是每次只有一相绕组通电,在转换过程中,一相绕组断电,另一相绕组通电,容易发生失步;另外单靠一相绕组通电吸引转子,稳定性不好,容易在平衡位置附近震荡,故用的较少。双三拍运行的特点是每次都有两相绕组通电,且在转换过程中始终有一相绕组保持通电状态,因此工作稳定,且步距角与单三拍相同。六拍运行方式转换时始终有一相绕组通电,且步距角较小,故工作稳定性好,但电源较复杂,实际应用较多。3.电路设计(Proteus仿真通过)本单片机控制步进电机电路原理图,如下页图所示:题目5单片机控制直流电动机1.设计要求采用单片机设计一个控制直流电机并测量转速的装置。单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。(1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电机的转速。(2)手动控制。在键盘上设置两个按键—直流电动机加速键和直流电机减速键。在手动状态下,每按一次键,电机的转速按照约定的速率改变。(3)键盘列扫描(4*6)。2.实验原理本题目难点是对直流电机的控制。与步进电机类似,直流电机也可精确地控制旋转速度或转矩。直流电机是通过两个磁场的互作用产生旋转。其结构如下页图所示,固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。图有刷直流电机结构示意图换向片之间互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。定子通过永磁体或受激励电磁铁产生一个固定磁场,由于转子由一系列电磁体构成,当电流通过其中一个绕组时会产生一个磁场。对有刷直流电机而言,转子上的换向器和定子的电刷在电机旋转时为每个绕组供给电能。通电转子绕组与定子磁体有相反极性,因而相互吸引,使转子转动至与定子磁场对准的位置。当转子到达对准位置时,电刷通过换向器为下一组绕组供电,从而使转子维持旋转运动。如下页图所示。直流电机的速度与施加的电压成正比,输出转矩则与电流成正比。由于必须在工作期间改变直流电机的速度,直流电机的控制是一个较困难的问题。直流电机高效运行的最常见方法是施加一个PWM(脉宽调制)方波,其占空比对应于所需速度。电机起到一个低通滤波器作用,将PWM信号转换为有效直流电平。特别是对于微处理器驱动的直流电机,由于PWM信号相对容易产生,这种驱动方式使用的更为广泛。本项目的示例程序为了能够演示DAC0832的使用,未使用PWM驱动方式。而是利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。需要注意的是,本题目使用的Proteus版本,未提供ADC0809的仿真模型,这里以引脚、功能与之相同的ADC0808代替。同时,DAC0832也可以用引脚、功能相同的DAC0830代替。ADC0809与DAC0832在教材中已有详细介绍,在此不再叙述。按照其时序图,如下页图和后页图操作即可。3.电路设计(Proteus仿真通过)本项目制作的用单片机控制直流电动机并测量转速电路原理图,如下页图所示:题目6智能电子钟(LCD显示)1.设计要求以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1)计时:秒、分、时、天、周、月、年。(2)闰年自动判别。(3)五路定时输出,可任意关断(最大可到16路)。(4)时间、月、日交替显示。(5)自定任意时刻自动开/关屏。(6)计时精度:误差≤1秒/月