单片机课程设计说明书--基于adc0809温度测量单片机系统设计内容摘要:

部具有两个相互独立的接收、发送缓冲器 SBUF 和两个特殊功能寄存器 PCON、 SCON,利用这两个特殊功能寄存器来控制串行口的工作方式和波特率,辅以一定的通信协议,可以将缓冲器中的数据、指令发送给上位机。 下面这段程序是发送数据,再将接收的数据跟发送出去的数据比较,若相同则进行,不同则重新发送一次。 串行通信是采用工作方式 1,波特率是 9600b/s,发送数据是中断方式,接送数据是查询方式。 定时器 Tl 选用工作方式 2,初值为 0FDH,晶振频率 12Hz。 ORG 0000H SJMP START ORG 0023H ;串行中断人口地址 SJMP STR 基于 ADC0809温度测量单片机系统设计 11 ORG 0030H ;程序开始 START:MOV SP, 60H ;设堆栈起始地址 MOV TMOD, 20H ;选 T1 定时模式 2 MOV PCON,80H ; SMOD=1 MOV TH1,0FDH ;串行通信的波特率为 9600HZ SETB TR1 ;启动定时器 T1 CLR ET1 ;关定时器 T1 中断 MOV SCON,50H ;串行口方式 1 工作,允许接收。 SETB EA ; 开总中断 SETB ES ; 开串行口中断 MOV 30H,A ; 存数据 MOV SBUF,A ;发送数据 SJMP $ ;等待中断 STR: MOV R2,1 AJMP STR1 LOOP: DJNZ R2,STR3 ;两次发送不成功则放弃 MOV A,30H ; 重新发送数据 MOV SBUF,A JNB TI,$ STR1:CLR TI ; 清除 T1 CLR ES ; 关串行中断允许 基于 ADC0809温度测量单片机系统设计 12 ACALL DELAY JNB RI,LOOP ; 50ms 后仍没收到 PC机的回复则重新发送 MOV A,SBUF ; 从缓冲器读数据 CLR RI CJNE A,30H,LOOP ;若数据不同则重新发送 STR3:SETB ES ; 开串行中断允许 RETI DELAY: MOV R0,50 DELAY2:MOV R1,0FAH DELAY1:NOP NOP DJNZ R1,DELAY1 DJNZ R0,DELAY2 RET END 基于 ADC0809温度测量单片机系统设计 13 五 .基本人机接口设计 本系统采用 4 个 LED 数码管为显示单元,其中 3 个为温度数值,一个为温度单位。 如图所示, 译码器 采用 74LS47 芯片。 74LS47 的 A、 B、 C、 D 分别接上 ~ 口, 到 分别介绍数码管的公共级。 BI/RBO、 RBI、 LT 分别街上 到。 74LS47 是数字集成电路,用于将 BCD 码转化成数码块中的数字,译码为编码的逆过程。 它将编码时赋予代码的含义 “翻译 ”过来。 实现译码的逻辑电路成为译码器。 译码器输出与输入代码有唯一的对应关系。 74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用, 下表列出了 74LS47 的真值表,表示出了它与数码管之间的关系。 LT RBI A3 A2 A1 A0 BI/RBO a b c d e f g out 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 X 0 0 0 1 1 1 0 0 0 1 1 1 1 1 X 0 0 1 0 1 0 0 1 0 0 1 0 2 1 X 0 0 1 1 1 0 0 0 0 1 1 0 3 1 X 0 1 0 0 1 1 0 0 1 1 0 0 4 1 X 0 1 0 1 1 0 1 0 0 1 0 0 5 1 X 0 1 1 0 1 1 1 0 0 0 0 0 6 1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。