硬件设计课程设计

  • 格式:doc
  • 大小:589.00 KB
  • 文档页数:15

课 程 设 计

题 目 环境温度测试例程设计

学 院 计算机科学与技术学院

专 业 计算机科学与技术

班 级 计算机1101班

姓 名 周文星

指导教师 伍新华

2013 年 6 月 26 日

学 号: 0121110340118 武汉理工大学综合硬件课程设计

2

课程设计任务书

学生姓名: 周文星 专业班级: 计算机1101班

指导教师: 伍新华 工作单位:计算机科学与技术学院

题 目: 环境温度测试例程设计

初始条件:

1. 课程设计使用ZG211硬件综合实验平台(8051单片机),配有课程设计接口芯片和辅助芯片以及器件;

2. ZG211有程序设计集成开发环境,程序设计语言为C语言;

3. ZG211硬件综合实验平台使用说明书;

要求完成的主要任务: (包括课程设计工作量及其技术要求,撰写说明书具体要求)

1. 学习使用ZG211硬件综合实验平台,程序设计集成开发环境;

2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。

3. 查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。

4. 设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。

5. 设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号和数据。

6. 撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈述电路的调试过程。

时间安排:

第18周:

1. 熟悉ZG211硬件综合实验平台,KEILC UVISION2 集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。

2. 设计硬件电路原理图,。

第19周:

1. 使用C语言或汇编语言设计和调试接口程序。

2. 撰写计算机硬件综合设计报告。

指导教师签名: 年 月 日

系主任(或责任教师)签名: 年 月 日

武汉理工大学综合硬件课程设计

3

环境温度测试

1 实验目的

1.1掌握I/O接口操作;

1.2掌握显示及键盘芯片的运用;

1.3了解中断的运用;

1.4了解单总线操作。

应用计算机组成原理、数字逻辑、微机原理与接口技术、单片机原理、C语言程序设计等相关专业知识来学习和使用ZG211 实验板的使用方法、Keilc51在线编程软件环境。使用CH451芯片来进行数码显示和键盘扫描控制,设计实现温度测试功能。

2.实验设备

PC 机一台;ZG-211 单片机系统实验板一块

实验连接线若干

并口编程线一根

串口通讯线一根

配套电源1 个

芯片:DS18B20,CD4052,CH451,MCU89S52

2.1 DS18B20

DS18B20是新一代支持“一线总线”接口的温度传感器芯片,将电源和信号复合在一起;其测温范围为-55℃—+125℃,允许分辨率可调9—12位,工作电压为3v—5v,在-10℃—+85℃范围内,精度为±0.5℃。该芯片将温度探头与A/D转换模块集成在一起,同时采用单总线与CPU通信,简化了电路设计

芯片构造图:

武汉理工大学综合硬件课程设计

4

DS18B20芯片包括3个引脚,引脚说明如下图所示:

DS18B20通过一种片上温度测量技术来测量温度的。

芯片原理图:

DS18B20是这样测量温度的:利用一个高温度系统的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行技术来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明温度大于-55℃,同时计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿敢问振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以在测温时获得比较高的分辨力,这是通过改变计数器对温度每增加一度所需要计数的值来实现的。

2.2 CD4052

由于89S52上的I/O口资源有限,DS18B20的I/O口通过4通道数字控制模拟开关CD4052引脚

符号 说明

1 VDD 电源

2 DQ 数据输入/输出脚

3 GND 地 武汉理工大学综合硬件课程设计

5

接到单片机的I/O口上。该芯片是一个差分四通道数字控制模拟开关,有A和B 两个二进制控制输入端和一个INH 输入,具有低导通阻抗和很低的截止漏电流。

功能说明表:

芯片原理图:

2.3 CH451

CH451 是一个整合了数码管显示驱动和键盘扫描控制以及μP 监控的多功能外围芯片,该课题设计开发中我们仅需使用数码管显示驱动和键盘扫描控制功能。在显示驱动上,动态显示扫描控制,可选数码管的段与数据位相对应的不译码方式或者BCD 译码方式;在键盘扫描控制上,低电平输出产生键盘中断,并且提供键盘按键释放标志位。借助Rational Rose绘制的串行接口原理图如上所示。 A B 选通状态

0 0 X=X0;Y=Y0

1 0 X=X1;Y=Y1

0 1 X=X2;Y=Y2

1 1 X=X3;Y=Y3 武汉理工大学综合硬件课程设计

6

由以上原理图可以看到左侧有四个引脚,功能如下:LOAD用于串行接口的数据加载;DIN用于串行数据的输入;DCLK是串行接口的数据时钟;DOUT用于串行数据的数据输出及键盘中断。其中,DIN、DCLK、LOAD 是带上拉的输入信号线,默认是高电平;DOUT 在未启用键盘扫描功能时作为串行数据输出线,在启用键盘扫描功能后作为键盘中断和数据输出线,默认是高电平。

DIN按位从低至高输入每一个数据位,在CH451上电复位后必须给它一个负脉冲以使能4线串行接口。DCLK是DIN数据输入的时钟,在其下降沿将数据从寄存器打出,在其上升沿将数据打入寄存器,因而借助以上原理图不难理解寄存器组移位的原理。在经过DCLK的12个负脉冲后,D0—D11则从低位至高位依次存放了我们从DIN打入的数据。LOAD是串行数据帧的完成标志,在LOAD的上升沿,12位数据(不管是否有效)被打入命令寄存器。当DOUT(默认高电平)发出低电平进行中断请求后,我们可以向CH451发送读键盘按键代码命令,此时按键代码(共7位)的最高位K6被发送至DOUT,之后向DCLK发送负脉冲。以相同方式将剩余的低6位按键代码读出。

在此次课题设计中将使用到的对CH451进行操作的命令如下表所示:

操作命令 位

11 10 9 8 7 6 5 4 3 2 1 0

设置系统参数 0 1 0 0 0 0 0 0 0 WDOG KEYB DISP

设置显示参数 0 1 0 1 MODE LIMIT INTENSITY

加载字数据0 1 0 0 0 DIG_DATA, DIG0 对应的字数据

加载字数据1 1 0 0 1 DIG_DATA, DIG1 对应的字数据

加载字数据2 1 0 1 0 DIG_DATA, DIG2 对应的字数据

加载字数据3 1 0 1 1 DIG_DATA, DIG3 对应的字数据

加载字数据4 1 1 0 0 DIG_DATA, DIG4 对应的字数据

加载字数据5 1 1 0 1 DIG_DATA, DIG5 对应的字数据

加载字数据6 1 1 1 0 DIG_DATA, DIG6 对应的字数据

加载字数据7 1 1 1 1 DIG_DATA, DIG7 对应的字数据

读取按键代码 0 1 1 1 × × × × × × × ×

由上表可以看到读取按键代码的操作命令为12位,但是只有高四位是有效位,因而当我们通过DIN向CH451输入高四位后,便可以通过LOAD发出一个负脉冲将12位数据打入命令寄存器。设置系统参数命令用于设置CH451的系统级参数:看门狗使能WDOG,武汉理工大学综合硬件课程设计

7

键盘扫描使能KEYB,显示驱动使能DISP;当相应位置为1时表示使能,否则表示禁用,我们在系统实现中使用了键盘扫描使能和显示驱动使能,即相应命令为:0X403。设置显示参数命令用于设置CH451的显示参数:译码方式MODE,扫描极限LIMIT,显示亮度INTENSITY;同样,当相应位置为1时表示使能,否则表示禁用。

下表描述的则是在该课题设计实现中需要用到的命令位与相应段及显示字符的对应显示关系表:

位4—位0 段G—段A 显示的字符

00000B 0111111B 0

00001B 0000110B 1

00010B 1011011B 2

00011B 1001111B 3

00100B 1100110B 4

00101B 1101101B 5

00110B 0000111B 6

00111B 1111111B 7

01000B 1101111B 8

01001B 1110111B 9

10000B 0000000B 空格

10010B 1000000B - 负号减号

2.4 MCU 89S52

89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器,使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

在设计实现中我们使用到了P15、P32、P33和P34口,另外P10、P11、P12和P13已内置链接到相对应的口。寄存器中各个位的含义如下表: