微机原理课程设计电压采集系统.doc

上传人:土8路 文档编号:10405632 上传时间:2021-05-15 格式:DOC 页数:14 大小:108KB
返回 下载 相关 举报
微机原理课程设计电压采集系统.doc_第1页
第1页 / 共14页
微机原理课程设计电压采集系统.doc_第2页
第2页 / 共14页
微机原理课程设计电压采集系统.doc_第3页
第3页 / 共14页
微机原理课程设计电压采集系统.doc_第4页
第4页 / 共14页
微机原理课程设计电压采集系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《微机原理课程设计电压采集系统.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计电压采集系统.doc(14页珍藏版)》请在三一文库上搜索。

1、扬州大学信息工程学院课程设计报告 课程名称 微机原理及应用课程设计 设计题目 电压采集系统 学生姓名 班 级 计科0902 学 号 091202223 指导老师 李 云 成 绩 2012年6月 21 日 目录一、 课程任务- 2二、 总设计方案- 2三、 部分电路设计及 功能解说- 2四、 硬件接线图- 3 五、 软件设计流程图- 4 1、 系统初始化程序 42、 A/D转换子程序. 43、 显示子程序跟BCD码子程序 54、 报警子程序. 7六、 程序段功能汇总- 71、 A/D转换子程序程序段. 72、 BCD转换子程序程序段 83、 显示子程序程序段. 84、 报警子程序程序段. 9七、

2、 实验结果及分析- 9八、 课程设计体会和总结- 9九、 程序清单- 10一、 课程设计的任务设计一个电压采集系统: 采集五次电压取其平均值,并在数码管上显示十进制数。 当电压值超过45V时,喇叭发声报警。 二、总体设计方案 通过一个A/D转换器循环采样1路模拟电压,采样5次信号,然后通过计算取得平均值,平均值放在AVERAGE中。A/D转换器芯片ADC0809将采样到的模拟信号转换为数字信号,转换完成后,CPU读取数据转换结果,并将结果送入外设即LED显示,显示5个电压数据的平均值。设计详细思路如下:1) 1路模拟电压信号通过电位器提供0-6V的电压信号。2) 选择ADC0809芯片作为A/

3、D转换器,电压输入输入信号接到ADC0809的IN0通道,采样5次, 5次电压信号循环采集。3) 利用3个LED数码管显示数据,显示精确到小数点后两位。 4) 延时由8254定时/计数器来实现。5) 实验仪器使用微型计算机开发系统 TD-PITE 。三、部分电路设计及功能解说 LED显示单元的接线: A/D转换单元: 8255 连接 LED ADC0809 连接 880386及输入电压 PA0 - A D0D7-XD0XD7 PA1 -B A、B、C-GND PA2-C IN0-ADJ(05V) PA3-D WR-IOW# PA4-E RD-IOR# PA5-F CS-IOY1 PA6-G C

4、LK-CLK PA7-DP 喇叭报警器: 串行单元的接线: 8254 连接 80386、ADC0809 8255 连接 80386 D0D7-XD0XD7 D0D7-XD0XD7 A0A1-XA1XA2 PB0PB5-X1X6 CS-IOY2 CS-IOY3 CLK0-CLK A0A1-XA1XA3 WR-WR , RD-RD WR-IOW# GATE0-+5V RD-IOR# OUT0-SPK 四、硬件接线图五、软件设计流程图 根据功能需求,系统主程序主要包括初始化程序、A/D转换子程序、显示子程、BCD转换子程序和报警子程序。主程序流程图见图1所示。开始调用显示子程序调用BCD转换程序调用

5、警报子程序调用A/D转换子程序初始化 图1 主程序流程图下面分别介绍各个子程序。1系统初始化程序系统开始运行后,初始化程序将采集数据存放单元清0,将LED显示数据存放单元清0。2A/D转换子程序A/D转换子程序用来控制对ADC0809对电压数据的采样和模拟输入电压的转换,并将对应的数值存放到相应的数据段BCD字节单元,供CPU取出显示到LED单元。数据的读取方式可以采用延时等待、中断读取和查询读取。根据电路采用中断读取的方式,ADC0809的转换控制如下:选择通道并启动转换等待中断 读取转换结果。A/D转换子程序的程序流程图如图2所示。开始启动转换调用延时程序取电压值 N判断是否取了5次的值

6、Y取5次平均值结束图2 A/D转换子程序流程图3显示子程序跟BCD码转换子程序显示子程序采用动态扫描法实现三位数码管的数值显示。测量所得的A/D转换数据放在数据段BCD字节存储单元,测量数据在显示时需要转换为十进制BCD码放在TABLE1表中。由于ADC0809是将模拟信号转换为数字信号,所以要将数字信号转换为对应的电压值,公式为VDATA/51。转换时取一位整数和两位小数,再将数据转换为显示码就可以输出显示了。三位数据显示程序流程图如图3所示。显示子程序中调用了BCD码转换子程序,BCD码转换程序是将数据转换为BCD码值。显示子程序是将数据一次性输出,主要是将对应的段码和位码输出,注意小数点

7、的处理。延时子程序利用8254计时,用8255来查询计时是否完成。BCD码转换子程序流程图见图4所示。开始开始BCD的地址送给SI给位码赋值0FBHTABLE地址送BXBCD的地址送给SI把AX除51判断显示的数据是否为第一位数查表结果送SI Y除后的余数送AX段码小数点处理NSI+1前进输出位码判断是否除了3次输出段码 N调用延时子程序结束判断3为数据是否显示完 YY 图4 BCD转换子程序流图 N取下一个数位码又移一位结束图3 三位数据显示程序流程图 4报警子程序报警子程序是接受8254的信号来发出警告的。当采样的平均值超过4.5V时,8254将会发一路信号给SPK喇叭,喇叭发出声响警告。

8、报警子程序流程图如图5所示。 开始 读入5个数的平均值判断平均值是否大于4.5 N Y 初始化8254为方式3调用延时程序结束 图5 报警子程序流程图六、程序段功能汇总1、A/D转换子程序程序段:GET:MOV BX, 0MOV CX, 5 LOOP1:MOV DX, 0640H;启动AD采样 OUT DX, ALCALL DALLY;延时等待 IN AL, DX;采样 XOR AH, AH ADD BX, AX;累加和 LOOP LOOP1 MOV AX, BX MOV DL, 5;取平均值 DIV DLMOV AVERAGE, AL;送入变量单元内2、BCD转换子程序程序段:CHBCD:L

9、EA BX, TABLE1LEA SI, BCDMOV CX, 3MOV AL, AVERAGEXOR AH, AH LOOP2:MOV DL, 42DIV DL;平均值除以51XLAT MOV SI, AL;求bcd码送入对应BCD单元INC SI MOV AL, AH XOR AH, AH MOV DL, 10 MUL DL LOOP LOOP2;精确到小数点后两位3、显示子程序程序段:PRT:MOV DX, 06C6H;初始化8255 MOV AL, 80H OUT DX, AL MOV CX, 100HLOOP3:LEA SI, BCD MOV AH, 0FBHLOOP4:MOV AL

10、, AH MOV DX, 06C2H OUT DX, AL MOV AL, SI CMP AH, 0FBH JNZ NEXT1 OR AL, 80HNEXT1:MOV DX, 06C0H OUT DX, AL CALL DALLYROR AH, 1INC SICMP AH, 07FHJNZ LOOP4LOOP LOOP3RET4、报警子程序程序段:JUG:PUSH CXPUSH AXMOV AL, AVERAGECMP AL, 0BDHJB NEXT2MOV DX, 0686HMOV AL, 16HOUT DX, ALMOV DX, 0680HMOV AL, 0FFHOUT DX, ALCAL

11、L DALLYMOV AL, 0OUT DX, ALNEXT2:POP AXPOP CXRET七、实验结果及分析 实验是通过转动ADJ单元上的旋钮调节输入的电压的。当输入的电压平均值在4.5v以下时喇叭没有警告的声音发出。当转动旋钮使电压超过4.5v时,喇叭会有短促的报警的声音发出。短促的声音跟送入的频率有关。实验成功。八、课程设计体会和总结 此次的微机原理课程设计,在学期基础实验的基础上提高了我们对于微机原理的实际应用要求,在不断的深入理解理论知识的基础上,我们这组同学通过不断的修改和调试最终成功的运行了我们的程序,达到了老师对于此次课程设计的要求。通过这一个星期的课程设计,我对于微机原理这

12、门课程的掌握程度以及实际的应用能力都有了一定程度上的提高。组员之间的共同合作,不同的分工,我们各司其职,默契配合,共同解决面临的难题,共同分享成功的喜悦。在实践的检验中,我们学到的知识得到了有效的巩固,动手的能力,独立思考的能力,团队合作的能力都得到了有效的锻炼。九、程序清单SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSPUBLIC BCDDATASEGMENTTABLE1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHBCDDB 0,0,0AVERAGE DB0DATAENDSCODESEGMENTASSUME CS:CO

13、DE, DS:DATASTART:MOV AX, DATAMOV DS, AXCALL GETCALL JUG;判断是否大于4.5CALL CHBCDCALL PRT;调用显示子程序JMP STARTCHBCD:LEA BX, TABLE1LEA SI, BCDMOV CX, 3MOV AL, AVERAGEXOR AH, AHLOOP2:MOV DL, 42DIV DL;平均值除以51XLAT MOV SI, AL;求bcd码送入对应BCD单元INC SIMOV AL, AHXOR AH, AHMOV DL, 10MUL DLLOOP LOOP2;精确到小数点后两位GET:MOV BX, 0

14、MOV CX, 5LOOP1:MOV DX, 0640H;启动AD采样OUT DX, ALCALL DALLY;延时等待IN AL, DX;采样XOR AH, AHADD BX, AX;累加和LOOP LOOP1MOV AX, BXMOV DL, 5;取平均值DIV DLMOV AVERAGE, AL;送入变量单元内PRT:MOV DX, 06C6H;初始化8255MOV AL, 80HOUT DX, ALMOV CX, 100HLOOP3:LEA SI, BCDMOV AH, 0FBHLOOP4:MOV AL, AHMOV DX, 06C2HOUT DX, ALMOV AL, SICMP A

15、H, 0FBHJNZ NEXT1OR AL, 80HNEXT1:MOV DX, 06C0HOUT DX, ALCALL DALLYROR AH, 1INC SICMP AH, 07FHJNZ LOOP4LOOP LOOP3RETDALLY:PUSH CX;延时程序PUSH AXMOV CX, 10HA7:MOV AX, 20HA8:DEC AXJNZ A8LOOP A7POP AXPOP CXRETJUG:PUSH CXPUSH AXMOV AL, AVERAGECMP AL, 0BDHJB NEXT2MOV DX, 0686HMOV AL, 16HOUT DX, ALMOV DX, 0680HMOV AL, 0FFHOUT DX, ALCALL DALLYMOV AL, 0OUT DX, ALNEXT2:POP AXPOP CXRETCODEENDSEND STARTEND START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1