当前位置:文档之家› 测控系统原理与设计

测控系统原理与设计

测控系统原理与设计
测控系统原理与设计

《测控系统原理与设计》课程设计课题:DS18B20数字温度计的设计

班级测控1102班学号

学生姓名

专业测控技术与仪器

系别电子信息工程系

指导教师杨银贤毛钢元

淮阴工学院

电子信息工程系

2013年5月

一.设计目的

《测控系统原理与设计》课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验微机应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应能加强学生如下能力的培养。

二.摘要

温度是一种最基本的环境参数,人们生活与环境温度息息相关,在工业生产过程中需要实时测量温度,在工业生产中也离不开温度的测量,因此研究温度的测量方法和控制具有重要的意义。

1976单片机自年由Intel公司推出MCS-48开始,迄今已有三十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器。目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。一种以单片机为主要控制器件,以DS18B20为温度传感器的新型数字温度计。主要包括硬件电路的设计和系统程序的设计。硬件电路主要包括主控制器,测温控制电路和显示电路等,主控制器采用单片机AT89C51,温度传感器采用美国DALLAS 半导体公司生产的DS18B20,显示电路采用8位共阴极LED数码管。系统程序主要包括主程序,测温子程序和显示子程序等。DS18B20新型单总线数字温度传感器是DALLAS公司生产的单线数字温度传感器,集温度测量和A/D转换于一体,直接输出数字量,具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。

由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。DS18B20温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。

三.设计要求

采用智能温度传感器DS18B20做为检测元件,AT80C2051做为控制器,采用LED数码管直接显示温度值。

四.芯片简介

(1)适应电压范围更宽,电压范围:3.0V~5.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(3)DS18B20在使用中不需要任何外围原件,全部传感元件及转换电路集成在形成一只三极管的集成电路内。

(4)测温范围—55℃~+125℃时精度为±0.5℃.

(5)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃,0.0625℃,可实现高精度测温。

(6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms 内把温度值转换数字,速度更快。

(7)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU同时可传送CRC效验码,具有极强的抗干扰纠错能力。

(8)负压特性:电源极性接反时,芯片不会因为发热而烧毁,但不能正常工作。

五.系统的硬件

1)AT89C51的简介

AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了 Flash 程序存储器,既可在线编程(ISP),也可用传统方法进行编程,因此,低价位AT89C51单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89C51的主要特性如下:

(1)与MCS-51 兼容;(2) 4K字节可编程闪烁存储器;(3)寿命:1000写/擦循环;(4)数据保留时间:10年;(5)全静态工作:0Hz-24Hz;(6)三级程序存储器锁定;(7) 128*8位内部RAM;(8)32根可编程I/O线;(9)两个16位定时器/计数器;(10)5个中断源;(11)可编程串行通道;(12)低功耗的闲置和掉电模式;(13)片内振荡器和时钟电路。

1、AT89C51引脚图

芯片AT89C51的引脚排列和逻辑符号如下图所示。

AT89C51单片机引脚图

2、AT89C51引脚功能介绍

单片机芯片AT89C51为40引脚双列直插式封装。其各个引脚功能[5]介绍如下:

(1) VCC:供电电压;

(2) GND:接地;

(3) P0口

P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写”1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

(4) P1口

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入”1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

(5) P2口

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储

器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6) P3口

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入”1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。其具体功能如表3.1所示。

表3.1 P3口的特殊功能

端口定义符号表示功能描述

P3.0 RXD 串行输入口

P3.1 TXD 串行输出口

P3.2 INT0 外部中断0

P3.3 INT1 外部中断1

P3.4 T0 定时器0外部输入

P3.5 T1 定时器1外部输入

P3.6 WR 外部数据存储器写选

P3.7 RD 外部数据存储器读选

(7) RST:复位输入端。当振荡器复位时,要保持RST脚两个机器周期的高电平时间。

(8) ALE / PROG

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

(9) PSEN

外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

(10) EA/VPP

当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(11) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

(12) XTAL2:来自反向振荡器的输出。

2) LED数码管的操作

LED数码管,也叫LED数码显示器,由于它具有很高的性能价格比、显示清晰、亮度高、使用方便、电路简单、寿命长等诸多优点,长期以来一直在各类电子产品和工程控制中得到非常广泛的应用。在单片机控制系统中,因为单片机的硬件简单、灵活等特点,非常适合使用LED数码管作为其输出设备,这样既满足了控制系统硬件简单,又能如实地显示被控系统的温度、压力、流量、高度等一些单片机的处理结果。

LED数码管的基本组成是半导体发光二极管,它是将若干个发光二极管,按照一定的笔段组合起来构成的一个整体。LED数码管能显示0~9十个数字及部份英文字母。常见的八段LED数码管结构如下图所示。

图3.10 数码管的内部结构

它由8个发光二极管组成,其中7个长条形的发光二极管排列成”日”字形,另一个发光二极管在整个数码管的右下角,用来显示小数点。根据8个发光二极管的不同连接形式,可以将LED数码管分成共阳极和共阴极两种。将8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管;将8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管。

共阴极和共阳极结构的LED数码管各笔段名和安排位置是相同的(如图3.10所示)。

当发光二极管导通时,相应的笔段发亮,由发亮的笔段组合成0~9十个数字及部分英文字母。这里我们以共阴极LED数码管为例,当让其显示数字”3”时,只要a、b、c、d、g 段的发光二极管点亮,e、f、dp段的发光二极管不亮,即a、b、c、d、g段发光二极管的阳极加上高电平”1”,e、f、dp段发光二极管的阳极加上低电平”0”,同时使LED数码管的公共阴极接低电平”0”,则LED数码管此时就能显示数字”3”。

如果加到各笔段对应发光二极管阳极上的代码不同,则就能控制LED数码管显示不同的字符和数字,这个代码称为段码。通常将这个段码用单片机系统中的一个字节进行存储,正好这个字节中的8个二进制位(D7、D6、D5、D4、D3、D2、D1、D0),依次对应LED数码管的8个笔段dp、g、f、e、d、c、b、a。

3)温度传感器

DS18B20温度传感器是采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片,经焊接,外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

1.技术性能描述

* 独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯,在使用中不需要任何外围元件。

* 测温范围-55℃~+125℃,固有测温分辨率0.5℃。-

* 支持多点组网功能,多个DS1820可以并联在唯一的三线上,实现多点测温。

* 工作电源: 3~5V/DC

* 测量结果以9位数字量方式串行传送。

* 不锈钢保护管直径Φ6

* 适用于1/2”, 3/4”, 1”, DN40~DN250各种介质工业管道和狭小空间设备测温

2.应用范围

* 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域 * 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制

3.DS18B20的性能特点如下:

*独特的单线接口仅需要一个端口引脚进行通信;

*多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

*无须外部器件;

*可通过数据线供电,电压范围为3.0~5.5V ; *零待机功耗;

*温度以9或12位数字; *用户可定义报警设置;

*负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用3脚PR -35封装或8脚SOIC 封装,其内部结构框图如下所示。

DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH 和TL 、配置寄存器。DS18B20的管脚排列如下图所示:

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM 和一个非易失性的可电擦除的EERAM 。高速暂存RAM 的结构为8字节的存储器,结构如上图所示。头2个字节包含测得的温度信息,第3和第4字节TH 和TL 的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20

工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如下图所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

由下表可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T >TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。分别说明如下:

(1)初始化单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从机的DS18B20芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行读写操作。

(2)ROM操作命令总线主机检测到DS18B20的存在便可以发出ROM操作命令之一这些命令表2.2:

表2.2 ROM操作命令

(3)存储器操作命令如表2.3:

(4) 时序主机使用时间隙(time slots)来读写DS18B20的数据位和写命令字的位

①初始化时序见图2.7,主机总线to时刻发送一复位脉冲(最短为480us的低电平信号),接着在tl时刻释放总线并进入接收状态。DS18B20在检测到总线的上升沿之后等待15-60us,接着DS18B20在t2时刻发出存在脉冲(低电平持续60-240 us)。如图中虚线所示:

图2.7 初始化时序

②写时间隙

写0时序写1时序

当主机总线t o时刻从高拉至低电平时,就产生写时间隙见图2.8.1和图2.8.2。从to时刻开始15us之内应将所需写的位送到总线上,DSl820在t o后15-60us间对总线采样。若低电平,写入的位是0。见图2.5.1。若高电平写入的位是1见图2.5.2。连续写2位间的间隙应大于1us。

③读时间隙

见下图,主机总线to时刻从高拉至低电平时,总线只须保持低电平l us。之后在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后t 2时刻前有效,t 2距to为15us。也就是说t 2时刻前主机必须完成读位,并在t o后的60us一120us内释放总线,读位子程序(读

得的位到C中)。

读时序

DSl820多路测量简介

DSl820原理框图

每一片DSl820在其ROM中都存有其唯一的48位序列号,出厂前已写入片内ROM 中,主机在进入操作程序前必须逐一接入DS18B20用读ROM(33H)命令将该DS18B20的序列号读出并登录。当主机需要对众多在线DS18B20的某一个进行操作时,首先要发出匹配ROM 命令(55H),紧接着主机提供64位序列(包括该DS18B20的48位序列号)。之后的操作就是针对该DS18B20的。而所谓跳过ROM命令即:MOV A,#0CCH。

上图中先有跳过ROM,即是启动所有DS18B20进行温度变换,之后通过匹配ROM 再逐一地读回每个DS18B20的温度数据。在DS18B20组成的测温系统中,主机在发出跳过ROM命令之后,再发出统一的温度转换启动码44H,就可以实现所有DS18B20的统一转换,再经过1s后,就可以用很少的时间去逐一读取。这种方式使其T值往往小于传统方式。(由于采取公用的放大电路和A/D转换器只能逐一转换)。显然通道数越多,这种省时效应就越明显。

DS1820使用中注意事项:

DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

DS18B20测温原理

DS18B20的测温原理如图3.8所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

图3.8 DS18B20测温原理图

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.8中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时间概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

在正常测温情况下,DS18B20的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。实际温度Ts可用式(3.1)计算:Ts=(Tz-0.25℃)+(CD-Cs)/CD (3.1)

六.硬件电路的设计

1)复位电路的设计

单片机复位电路的设计如下图所示。该复位电路采用手动复位与上电复位相结合的方

式。当按下按键S1时,VCC通过R1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是VCC通过电阻R2和电容C构成回路,该回路是一个对电容C充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能。

单片机复位电路

2)晶振电路的设计

单片机晶振电路的设计如下图所示。XTAL1(X1)为反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2(X2)是来自反向振荡器的输出。按照理论上AT89C51使用的是12MHz的晶振,但实测使用11.0592MHz。所以设计者通常用的是11.0592MHz。

3)温度采集电路的设计

由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。温度采集电路

设计的温度采集电路如下图所示。

单片机晶振电路

温度采集电路图

4)温度显示电路

显示电路采用4个共阴极LED数码管,从P1口并行输出温度段码,用P3.0~P3.3四个端口输出选择脉冲,控制数码管的点亮。其具体电路图如下图所示。

显示电路

其工作过程如下:

1、并行数据由P1口送至4个数码管。

2、这时P3.0、P3.1、P3.2、P3.3轮流输出低电平,LED数码管依次被点亮,显示P1传送来的数据。

由于数码管余辉效应和人眼的视觉延迟,当数码管每秒点亮50次时,就会出现静止显示的温度值。

七.调试

本次设计系统的调试以程序的调试为主。

先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编程及调试。

由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时,必须严格的保证读/写时序,否则将无法读取测量结果。本程序采用单片机C语言编写,用Keil C编译器编程调试。

软件调试到数码管能显示温度值,而且在有温度变化时(例如改变传感器的温度值)显示温度能改变。

八.系统的软件设计

1)温度采集程序的设计

温度采集程序流程图如下图所示。

图4.4 温度采集流程

采集程序

主要程序代码及其说明(见注释语句)如下:

uchar tplsb,tpmsb; //温度值低位、高位字节sbit DQ=P0^0; //数据通信线

/*延时t毫秒*/

void delay(uint t)

{

uint i ;

while (t--)

{

/*对于11.0592Hz时钟,约延时1毫秒*/

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

{}

}

}

/*产生复位脉冲,初始化DS18B20*/

void Txreset (void)

{

uint i ;

DQ =0;

/*拉低约900μs*/

i=100;

while(i>0)i--;

DQ =1 ; //产生上升沿

i=4 ;

while (i>0) i--;

}

/*等待应答脉冲*/

void RxWait (void)

{

uint i ;

while (DQ) ;

while (~DQ) ; //检测到应答脉冲

i =4 ;

while (i>0) i-- ;

}

/*读取数据的一位,满足读时序要求*/

bit RdBit (void)

{

uint i ;

bit b ;

DQ=0;

i++; //保持低至1us

DQ=1;

i++;i++;//延时15us以上,读时序下降沿后15us,DS18B20

输出数据才有效

b=DQ;

i=8;

while(i>0) i--; //读时隙不低于60us

return(b);

}

/*读取数据的一个字节*/

uchar RdByte(void)

{

uchar i,j,b;

b=0;

for (i=1;I<=8;i++)

{

j=RdBit();

b=(j<<7)|(b>>1);

}

return(b);

}

/*写数据的一个字节,满足写”1”和写”0”的设计要求*/

操作系统精髓与设计原理-第11章_IO管理和磁盘调度,第12章_文件管理

第十一章 I/O管理和磁盘调度 复习题 11.1列出并简单定义执行I/O的三种技术。 ·可编程I/O:处理器代表进程给I/O模块发送给一个I/O命令,该进程进入忙等待,等待操作的完成,然后才可以继续执行。 ·中断驱动I/O:处理器代表进程向I/O模块发送一个I/O命令,然后继续执行后续指令,当I/O模块完成工作后,处理器被该模块中断。如果该进程不需要等待I/O完成,则后续指令可以仍是该进程中的指令,否则,该进程在这个中断上被挂起,处理器执行其他工作。 ·直接存储器访问(DMA):一个DMA模块控制主存和I/O模块之间的数据交换。为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。 11.2逻辑I/O和设备I/O有什么区别? ·逻辑I/O:逻辑I/O模块把设备当作一个逻辑资源来处理,它并不关心实际控制设备的细节。逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。 ·设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器命令。可以使用缓冲技术,以提高使用率。 11.3面向块的设备和面向流的设备有什么区别?请举例说明。 面向块的设备将信息保存在块中,块的大小通常是固定的,传输过程中一次传送一块。通常可以通过块号访问数据。磁盘和磁带都是面向块的设备。 面向流的设备以字节流的方式输入输出数据,其末使用块结构。终端、打印机通信端口、鼠标和其他指示设备以及大多数非辅存的其他设备,都属于面向流的设备。 11.4为什么希望用双缓冲区而不是单缓冲区来提高I/O的性能? 双缓冲允许两个操作并行处理,而不是依次处理。典型的,在一个进程往一个缓冲区中传送数据(从这个缓冲区中取数据)的同时,操作系统正在清空(或者填充)另一个缓冲区。 11.5在磁盘读或写时有哪些延迟因素? 寻道时间,旋转延迟,传送时间 11.6简单定义图11.7中描述的磁盘调度策略。 FIFO:按照先来先服务的顺序处理队列中的项目。 SSTF:选择使磁头臂从当前位置开始移动最少的磁盘I/O请求。 SCAN:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到

智能仪器原理及设计资料

《智能仪器原理及设计》报告 专业: 学号: 姓名:

目录 1.1 设计要求 (3) 1.2 设计过程 (3) 1.2.1 设计总体方案 (3) 1.2.2 器件的选择 (4) 1.2.3 电路设计 (7) 1.2.4 软件设计 (9) 1.3 总结 (12)

基于单片机的温度传感器设计 1.1 设计要求 实现室温测量,并使用液晶屏显示实时温度。 1.2 设计过程 1.2.1 设计总体方案 根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C52为测控系统的核心来完成数据采集、处理、显示、报警等功能。 采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0~100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C52构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。 采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的工艺兼容性高,只需将软件作修改即可,可操作性强,也易于读数。 该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C52单片机上,经过单片机处理,将把温度在显示电路上显示,本系统显示器液晶屏显示实现。检测范围-55摄氏度到125摄氏度。 按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。 数字温度计总体电路结构框图如图1所示 图1 数字温度计总体电路结构框图

一文读懂对话式交互技术原理及流程设计

一文读懂对话式交互技术原理及流程设计 一、对话式交互技术 以智能音箱、智能电视为代表的对话式交互,是时下非常火热的、且能够走近我们生活的人工智能子领域。 什么是对话式交互呢?我们首先从一个例子开始。贾维斯,电影《钢铁侠》中那位钢铁侠的AI 管家,他能独立思考、可以实时帮钢铁侠处理各种事情,包括计算海量数据。其中最让观众印象深刻的就是,贾维斯可以随时随地像人一样进行口语交流,来解决钢铁侠的问题。 贾维斯能听、会说,能实时理解主人的对话意图并根据实际场景进行下一步的对话,如果在对话过程中碰到有歧义的情况,他还会追问钢铁侠,让他提供更多的信息来消除歧义。贾维斯的这些能力就是对话式交互要提供的,其中的核心是VUI (V oice User Interface,语音用户界面)的设计。相对于GUI(Graphical User Interface,图形用户界面),VUI 解放了人的双手,某些场景下,简单的一句语音命令就能代替GUI 下鼠标/ 遥控器的多次点击,这带来的不只是方便,还节省了时间。一个好的VUI 系统,能够让用户尽可能通过最少轮次的对话实现既定意图的执行。贾维斯总能在危机时刻帮到钢铁侠,他是一个具有完美VUI 的语音助手。 嗯,我们不要入戏过深,贾维斯是一部电影里的虚拟系统。那么,现实生活中,我们能创造出来一个接近贾维斯的对话式交互系统吗?我们该怎么做呢?呃,很遗憾,以当前的科技发展水平,我们还做不到电影里那么智能,更不用说让机器有意识。但人机交互并不是昨天才发明出来的,人类在这个领域已经探索了几十年,我们可以实现钢铁侠与贾维斯的交互方式,并用这种方式来帮我们处理一些数据或控制我们身边的一些硬件设备(比如让语音助手根据天气提供穿衣建议或者控制厨房和卧室的各个家电),这就是我们要聊的对话式交互技术。 对话式交互技术包括了语音识别/ 合成、语义理解和对话管理三个部分。当下的对话式交互产品主要分两类:以微软小冰为代表的开放域(Open Domain)对话系统和以亚马逊

计算机操作系统原理课程设计

上海电力学院 课程设计报告 课程名称:操作系统原理 题目名称:采用可变分区存储管理,模拟主存空间的分配和回收 姓名: xxx 学号: xxx 班级: 2013054 同组姓名: xxx 课程设计时间: 2015.7.6~2015.7.10 评语: 成绩:

课程设计题目 一、设计内容及要求 可变分区存储管理模拟 设计内容:编写程序模拟实现可变分区存储管理。 具体要求: 编写程序模拟实现可变分区存储管理,实现存储管理的基本功能,包括内存的分配、内存的回收、地址变换等。 输入:1、输入新进程名称及使用内存的大小(可创建多个进程); 2、撤销某个指定的进程; 3、某个进程的逻辑地址; 输出:显示每次创建进程或者撤销进程后内存使用的状况,包括每一个进程占据的内存的位置和大小; 计算并输出给定逻辑地址对应的物理地址。 必须分别使用以下分配算法完成模拟: 1、首次适应算法; 2、最佳适应算法; 3、最差适应算法; 小组分工: 程序设计讨论: 程序主体设计: 程序调试及修改: 实验报告设计: 总结: (要求注明小组分工情况) 二、详细设计 1)原理概述 对于可变分区存储管理的内存分配与回收,主要为设计以下几个部分: 1、设计动态输入空闲分区表的程序 2、设计内存分配的程序 3、设计内存回收的程序 首次适应算法: FF算法要求空闲分区表或空闲分区链以地址递增的次序链接。在分配内时,从链首开始查找,直至找到一个大小能满足要求分区为止;然后再按照作业大小,从该分区中划一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。如从链首直至链尾都不能找到一个能满足要求的分区,则此次分配失败,返回 最佳适应算法: BF算法是指每次为作业分配内存,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到能满足要求的空闲区,

《操作系统精髓与设计原理·第五版》练习题及答案

第1章计算机系统概述 1.1、图1.3中的理想机器还有两条I/O指令: 0011 = 从I/O中载入AC 0111 = 把AC保存到I/O中 在这种情况下,12位地址标识一个特殊的外部设备。请给出以下程序的执行过程(按照图1.4的格式): 1.从设备5中载入AC。 2.加上存储器单元940的内容。 3.把AC保存到设备6中。 假设从设备5中取到的下一个值为3940单元中的值为2。 答案:存储器(16进制内容):300:3005;301:5940;302:7006 步骤1:3005->IR;步骤2:3->AC 步骤3:5940->IR;步骤4:3+2=5->AC 步骤5:7006->IR:步骤6:AC->设备 6 1.2、本章中用6步来描述图1.4中的程序执行情况,请使用MAR和MBR扩充这个描述。 答案:1. a. PC中包含第一条指令的地址300,该指令的内容被送入MAR中。 b. 地址为300的指令的内容(值为十六进制数1940)被送入MBR,并 且PC增1。这两个步骤是并行完成的。 c. MBR中的值被送入指令寄存器IR中。 2. a. 指令寄存器IR中的地址部分(940)被送入MAR中。 b. 地址940中的值被送入MBR中。 c. MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中。 b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 4. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. 地址941中的值被送入MBR中。 c. AC中以前的内容和地址为941的存储单元中的内容相加,结果保存 到AC中。 5. a. PC中的值(302)被送入MAR中。 b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 6. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. AC中的值被送入MBR中。 c. MBR中的值被存储到地址为941的存储单元之中。 1.4、假设有一个微处理器产生一个16位的地址(例如,假设程序计数器和地址寄存器都是16位)并且具有一个16位的数据总线。 a.如果连接到一个16位存储器上,处理器能够直接访问的最大存储器地址空间为多少? b.如果连接到一个8位存储器上,处理器能够直接访问的最大存储器地址空间为多少? c.处理访问一个独立的I/O空间需要哪些结构特征? d.如果输入指令和输出指令可以表示8位I/O端口号,这个微处理器可以支持

测控系统原理课程设计汇本

摘要 本系统以AT89C52为核心器件,设计一种函数信号发生器,AT89C52是一个低电压高性能CMOS 8位单片机,片含8k bytes的课反复擦写的Flash只读存储器和256 bytes的随机存取数据存储器(RAM)。本系统大致可分为四个模块,单片机控制模块(AT89C52),波形输出模块(DAC0832、UA741),显示模块(数码管、电阻),按键模块。可以输出三角波、正向锯齿波、负向锯齿波和方波,波形清晰,系统采用按键输入,利用数码管显示电路输出数字显示的方案,其中:0为方波、1为正向锯齿波、2为负向锯齿波、3 为三角波。 目录

第一章设计容及要求 (2) 第二章需求分析与设计思路 (2) 第三章总体方案设计 (3) 3.1硬件设计 (3) 3.1.1 硬件设计系统总体框图 (3) 3.1.2单片机控制系统电路 (3) 3.1.3波形输出模块电路 (3) 3.1.4显示模块 (3) 3.1.5按键模块 (3) 3.2软件设计 (4) 第四章详细设计 (4) 4.1硬件电路原理图 (4) 4.2元件清单并说明元件选择及参数选择的依据 (5) 4.3仿真运行结果 (6) 4.4 单片机片资源分配图 (7) 4.5 软件流程图 (8) 4.6程序清单及注释 (8) 第五章使用说明 (9) 5.1性能和功能介绍 (9) 5.2各操作开关、按钮、指示灯、显示器等的作用介绍 (9) 5.3使用操作步骤 (9) 5.4故障处理 (9) 第六章设计体会 (9) 第七章参考文献 (10) 附录 (10) 第一章设计的容及要求

运用所学单片机、模拟和数字电路、以及测控系统原理与设计等方面的知识,设计出一台以AT89C52为核心的函数发生器,能分别产生三角波、正向锯齿波、负向锯齿波和方波,完成输出信号的产生、显示及键盘接口电路等部分的软、硬件设计,要求采用DAC0832 实现D/A转换,利用按键(自行定义)进行输出波形选择,同时将当前输出波形代号显示在LED上:0为方波、1为正向锯齿波、2为负向锯齿波、3 为三角波。 要求: 1、设计接口电路,将这些外设构成一个简单的单片机应用系统。 2、函数发生器要求如下: 1)1位数码显示 2)输出信号:0~5V。 3)按键切换输出波形。 第二章需求分析与设计思路 本次设计要求设计一台以AT89C52为核心函数信号发生器,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和转换,系统采用按键输入,利用数码管显示电路输出数字显示的方案。故将设计分解为四个模块,单片机控制模块(AT89C52),数模转换放大(DAC0832、UA741),显示模块(数码管、电阻),按键模块。波形的产生是通过AT89C52 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。在AT89C52的P1口接4个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有P1.4口管脚接七段数码管芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。其中单片机控制电路主要是形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。显示电路则驱动1位七段数码管显示,扫描按钮。波形转换电路将波形样值的编码转换成模拟值,完成单极性的波形输出。单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。利用按键进行输出波形选择,同时将当前输出波形代号显示在LED上:0为方波、1为正向锯齿波、2为负向锯齿波、3 为三角波。 第三章总体方案设计

智能仪器设计讲解

单片机技术课程设计说明书智能仪器人机接口电路设计 专业电气工程及自动化 学生姓名 班级BMZ电气081 学号 指导教师周云龙 完成日期2011年6月9 日

摘要 随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了。计算器在人们的日常中是比较的常见的电子产品之一。如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。 科技的进步需要技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米平方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。 现在应用较广泛的是科学计算器,所谓科学计算器,与我们日常所用的简单计算器有较大差别:只能进行正数加、减、乘、除四则运算的计算器叫做简单计算器;科学计算器是指能兼容正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能的计算器。 计算器的未来是小型化和轻便化,如使用太阳能提供电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,随着社会的发展,知识的更新,各行各业的需要带动了电子产品的发展,未来的智能化计算器将是我们的发展方向,更希望成为现代社会应用广泛的计算工具。 关键词:MCS-51 8051单片机;人机接口扩展4X4按键;计算器;加减乘除;LCD128X64;

目录 第一章绪论 (4) 1.1本课题的研究意义 (4) 1.2设计目的 (4) 设计任务 (4) 第二章计算器系统简介 (3) 2.1单片机发展现状 (3) 2.2计算器系统现状 (4) 第三章主要器件简介 (4) 3.1MCS-51系列单片机简介 (4) 3.2键盘电路的设计 (7) 3.3LCD12864模块介绍 (8) 第四章计算器系统设计 (15) 4.2键盘扫描的程序设计 (15) 4.3显示模块的程序设计 (16) 4.4主程序的设计 (17) 4.5系统调试 (17) 结语 (19) 谢辞 (20) 参考文献 (21) 附录1 系统PCB图............................................................ 错误!未定义书签。 附录2 PROTEUS仿真图 (23) 附录3 程序由于采用的是汇编语言太长,可以在软件KEIL中查阅 (23)

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

《操作系统精髓与设计原理·第六版》中文版标准答案

《操作系统精髓与设计原理·第六版》中文版答案

————————————————————————————————作者:————————————————————————————————日期: 2

复习题答案 第1章计算机系统概述 1.1 列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2 定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3 一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4 什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5 多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6 内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7 什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。 1.8 列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9 空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10 开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

智能仪器原理与设计

《智能仪器原理与设计》课程教学大纲 课程编码:课程类型:专业课 总学时:54 学分:3 第一部分相关说明 一、课程的性质和任务 课程的性质:《智能仪器原理与设计》是电子工程本科专业必修的专业基础课程之一。智能仪器在通信、家电、自动控制、仪器仪表中得到了广泛的应用。通过本课程的学习,使学生掌握利用微处理器系统使电子仪器实现智能化的具体方法,包括硬件和软件两个方面。 课程的任务:使学生掌握智能仪器的基本工作原理,具备智能仪器的初步应用能力,为将来从事智能仪器的工作打下坚实的基础。智能仪器课程侧重讨论智能仪器实际设计过程中所涉及的具体方法与技巧。旨在使学生运用所学的微型计算机和电子技术等方面的基础知识,解决现代电子仪器开发过程中的实际问题,逐步具备能够设计以微型计算机为核心的电子系统的能力。 本课程中既有硬件的原理和组成,又有针对硬件的软件编程,软件与硬件必须同时兼顾。 二、课程的基本要求 本课程主要研究智能仪器的基本原理与基本分析方法,以单元电路的分析和设计为主。通过本课程的学习,学生应达到下列基本要求: 1、对智能仪器各组成单元的基本工作原理、性能指标以及它们在整机中的作用形成明确的认识。 2、掌握这些单元电路的分析、计算和设计方法,以及实验操作技能。 三、教学方法与重点、难点 教学方法:针对本课程学时少,内容多,技术发展快,实践性强等的特点,应采取探讨式和启发式教学;教学过程以课堂为主。 重点:人机接口电路、通信接口电路和软件编程。 难点:智能仪器的应用。

四、本课程与相关课程的联系 学习本课程主要涉及模拟电子技术、数字电子技术以及微机原理课程中有关接口和汇编程序、微机控制方法等方面的有关知识。因此,应当尽可能地在先修《模拟电子技术》、《数字电子技术》、《微机原理》和《微机接口技术》,《单片机原理与应用》等课程,为有关智能仪器系统设计方面的课题打下必要的基础,是该专业学生的毕业前的综合性设计课程。 五、学时分配 总学时:54学时,其中理论教学时数为36学时, 1、考核方式:笔试(闭卷) 2、成绩评定:平时成绩(测验及作业等)占×30%,期末考试成绩占×70%。

操作系统原理期末试卷10套含答案7

操作系统原理期末试卷10套含答案7 一、单项选择题(每题2分,共20分) 1.以下著名的操作系统中,属于多用户、分时系统的是( B ). A.DOS系统B.UNIX系统 C.Windows NT系统D.OS/2系统 2.在操作系统中,进程的最基本的特征是( A ). A.动态性和并发性B.顺序性和可再现性 C.与程序的对应性D.执行过程的封闭性 3.操作系统中利用信号量和P、V操作,( C ). A.只能实现进程的互斥B.只能实现进程的同步 C.可实现进程的互斥和同步D.可完成进程调度 4.作业调度的关键在于( C ). A.选择恰当的进程管理程序B.用户作业准备充分 C.选择恰当的作业调度算法D.有一个较好的操作环境 5.系统抖动是指( D ). A.使用机器时,屏幕闪烁的现象 B.由于主存分配不当,偶然造成主存不够的现象 C.系统盘有问题,致使系统不稳定的现象 D.被调出的页面又立刻被调入所形成的频繁调入调出现象 6.在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的. A.段表B.页表 C. PCB D.JCB 7.在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构是( D ) A.单级目录B.二级目录

C.纯树型目录D.非循环图目录 8.SPOOLing技术可以实现设备的( C )分配. A.独占B.共享 C.虚拟D.物理 9.避免死锁的一个著名的算法是( C ). A.先人先出算法B.优先级算法 C.银行家算法D.资源按序分配法 10.下列关于进程和线程的叙述中,正确的是( C ). A.一个进程只可拥有一个线程 B.一个线程只可拥有一个进程 C.一个进程可拥有若干个线程 D.一个线程可拥有若干个进程 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因.每题2分,共10分) 1.简单地说,进程是程序的执行过程.因而,进程和程序是一一对应的.( ) 2.V操作是对信号量执行加1操作,意味着释放一个单位资源,加l后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,使该进程变为阻塞状态,而现进程继续进行.( ) 3.段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间.( ) 4.在采用树型目录结构的文件系统中,各用户的文件名必须互不相同.( ) 5.用户程序应与实际使用的物理设备无关,这种特性就称作与设备无关性.( ) 答案:1.(×)改正为:进程和程序不是一一对应的. 2.(×)改正为:V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为就绪状态,否则现进程继续进行. 3.(√) 4.(×)改正为:在采用树型目录结构的文件系统中,不同用户的文件名可以相同. 5.(√) 三、填空题(每空2分,共30分)

操作系统精髓与设计原理课后答案

操作系统精髓与设计原理课后答案 第1章计算机系统概述 1.1列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。1.8列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

测控系统原理和设计复习

填空 微机化检测系统:传感器、模拟输入通道、微型计算机、模拟输出通道(数据记录器、报警器)、模拟显示器 微机化控制系统:微型计算机、控制电路、执行器 微机化测控系统:测控通道(模拟量输入通道,模拟量输出,开关量输入,开关量输出)、人—机接口、通信接口 微机化测控系统 由测试系统、控制系统组成 模拟输入通道 传感器、信号调理电路、数据采集电路 多路模拟输入通道分为 集中采集式、分散采集式 集中采集式结构:分时采集型、同步采集型 传感器类型 大信号输出传感器、数字式、集成、光纤 测控通道:模拟量输入通道,模拟量输出通道,开关量输入通道、开关量输出通道 信号调理重点(信号输入通道中):小信号放大、信号滤波、对频率信号的放大整形 PID 参数整定方法1工程整定法(扩充临界比例度法、扩充响应曲线法、归一参数整定法)2理论计算法 模拟PID 调节器 数字PID 控制器 动态显示就是逐位轮流显示。各位LED 数码管的段选端应并接在一起,由同一个8位I/O 口或锁存器/驱动器控制,而各位数码管的位选端分别由相应的 I/O 口线或锁存器控制。各个位的内容是分时轮流输出的,要得到稳定的显示效果,必须不断重复执行显示程序。 矩阵键盘 扫描法 反转法 特点:行线和列线都要通过上拉电阻接+5V 1将行线编程为输出线,列线编程为输入线,并使输出线输出全“0”,则列线中电平由高到低的所在列为按键所在列。2将行线编程为输入线,列线编程为输出线,并使输出线输出全“0”,则行线中电平由高变到低的所在行为按键所在行。 单纯查询法、中断方法、定时查询方法 A/D 结束信号 EOC=1 位置型PID 算法递推形式 ()()()()()()()2a 1a a 1-n u n u 1-n u n u 210-+-++=?+=n e n e n e ()[]001p )1()()()(n u u n e n e T T i e T T n e K D n i +? ?????--++=∑= 步进电机运行方式 单拍通电运行方式,双拍,单、双六拍 硬件抗干扰技术:接地 屏蔽 双线(平衡)传输 量程切换的依据 被测量x 对应的输出数字 FS D E xSK q U D /x ==, FS D D <

交互设计概述·全

交互设计概述 1. 探索思想 如果我们问,交互设计是什么??家从 IxDC 的定义中能很快知道答案。 交互设计,又称互动设计(Interaction Design, 缩写 IxD 或者 IaD),是定义、设计?造系统的?为的设计领域。在于定义?造物的?为?式(the “Interaction”,即??制品在特定场景下的反应?式)相关的界?。[]1 很显然,如果根据定义去看,我们应该是云?雾?,根本看不懂它的定义,也?法理解交互设计是什么,又为何如此去定义的。?然,这种?法就不可取。?当?法理解?个东西是什么的时候,不妨问问??,为什么这个东西不是其他什么。 所以与其从正?去理解交互设计是什么,不如进?对它进?质疑与攻讦。当然,我们进?质疑与攻讦的?的,不是为了搞个?新闻,去否定交互设计的价值,?是通过这种质疑,去理解交互设计的合理性,存在的意义,从?加深对于交互设计的理解,在宏观层?去触及交互设计为什么是这样的。毕竟,?个合理的东西,从任何?度进?攻击都不应该会有破绽。 所以,第?件事,我们应该问问,交互设计是不是应该必须存在在世界上的?它的存在是有什么必然性吗?世界上没有交互设计,还能不能正常运作? 交互设计是如何诞?的?交互设计有什么??我们为什么需要去研究交互设计? 只有我们肯定了交互设计存在的合理性,我们才能更好地去理解,什么是交互设计。 2.交互设计存在的合理理性 2.1.界定交互设计的标准是什什么? 既然我们质疑交互设计存在的合理性,我们?先要做的,应该是界定,什么能够称得上是交互设计?能被称为交互设计的界定标准是什么?因为如果没有这个标准,?切皆可以被称为「交互设计」,那么我们所有讨论的案例、理论、设计都将会是没有意义的。我们出?个问题?问?下: ??瓶?的包装设计能不能被称为交互设计? ??个栏杆的指?设计设计能不能被称为交互设计? ?飞机的控制系统仪表盘设计能不能被称为交互设计?

操作系统原理课程设计报告

操作系统原理课程设计报告

系(院):计算机科学学院 专业班级: 姓名: 学号: 指导教师: 设计时间:2020.5.25——2020.5.30 设计地点:

一、课程设计目的 (4) 二、课程设计的任务和要求 (4) 三、模拟程序的描述: (5) 四、运行环境 (7) 五、算法原理 (8) 1)多级反馈队列调度算法 (13) 2)优先权调度算法 (14) 六、需求分析 (16) 七、总体设计 (17) 八、详细设计与实现[含代码和实现界面] (19) 九、主要代码分析: (26) 十、总结 (44)

一、课程设计目的 《操作系统原理》是计算机科学与技术专业的一门专业核心课程,也是研究生入学考试中计算机专业综合中所涉及的内容。该课程理论性强,纯粹的理论学习相对枯燥乏味,不易理解。通过课程设计,可加强学生对原理知识的理解。 二、课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现。要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序。 具体任务如下: 1、根据需要,合理设计PCB结构,以适用于时间片轮转调度算法;

2、设计模拟指令格式,并以文件形式存储,程序能够读取文件并自动生成指令序列。 3、根据文件内容,建立模拟进程队列,并能采用时间片轮转调度算法对模拟进程进行调度。 三、模拟程序的描述: 模拟指令的格式:操作命令+操作时间 ● C :表示在CPU上计算 ●I :表示输入 ●O :表示输出 ●W :表示等待 ●H :表示进程结束 操作时间代表该操作命令要执行多长时间。这里假设I/O设备的数量没有限制,I和O设备都只有一类。 I,O,W三条指令实际上是不占有CPU的,执行这三条指令就应该将进程放入对应的等待队列(输入等待队列,输出等待队列,其他等待队列)。

操作系统原理课程设计

操作系统原理课程设计 ——银行家算法模拟 指导老师:周敏唐洪英杨宏雨 杨承玉傅由甲黄贤英 院系:计算机学院计算机科学与技术班级:0237-6 学号:2002370609 姓名:刘洪彬 同组者:杨志 时间:2005/1/10---2005/1/14

银行家算法模拟 一、设计目的 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、设计要求 银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同; 设计完成后,将所完成的工作交由老师检查; 要求写出一份详细的设计报告。 三、设计内容 编制银行家算法通用程序,并检测所给状态的系统安全性。 1)银行家算法中的数据结构 假设有n个进程m类资源,则有如下数据结构: 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。 最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给没一进程的资源数。如果Allocation[i,j]=K,则表示进程i 当前已分得Rj类资源的数目为K。 需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

智能仪表系统设计与开发

第11章智能仪表系统设计与开发 11.1 系统设计 11.2 抗干扰设计 11.3 智能仪表设计实例

11.1 系统设计 11.1.1系统设计的基本要求 一、可靠性要高 ?在设计时对系统的应用环境要进行细致地了解,认真分析可能出现的各种影响系统可靠性的因素,采取切实可行的措施排除故障隐患。 ?在总体设计时应考虑系统的故障自动检测和处理功能。在系统正常运行时,定时地进行各个功能模块的自诊断,并对外界的异常情况做出快速处理。对于无法解决的问题,应及时切换到后备装置或报警。 二、使用和维修要方便 ?尽量降低对操作人员的计算机专业知识的要求,以便于系统的广泛使用。 ?系统的控制开关不能太多,不能太复杂,操作顺序应简单明了,参数的输入/输出应采用十进制,功能符号要简明直观。 三、性能价格比要高

11.1.2系统设计的步骤 一、确定任务 ?必须以市场需求为前提。 ?具体实现进行规划。 包括应该采集的信号的种类、数量、范围,输出信号的 匹配和转换,控制算法的选择,技术指标的确定等 二、方案设计 ?单片机机型和器件的选择 ü性能特点要适合所要完成的任务,避免过多的功能闲置; ü性能价格比要高,以提高整个系统的性能价格比; ü结构原理要熟悉,以缩短开发周期; ü货源要稳定,有利于批量的增加和系统的维护。

?硬件与软件的功能划分 ü在CPU时间不紧张的情况下,应尽量采用软件。 ü回路多、实时性要求强,则要考虑用硬件完成。 三、硬件设计 ?单片机电路设计 主要完成时钟电路、复位电路、供电电路的设计。 ?扩展电路设计 主要完成程序存储器、数据存储器、I/O接口电路的设计。 ?输入/输出通道设计 主要完成传感器电路、放大电路、多路开关、A/D转换电路、D/A转换电路、开关量接口电路、驱动及执行机构的设计。 ?控制面板设计 主要完成按键、开关、显示器、报警等电路的设计。

《操作系统原理》课程设计

《操作系统原理》课程设计 课题名称:进程调度算法 姓名: 班级: 学号: 课程设计起止时间:2005年1月2日——2005年1月7日指导教师:成绩:

课程设计任务书

进程调度算法 一、设计说明 该程序实现了进程的创建,且对该进程队列进行动态优先权抢占式和时间片轮转算法的调度。 二、详细设计 1. 流程图

2. 程序运行环境 Turbo C 2.0 3. 变量的名称、作用及含义说明 链表结构process,整型变量name表示进程名称,整型变量prior表示优先数,整型变量needtime表示需要执行时间,整型变量CPUtime表示CPU执行时间,整型变量runtime表示进程执行时间,整型变量state表示运行状态(1:ready, 2:execute, 3:finish)。 4. 各主要模块的功能表述 [ 子函数] ①Createp() 用来创建新进程,其中的整型变量n表示需要创建的进程个数; ②PrintP1(h) 用来打印输出时间片轮转算法的创建进程和运行进程的各变量值; ③Finish(h) 用来判断某个进程是否执行完; ④Find(h) 用来查找该进程队列中优先数最大的进程; ⑤PrintP2(h) 用来打印输出动态优先权抢占式算法的创建进程和运行进程的各变量值; ⑥ExecuteP_prio(h) 执行动态优先权抢占式进程调度算法; ⑦ExecuteP_time(h) 执行时间片轮转进程调度算法; [ 主函数] main()中使用字符变量select表示a和b中的一个字母,整型变量num表示1至3中的一个数,用双层switch语句实现各模块功能。 5.程序源代码 #include #include #include #include #define NULL 0 #define Max_Pri 100 struct Process { int name; int prio; int needtime; int piecetime; int CPUtime; int runtime; int state; struct Process *next;

相关主题
文本预览
相关文档 最新文档