如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机控制课程设计学生姓名:学生学号:所在班级:所在专业:指导教师:课题空调温度控制器设计设计任务(要求)设计任务运用<<微型计算机原理与接口技术>>、《单片机原理及应用》等课程知识,根据题目要求进行软硬件系统的设计和调试,从而加深对本课程知识点的理解,使学生综合应用知识能力、设计能力、调试能力及报告撰写能力等显著提高。了解闭环控制的基本原理,熟悉A/D变换原理和编程方法,掌握键盘扫描和LED显示原理和编程方法。设计要求利用8255扩展LED显示电路,键盘电路,A/D变换电路,完成类似空调恒温控制设计。(1)可以利用实验仪上的电位器模仿温度变化,利用ADC0809采样可变电位器的输出电压,可将初始ADC0809的输出值作为设定温度;(2)加热和致冷电机可以用发光管代替,加热时红色发光管亮,制冷时驱动绿色发光管亮;(3)当单片机采样到可变电位器的输出电压值超过设定温度+2℃时,启动致冷电机;采样到可变电位器的输出电压值低于设定温度-2℃时,启动加热电机。二.设计方案1.设定一恒温温度25度,通过键盘来控制它的大小,设定一键温度加一,一键温度减一,电位器所出的模拟温度来和恒温温度进行比较。2.对各个子程序(LED显示,键盘扫描,A/D采样)在主程序实行调用,以此来达到实验的要求。启动AD转换延时读AD变换值结束开始原理框图A/D采样子程序开始输出列扫描信号读入行数列信号移位计算键值有键输入6列扫描完?等待键松开查表得到键码返回是否否LED显示子程序键盘扫描子程序开始取出显示数据输出位选通信号显示数据移位输出时钟脉冲关闭所有显示位取出数据一位输出延时位选通信号位移8位数据输出6位全显示完?返回否否是开始初始化温度参数当前温度和设定温度送显示缓冲显示温度采样当前温度当前温度与设定温度比较制冷不变加热读键盘键盘值是?向下键向上键设定温度减1设定温度加1低2度+/-2度内高2度温度控制主程序系统模块详细设计与调试系统模块的设计A/D转换子程序BEING:MOVDPTR,#8000H;AD转换子程序MOVDPTR,#8000H;启动A/D转换MOVX@DPTR,AMOVR6,#14HDELAY2:NOPNOPNOPDJNZR6,DELAY2MOVXA,@DPTRMOV47H,A;温度AD转换结果暂存47H单元ACALLCHANGE;十六进制转十进制子程序LCALLDISPLAYLEDRETCHANGE:MOVR1,#00HMOVR2,#00HCLRCCHAN:SUBBA,#64HJCCHAN1INCR1AJMPCHANCHAN1:ADDA,#64HCHAN2:SUBBA,#0AHJCCHAN3INCR2AJMPCHAN2CHAN3:ADDA,#0BHMOV64H,A;转换结果个位暂存2AH单元MOV63H,R2;十位存2BH单元MOV62H,R1;百位存2CH单元RETLED转换子程序DISPLAYLED:MOVR0,#BUF;r0指向显示缓冲首地址MOVR1,#5;要循环2次,有2个LEDMOVR2,#00100000B;从第一位开始LOOP:MOVDPTR,#OUTBITMOVA,#0MOVX@DPTR,A;关所有的位的显示MOVA,@R0MOVDPTR,#LEDMAP;查表MOVCA,@A+DPTRMOVDPTR,#OUTSETMOVX@DPTR,A;输出r0指向的单元的数MOVDPTR,#OUTBITMOVA,R2MOVX@DPTR,A;开显示,将这个数显示出来(r2决定在哪一位显示)MOVR6,#01;延时CALLDELAY;延时MOVA,R2RRAMOVR2,A;准备显示下一位数INCR0;r0指向下个单元DJNZR1,LOOP;循环六次MOVDPTR,#OUTBITMOVA,#0MOVX@DPTR,A;关所有的位的显示RET3.按键子程序ANJIAN:CALLTESTKEY;检测键盘是否有按键按下JZANJIANMOVR6,#10;延时去抖动CALLDELAYCALLTESTKEY;再次检测键盘是否有按键按下JZANJIANMOVX@DPTR,AMOVR1,#00100000BMOVR2,#6KLOOP:MOVDPTR,#OUTBIT;扫描,得到按键的行和列MOVA,R1CPLA;(取反)用零去扫描各列MOVX@DPTR,ACPLARRA;下一列MOVR1,A;R1暂存列值MOVDPTR,#INMOVX