单片机系统应用综合设计报告专业:班级:姓名:学号:指导教师:成绩:完成日期:2014年12月18日一、基于ADC0809芯片的简单采集系统设计1.方案论证1.1 系统的设计任务1.用单片机、ADC0809芯片、数码管等组成温度数据采集显示系统。
温度范围为0—255℃,数码管显示被测温度;当温度低于下限70℃时,实现低温报警,当温度高于上限150℃时,实现高温报警。
2.原理图设计 根据所确定的设计电路,利用Proteus 软件绘制电路原理图。
3.软件设计 根据电路工作过程,画出软件流程图,根据流程图编写相应的程序。
利用Proteus 与Keil μVision4联调,直到实验现象正确为止。
4.设计报告按规定的规范和要求书写并打印。
1.2 设计方案根据系统的设计要求,当温度传感器把所测得的温度通过驱动电路转换成电压信号,89C51通过控制ADC0809对AD 值进行采集并进行处理,把温度在数码管上显示。
利用89C51芯片控制温度传感器进行实时温度检测并显示能够实现快速测量环境温度。
1.3软、硬件开发环境利用Proteus 软件绘制电路原理图、利用Proteus 与Keil μVision4联调。
2.系统硬件设计2.1单片机主电路设计单片机选用AT89C51·内含4KB 的FLASH 存储器,擦写次数1000次;·内含28字节的RAM ;·具有32根可编程I/O 线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;图1:采集系统程序框图·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;1.复位电路:5l 系列单片机的复位引脚RST(第9管脚)出现大于10ms的高电平时单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
复位操作通常有两种基本形式:上电自动复位和开关复位。
本实验所用的复位电路就包括了这两种复位方式。
上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。
随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。
并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。
一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。
图2:复位电路图2.晶振电路:XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。
本实验中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。
一般来说晶振可以在1.2 ~ 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。
在本实验套件中采用的12M 的石英晶振。
和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。
图3:晶振电路图3.软件设计3.1主程序设计主函数程序设计:主函数里面对定时器以及ADC0809进行初始化,然后通过P3口采集ADC0809电压值,并将其进行处理,转化为实际温度,最后将其显示到数码管上。
中断服务程序设计:定时器/计数器0服务程序主要完成的是CLK引脚也就是P1.3引脚的取反,从而生成驱动ADC0809所需要的始终信号。
数码管显示程序设计:本实验用的是四个共阴极的数码管,公共端位阴极,程序执行时,单片机首先选中其中一位,并关闭另外三位,将第一位要显示的数据通过P0口写到数码管中,关掉第一位和第三位、第四位数码管,并打开第二位,然后将第二位要显示的数据写到数码管中,然后依次类推,从而将四个数码管的数据显示完整。
图4主函数程序设计图图5:中断程序流程图4.系统调试与分析4.1调试内容及实验现象图6:现象一:当温度低于下限70℃时,实现低温报警图7:现象二:当温度高于上限150℃时,实现高温报二、100000s以内的计时程序1.方案论证1.1 系统的设计任务1.程序启动后即开始计时,时间显示在数码管上, 在6只数码管上完成0~99 999.9s计时.2.原理图设计根据所确定的设计电路,利用Proteus软件绘制电路原理图。
3.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序。
利用Proteus与Keil μVision4联调,直到实验现象正确为止。
4.设计报告按规定的规范和要求书写并打印。
1.2设计方案:使用STC89C51单片机作为核心控制部件,采用12M晶体振荡器及30PF微小电容构成振荡电路;用1个四位一体共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止、增减初始时间等各项功能。
图8:计数器框图1.3软、硬件开发环境利用Proteus软件绘制电路原理图、利用Proteus与Keil μVision4联调。
2.系统硬件设计2.1单片机主电路设计单片机选用AT89C51图9:单片机最小系统1. 时钟电路在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。
在本设计中采用的12M 的石英晶振。
和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。
当采用石英晶振时,电容可以在20 ~40pF 之间选择。
2. 复位电路复位操作通常有两种基本形式:上电自动复位和开关复位。
上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上, RESET 的输入为高,芯片被复位。
随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。
并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。
3. EA/VPP(31 脚)的功能和接法51 单片机的EA/VPP(31 脚)是内部和外部程序存储器的选择管脚。
当EA 保持高电平时,单片机访问内部程序存储器;对于现今的绝大部分单片机来说,其内部的程序STC89C52单片机最小系统模块独立摁键控制模块4位数码管显示模块存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。
2.2显示电路设计74LS245芯片介绍:74LS245常用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)*DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。
图10:74LS245显示部分采用动态显示。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的共阴极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的位选通端,就使各个数码管轮流受控显示,这就是动态驱动。
动态显示是利用人眼视觉暂留特性来实现显示的。
事实上,显示器上任何时刻只有一个数码管有显示。
由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。
为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。
图11:LED数码管3.软件设计3.1主程序设计初始化调用数码管的显示程序否K2是否按下?是执行按键操作函数否K1是否按下?计数器清零图12:主程序流程图4.系统调试与分析4.1调试内容及实验现象图13:秒表计时三、8x8点阵LED电路设计1.方案论证1.1 系统的设计任务1.应用MCS-51单片机设计8X8点阵LED 电路。
选用两片8X8点阵LED 显示器,一个发光二极管控制点阵中的一个点,用三个按键实现文字的左、右移动和暂停功能。
2.原理图设计 根据所确定的设计电路,利用Proteus 软件绘制电路原理图。
3.软件设计 根据电路工作过程,画出软件流程图,根据流程图编写相应的程序。
利用Proteus 与Keil μVision4联调,直到实验现象正确为止。
4.设计报告按规定的规范和要求书写并打印。
1.2 设计方案利用单片机对整个系统进行总体控制,进行显示所要显示的字符。
显示方式分为三种:逐字显示、上滚显示、左滚显示。
其中显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,该显示器电路的特点是:点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。
图14:8*8点阵电路程序框图 1.3软、硬件开发环境利用Proteus 软件绘制电路原理图、利用Proteus 与Keil μVision4联调。
2.系统硬件设计2.1单片机主电路设计由单片机进行处理,并将行列信号分别通过显示驱动输入点阵屏,控制点阵的显示。
(1)单片机:采用AT89c51单片机芯片作为主控,控制LED 点阵显示。
(2)显示:采用8x8 LED 点阵屏显示字母。
(3)显示驱动:考虑到驱动LED 所需电流采用74HC573芯片8位锁存器作行驱动芯片,AT89S52的I/O 口作为列驱动。
2.2)为高时,Q 输出将随数据(D)输入而变。
当使能为低时,输出将锁存在已建立的数据电平上。
输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。
特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器图15:主程序流程图并行输出,总线驱动;串行输出;标准中等规模集成电路74HC595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。