测温单片机设计_第1页
测温单片机设计_第2页
测温单片机设计_第3页
测温单片机设计_第4页
测温单片机设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、探次 2007级单片机课程设计单片机课程设计报告书课题名称测温姓名徐志飞学号20076798专业自动化班级0753-2指导教师马丽焦咏梅高艳玲石家庄铁道大学四方学院2010年7月3日一、设计任务及要求:1 通过按键设置温度上、下限(比如 20C80C)2 读入A/D转换数据,若数据 下限,则显示温度并显示L,并使一个发光二极管点亮。 若数据上限,则显示温度并显示H,并使另一个发光二极管点亮, 下限若数据 上限,则显示C指导教师签名:2010年 月 日二、指导教师评语:指导教师签名:2010年月日三、成绩指导教师签名:2010年月日测温、设计目的1 熟悉测温的工作原理2 加深对单片机编程语言的理

2、解3 熟练掌握单片机伟福实验箱的使用二、设计要求1通过按键设置温度上、下限(比如20 C80C)2读入 A/D 转换数据,若数据 下限,则显示温度并显示 L,并使一个发光二极管点亮。 若数据 上限,则显示温度并显示 H,并使另一个发光二极管点亮, 下限 若数据 上限,则显示 C(可将 AD信号的0V5V对应0C100C)(本机地址为06H,当接到上位机发的 06H时,则回发06H当接到上位机发的 AAH时,则将当前温度发给上位机当收到上位机发的 55H时,则修改设定上、下限)三、电路及连线设计主机: P1.0-EOC从机: P1.0-L0P1.1-L1P1.2-L2P1.3-L3P1.4-L4

3、P1.5-L5P1.6-L6P1.7-L7P1.5-D(灯)P1.6-L1P1.7-L3(主机)RXD-TXD(从机)TXD-RXDP3.2-K0CS0-KEY/LEDCS1-AD/CSIN0- 电位器四、使用说明将电位器的旋转转换的数字值对应为相应的温度值,通过旋转电位器,对外部温度进行改变。当旋转转换的外部温度值小于所限定的下限温度值时,数码管显示L,并且,P1.0所对应的LED灯闪亮当转换的温度值大于所限定的上限温度值时,数码管显示 H,并且,P1.1所对应的LED灯闪亮 当外部输入温度值介于所限定的温度上限值和下限值之间时,数码管显示C,所有的灯均熄灭原键盘按键:789A456B123

4、C0FED各按键对应数值和设置为:上限十位输入确定下限十位输入确定上限个位输入确定下限个位输入确定89修改上限修改下限45670123五、流程图设计六、程序设计如下:主机程序:ORG 0000HAJMP MAIN ; 键盘扫描ORG 0030HLJMP BEGINORG 0030HMAIN:MOV TCON,#01MOV SCON,#50H ;01010000b, 串口方式一, 接收MOV TMOD,#20H ;t1 定时方式二MOV PCON,#00H ; 波特率不倍增MOV IE,#00HMOV IP,#00HMOV TH1,#0FAHMOV TL1,#0FAHSETB TR1CLR ES

5、SETB EX0SETB EAMOV 30H,#20H ; 把温度下限放在 30 地址单元MOV 31H,#02H ; 把温度下限的十位放在 31 单元MOV 32H,#00H ; 把温度下限的个位放在 32 单元 MOV 33H,#80H ; 把温度上限放在 33 地址单元MOV 34H,#08H ; 把温度上限的十位放在 34 单元MOV 35H,#00H ; 把温度上限的个位放在 35 单元 LOOP:CLR P1.5SETB P1.0MOV DPTR , #9000H ; 启动数模转换MOVX DPTR , AJNB P1.0 , $ ; 查询是否转换完MOV A , 31H ;转换上

6、下限SWAP AORL A , 32HMOV 30H , AMOV A , 34HSWAP AORL A , 35HMOV 33H , AMOV DPTR , #9000H ;数模转换MOVX A , DPTRMOV 40H , A ;把检测到的温度放到 40 单元MOV B , #0AHDIV ABMOV 41H,A ; 把检测到的温度的十位放到 41 单元MOV 42H,B ; 把检测到的温度的个位放的 42 单元SWAP AORL A,BMOV 40H,AJNB RI,$MOV A,SBUFCLR RICJNE A,#55H,FASONGSETB IE0MOV A,31HSWAP AOR

7、L A,32HMOV 30H,AMOV A,34HSWAP AORL A,35HMOV 33H,ACLR P1.5AJMP LOOPFASONG:JNC WENDUMOV SBUF ,#06HJNB TI,$CLR TIAJMP FOLLOWWENDU:MOV SBUF ,40HJNB TI ,$CLR TIFOLLOW:MOV A,40HCLR CCJNE A ,30H ,STEP0AJMP WDZC ;跳入温度正常处理子程序 STEP0:JC WDDC1;跳入温度低处理子程序CJNE A,33H,STEP1AJMP WDZC ;跳入温度正常处理子程序 STEP1:JNC WDGC1 ; 跳

8、入温度高处理子程序 ;跳入正常温度处理程序WDZC:MOV A,#39H ;把字符 C 显示MOV DPTR,#8004H ; 断码地址MOVX DPTR,AMOV DPTR , #8002H ; 线选地址MOV A , #04H ; 选最后一个 led 灯MOVX DPTR,AACALL DELAYMOV A,41H ; 最右边第 2 个 led 灯显示温度的十位MOV DPTR ,#TABLEMOVC A , A+DPTRMOV DPTR ,#8004HMOVX DPTR ,AMOV DPTR ,#8002HMOV A , #02HMOVX DPTR ,AACALL DELAYMOV A

9、,42H;最右边led灯显示温度的个位MOV DPTR , #TABLE MOVC A , A+DPTR MOV DPTR , #8004H MOVX DPTR ,AMOV DPTR , #8002HMOV A , #01HMOVX DPTR , AACALL DELAYCLR P1.6CLR P1.7CLR P1.0AJMP LOOPWDDC1 : SETB F0WDGC1:MOV A,41H;最右边第2个led灯显示温度的十位MOV DPTR , #TABLEMOVC A , A+DPTRMOV DPTR , #8004HMOVX DPTR , AMOV DPTR , #8002HMOV

10、A , #02HMOVX DPTR , AACALL DELAYMOV A , 42H;最右边led灯显示温度的个位MOV DPTR , #TABLE MOVC A , A+DPTR MOV DPTR , #8004H MOVX DPTR , AMOV DPTR , #8002HMOV A , #01HMOVX DPTR , AACALL DELAYJB F0 , JSM ;根据温度选择警示MOV A , #76H;显示 H 字符MOV DPTR , #8004HMOVX DPTR , AMOV A , #04H;最右边第3个led灯显示MOV DPTR , #8002HMOVX DPTR ,

11、 AACALL DELAYSETB P1.6;点亮温度高警示位CLR P1.7AJMP LOOPJSM :MOV DPTR , #8004H;显示 L 字符MOV A , #38HMOVX DPTR , AMOV DPTR , #8002HMOV A , #04HMOVX DPTR , AACALL DELAYSETB P1.7;点亮温度低警示位CLR P1.6CLR F0AJMP LOOPDELAY : MOV R7 , #0FFHDELAYING : DJNZ R7 , DELAYINGRETTABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,7

12、7H,7CHDB39H,5EH,79H,71H,73H,3EH,31H,6EH,76H,38HBEGIN : SETB P1.5CLR CMOV 20H , #00HSMJP : SETB CMOV A , #11011111BMOV R4 , A ; 找列号MOV R5 , #00H; 加列号MOV R7 , #4H; 扫描下次MAIN1:MOV DPTR , #8002HMOV A , R4MOVX DPTR , AMOV DPTR , #8001HMOVX A , DPTRORL A , #0F0HCPL AJNZ ZJH ;该列有输入,找键号 DJNZ R7 , JZZAJMP SMJ

13、P;跳入找行号JZZ : MOV A , R4 RRC A MOV R4 , A INC R5 AJMP MAINI1ZJH :CJNE A , #01H , AAA ; 行号为 0 CLR CAJMP HHW0AAA:CJNE A , #02H , BBB;行号为 1CLR CAJMP HHW1BBB:CJNE A , #04H , STEP2 ; 行号为 2 CLR C AJMP HHW2STEP2 : CJNE A , #08 , OVER ; 行号为 3AJMP HHW3HHW0 :MOV A , R5 AJMP XS ;跳入显示HHW1 :MOV A , #4H ADD A , R5

14、 AJMP XSHHW2 :MOV A , #08H ADD A , R5 AJMP XSHHW3 :MOV A , #0CH ADD A , R5 AJMP XSXS : R1 AMOV DPTR , #TABLEBJMP A+DPTROVER :AJMP SMJPJPC1 :JB 00H ,XGSX ; 进入修改上限子程序 JB 00H ,XGXX ; 进入修改下限子程序 AJMP SMJP ;重新扫描键盘XGSX :JB 02H , XGSXSW ;跳入修改上限十位 MOV 34H , A;修改上限JNB 02H , SMJP ;判断输入是十位还是个位 XGSXSW :JB 04H ,

15、ZHDJSMOV 35H , A JNB 04H , SMJP AJMP BEGINXGXX :JB 03 , XGXXSW MOV 31H , AJNB 03H , SMJP ;判断输入是十位还是个位XGXXSW :JB 05H , ZHDJS ; BEGIN ! MOV 32H , AJNB 05H , OVERZHDJS :CLR IE0 RETI AJMP BEGINTABLEB :AJMP KEY0AJMP KEY1AJMP KEY2AJMP KEY3AJMP KEY4AJMP KEY5AJMP KEY6AJMP KEY7AJMP KEY8AJMP KEY9AJMP KEYAAJMP

16、 KEYBAJMP KEYCAJMP KEYDAJMP KEYEAJMP KEYFKEY0 :MOV A , #00HAJMP JPC1 KEY1 :MOV A , #01HAJMP JPC1 KEY2 :MOV A , #02HAJMP JPC1 KEY3 :MOV A , #03HAJMP JPC1KEY4 :MOV A , #04HAJMP JPC1KEY5 :MOV A , #05HAJMP JPC1 KEY6 :MOV A , #06HAJMP JPC1 KEY7 :MOV A , #07HAJMP JPC1 KEY8 :MOV A , #08HAJMP JPC1KEY9 :MOV

17、A , #09HAJMP JPC1KEYA :SETB 00H; 修改上限标志位AJMP JPC1 KEYB :SETB 01H;修改下限标志位AJMP JPC1MOV A , #55HKEYC : SETB 02H ; 上限十位输入确定位MOV SBUF , AAJMP JPC1JNB TI , $KEYD : SETB 03H ; 下限十位输入确定位CLR TIAJMP JPC1LOOP:MOV A , #06HKEYE : SETB 04H ; 下限修改完毕标志位MOV SBUF , AAJMP JPC1JNB TI , $KEYF : SETB 05H ; 上限修改完毕标志位CLR T

18、IAJMP JPC1JNB RI , $ MOV A , SBUF温上位机主程序CLR RIMOV 30H , AORG 0000HMOV A , #0AAHAJMP STMOV SBUF , AORG 0030HJNB TI , $ST : TMOD , #20HCLR TIMOV TH1 , #0FAHJNB RI , $MOV TL1 , #0FAHMOV A , SBUFMOV SCON , #50HCLR RISETB TR1MOV 40H , ACLR ESMOV P1 , 40HMOV PCON , #00HMOV P1 , #00HAJMP LOOP七、设计总结:本次课程设计,受益匪浅。深深体会到团队合作精神的重要性,更通过本次课程设计 将自己所学的理论知识和实际应用相结合, 既巩固了本学期所学的知识, 同时也使自己意识 到单纯的学习理论知识的不足之处,从而使自己找到更好的学习方法。通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论