温度检测流程图
开始 置采集通道为0 启动A/D转换 结果存入 延时 通道增1 通道数为8? 结束
八路巡回温度检测的原理图,其中温度采集部分只画出了一个,其他7个与此相同。元件库中没有找到89c51,用8031代替。
程序部分:
MAIN: MOV R0,#0A0H; 数据暂存区首址 MOV R2,#08H; 8路计数初值 SETB IT1; 脉冲触发方式 SETB EA; 开中断 SETB EX1 MOV DPTR,#7FF8H; MOVX @DPTR,A; HERE:SJMP HERE; 中断服务程序: MOVX A,@DPTR; MOVX @R0,A; INC DPTR; INC R0; DJNZ R2,DONE RETI
DONE:MOVX @DPTR,A RETI
指向0809首地址启动A/D转换 等待中断 读数 存数 更新通道 更新暂存单元
心得体会:
在经过一周的时间过后,单片机的课程设计结束了。通过这一周的课程设计使我收获很多,使我加深了对单片机课程的理解,以及实际的应用。在这一周的课程设计中,每天都认真的寻找课利用的资源。完成单片机课程设计后,发现我还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被完成。通过学习这一次课设,使我们认真思考,勤学好问,也使我认识到认识到把理论应用到实践中去是多么重要。课程设计真正地巩固了我所学的内容。另一方面,由于Protel的安装局限,使得一些元器件没有找到画出的电路图不够完整。时间有限,所以没有进行元器件的封装,就没有出PCB板。 通过此次课程设计,我深刻认识到自己左学的东西有多么的少,在以后的学习生活中,一定努力扩大自己的知识面,加深理解。为以后打下扎实的基础。
附录:
程序:
org 0000h mov sp,#50h
LOOP1: MOV 3AH,#01H ;置路数为1 mov r0,#30h ;保存数据区首址给R0
mov dptr,#7ff0h ;P2.7=0,指向IN0(第一路) mov 3bh,#08h ;通道总数为8 read: