《计算机硬件技术大作业报告1.doc》由会员分享,可在线阅读,更多相关《计算机硬件技术大作业报告1.doc(21页珍藏版)》请在三一办公上搜索。
1、计算机硬件技术实践报告题目 温度测量系统设计 姓名 叶序 专业 测控技术与仪器 班级 2011152 学号 20112554 上海电力学院自动化工程学院目录: (1) 设计题目(2) 开发目的(3) 小组成员分工及成果(4) 设计方案以及论证(5) 硬件原理图(包括芯片的选型介绍)(6) 程序流程图(包括各个子系统和子过程的程序流程)(7) 程序清单,要有适当的注释(8) 程序运行结果分析与预测(9) 结果评述或总结(对实验结果进行分析,对实验过程进行总结,系统改进升级建议或者提出新的方案等。)i. 设计题目:温度测量系统的设计;ii. 开发目的: 利用8086微机设计出符合下面要求的系统:1
2、)利用热敏电阻和电桥电路测量温度变化信号;2)经过放大后送到ADC0809转换成数字信号;3)计算后在LED数码管显示其温度值;4)采用红绿灯指示温度范围,温度在给定范围内绿灯亮,温度超过指定范围时红灯显示警告。扩展功能:实现上位机显示。三、小组分工及成果:小组成员:何睿钦 20112559 叶序 20112554 刘卿材 20112556成员:何睿钦 主要负责:报警电路设计,温度测量电路设计。 叶序 主要负责:ADC0809与8255的连接以及8086与8255的连接。 刘卿材 主要负责:查阅资料,8086内置程序设计,协助完成实验运行iii. 设计方案:温度传感器A/D转换器微处理器译码红
3、绿灯报警显示i. 因为温度传感器在仿真中无法使用,故用一滑动变阻器代替。iv. 硬件原理图Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。模数转换器的选择ADC0809 是美国国家半导体公司生产的一种 8 位分辨率、双通道带有串行接口的A/D转换芯片。由于它体积小,兼容性
4、强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。工作原理ADC0809的工作时序如下图,ADC0831的工作过程如下:首先,将ADC0831的时钟拉低,再将片选端CS置低,启动A/D转换。接下来在第一个时钟的下降沿到来时,ADC0831的数据输出端被拉低,准备输出转换数据。从时钟的第二个下降沿到来开始,ADC0831开始输出转换数据,直到第九个下降沿为止,共8位,输出的顺序从最高位到最低位。芯片接口说明 2.5 ADC0809引脚图IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。AL
5、E:地址锁存允许信号,输入端,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。四位一体LED本次设计选用的是四位一体共阳极数码管。这类数码管可以分为共阳
6、极和共阴极,共阳极就是把所有LED的阳极连接到共同节点com,而每个LED的阴极非别为a、b、c、d、e、f、g及dp;共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp,如下图所示,图中的8个LED分别图中adp各段对应,通过控制各个LED的亮灭来显示数字。数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段,小数点,根据发光颜色决定c、使用电压: 静态:80mA动态:平均电流45mA 峰值电流:100MaOP07放大器介绍OP07是一种高精度单片运算放大器,具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长
7、期稳定等特点。可广泛应用于稳定积分、精密绝对值电路、比较器及微弱信号的精确放大,尤其适应于宇航、军工及要求微型化、高可靠的精密仪器仪表中。OP07作为一种低噪声高精度运算放大器,特别适合做前级放大器。具有以下特点: 1) 低的输入噪声电压幅度0.35 VP-P (0.1Hz 10Hz) 2) 极低的输入失调电压10 V 3) 极低的输入失调电压温漂0.2 V/ 4) 具有长期的稳定性0.2 V/MO 5) 低的输入偏置电流 1nA 6) 高的共模抑制比126dB 7) 宽的共模输入电压范围14V 8) 宽的电源电压范围 3V 22V 9) 可替代725、108A、741、AD510、1875
8、等电路程序流程图:1、 温度测量部分RV1滑动变阻器为在仿真中代替热敏电阻的电阻,后边的运算放大器将电压放大2、 ADC模数转换器:在系统中,ADC0809能将模拟量采样,进而转变为数字信号3、LED显示电路设计LED显示电路4、报警电路设计当温度低于80度时,绿灯亮;当温度高于80度时,红灯亮。报警电路完整系统的设计图:7) 程序清单,要有适当的注释CASD EQU 209HZ827 EQU 212HD8279 EQU 210HLEMDMOD EQU 00H ;左边输入,8位显示外部译码8位显示LEDFEQ EQU 38H ;扫描频率LEDCLS EQU 0C1H ;清除显示RAMZ8255
9、 EQU 21BHZ8255A EQU 218HZ8255C EQU 21AHCOUNT EQU 8DATA SEGMENT DATA1 DB 4 DUP(?)MESS1 DB ENTED ANY KEY TO BEGIN !,0DH ,0AH,$MESS2 DB 10,13,ENTER ANY KEY CAN EXIT TO DOS!, 0DH ,0AH,$MESS3 DB 10,13,INPUT THE TEMPERATURE VALUE :, $MESS4 DB 10,13,INPUT VALUE ERROR !0DH ,0AH,$MESS5 DB 10,13,INPUT A NEW T
10、EMPERATURE VALUE :,$MESS6 DB 10,13,* LET PA0=0 TO ADJUST THE TEMPERATURE VALUE !*, 0DH ,0AH,$MESS7 DB 10,13, * LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE !*, 0DH ,0AH,$LED DB 3FH ,06H,5BH ,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39HDATA ENDS STACK SEGMENT SRACKSTA DW 50 DUP(?)TOP EQU LENGTH STA STACK EN
11、DS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART :MOV AX ,DATA MOV DS ,AXMOV ES ,AXMOV AH ,09H ;显示提示信息1MOV DX, OFFSET MESS1INT 21HMOV AH,09H ;显示提示信息6MOV DX,OFFSET MESS6 INT 21H MOV AH,09H ;显示提示信息7MOV DX,OFFSET MESS7INT 21H MOV AH,08HINT 21H MOV AH,09H ;显示提示信息3MOV DX,OFFSET MESS3INT 21HCALL INPUT
12、 ;输入设置的温度值存DATA1OK:MOV DX,Z8255 ;设置A口为输入,C口为输出MOV AL ,92HOUT DX, ALMOV DX ,Z8255CMOV AL,00HOUT DX,ALCALL DELAYCALL DELAYMOV DX, Z8279 ;初始化8279MOV AL, LEDMOD OUT DX,ALMOV AH, 09HMOV DX,OFFSET MESS2 ;显示提示信息2INT 21H BEGIN:MOV BX,0MOV CL,COUNTMOV CH,0BB:MOV DX,CSAD ;启动ADMOV AX,0OUT DX,ALCALL DELAY IN AL
13、 ,DX ;采样AD值ADC BX,AX ;求平均值LOOP BBMOV AX,BXRCR AX,1RCR AX,RCR AX,1CALL CHANGTOBCD ;转化为十进制的温度值MOV DI,OFFSET DATA1MOV DI+3,ALCALL DISMOV DI,OFFSET DATA1MOV BL,DI+2 MOV AL,DI+3 CMP AL,BL JB UP MOV DX,Z8255AIN AL,DXAND AL,01HJZ DOWNMOV AH,09HMOV DX,OFFSET MESS5INT 21HCALL INPUTJMP BEGINUP: MOV AL,40HJMP
14、AADOWN:MOV AL,00HAA: MOV DX,Z8255COUT DX,ALMOV AH,0BHINT 21HCMP AL,0JZ CCMOV AX,4C00HINT 21HCC: JMP BEGINDELAY PROC NEAR PUSH CX MOV CX,0F00H LOOP S POP CX RETDELAY ENDP INPUT PROC MEAR ;温度值的设置子程序 MOV AH,1H INT 21H MOV DI,OFFSET DATA1 MOV DI,AL MOV BH,AL MOV AL,1L INT 21H MOV DI+1,AL MOV BL,AL AND B
15、H,0FH RCL BH,1 RCL BH,1 RCL BH,1 RCL BH,1 AND BH,0FH OR BL,BH MOV AL,BL CMP AL,76H ;输入温度大于76H则显示错误提示信息 JA ERR MOV DI+2,AL RETINPUT ENDPERR:MOV AH,09H ;显示错误提示信息 MOV DX,OFFSET MESS4 INT 21H MOV AX,4C00H INT 21HCHANGE TOBCD PROC NEAR ;BCD码转换子程序MOV BL,3MUL BLMOV BL,10DIV BLAAM ;非压缩BCD码乘法调整指令MOV BL,ALMOV
16、 AL,AHMOV CL,04HROR AL,CLXOR AL,BLRETCHANGE TOBCD ENDPDIS PROC NEAR ;显示子程序 MOV BL,AL MOV AL,0FH PUSH AX MOV DX,Z8279 MOV AL,90H OUT DX,AL POP AX PUSH BX LEA BX,LED XLAT POP BX MOV DX,D8279 OUT DX,AL CALL DELAY MOV AL,BL MOV CL,04H ROR AL,CL AND AL,0FH LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL CALL DELA
17、Y CALL DELAY RETDIS ENDPCODE ENDS END START八、程序运行结果分析与预测给温度传感器设置10度时,电压表显示值为0.43V,绿灯亮,仍符合要求。LED显示值为022。以此类推当给温度传感器输入20,30,40度时;当改变温度传感器温度值,使LED显示为080时,绿灯亮。当LED显示大于80度时,红灯亮,此时报警指示电路工作正常。4结果分析根据仿真结果可以看出,温度测量电路和A/D转换电路以及报警灯电路均显示正常,只有LED显示结果与理论值有误差,正常情况下LED上显示值和温度传感器输入值是一样的,然而仿真时,0度对应的是002,1度对应的是004,10度
18、对应的是022,显示数以2为基准跳变。因此我首先想到的是程序问题,在程序中加一个除2的语句,但LED显示仍无大变化。因此造成LED显示错误可能有其他原因附录汇编语言程序 CS BIT P1.7 CLK BIT P1.0 DO BIT P1.1 AD_TMP EQU 30H AD_TMP_1 EQU 31H AD_TMP_2 EQU 32H AD_TMP_3 EQU 33H AD_TMP1 EQU 34H ORG 0000H待添加的隐藏文字内容2 LJMP MAIN ORG 0030HMAIN: CLR P2.0START: LCALL AD_CONV LCALL DISPLAY LJMP ST
19、ARTAD_CONV: SETB CS CLR CLK NOP NOP CLR CS NOP NOP SETB CLK NOP NOP CLR CLK NOP NOP SETB CLK NOP NOP MOV R0, #08HAD_READ: CLR CLK MOV C, DO RLC A SETB CLK NOP NOP DJNZ R0, AD_READ SETB CS MOV AD_TMP, A RETDISPLAY: MOV A, AD_TMP MOV DPTR, #TAB1 MOVC A, A+DPTR CJNE A, #80, S1 SJMP S3S1: JNC S2 SJMP S4
20、S2: CLR P3.0 SJMP S4S3: SETB P3.0S4: MOV B, #100 DIV AB MOV AD_TMP_1, A MOV A, B MOV B, #10 DIV AB MOV AD_TMP_2, A MOV AD_TMP_3, B MOV DPTR, #TAB MOV A, AD_TMP_1 MOVC A, A+DPTR MOV P0, A SETB P2.1 LCALL DLY CLR P2.1 MOV A, AD_TMP_2 MOVC A, A+DPTR MOV P0, A SETB P2.2 LCALL DLY CLR P2.2 MOV A, AD_TMP_
21、3 MOVC A, A+DPTR MOV P0, A SETB P2.3 LCALL DLY CLR P2.3 RETTAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 90H, 88H, 83H, 0C6H, 0A1H, 86H, 8EHTAB1:DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 DB 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ,30, 31, 32, 33, 34 DB 35,
22、36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 DB 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66 DB 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 DB 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93DB 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106DB 1
23、07, 108, 109, 110, 111, 112, 113, 114, 115, 116DB 117, 118, 119, 120DLY: MOV R4, #2 D1: MOV R3, #248 DJNZ R3, $ DJNZ R4, D1 RET END结论本设计采用的单片机是作为现代工业中最常用的集成芯片。具有体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、易于推广应用等显著优点,通过软件逻辑控制实现对温度的控制和调节。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部设,单片机芯片如:ADC0809,
24、8255,8086等。单片机外部设备如:温度检测元件AD590,键盘和显示系统中的LED显示器等。该系统的主要优点如下:一、本系统本着简单可靠的原则完成了设计要求,尽量做到线路简单,充分利用软件编程,安装比较灵活而且价格较低。二、在系统的硬件和软件设计中,都加有安全设计部分,避免加热过高造成设备的损坏。同时,该系统在测量过程中会带来系统误差。参考文献1 戴梅蕚 微型计算机技术及应用2007 清华大学出版社2 武锋 单片机应用系统设计-系统配置与接口技术1998.8 北京航空航天大学出版社3 何克忠 计算机控制系统 2002 清华大学出版社4 朱善君 汇编语言程序设计 1998.3 清华大学出版社5 颜永军 protel99电路设计与应用2001.1 国防工业出版社