- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
功能要求
用户设定温度值后,显示设定温度和当前温度根据当前温度和设定温度之间的差值,控制加温或停止加温,最终达到恒温。
2.方案论证
按要求,系统采用1片51单片机、1片A/D转换器ADC0809、键盘和4个共阴极7段LED显示器件。系统框图如图1所示。
3.硬件电路设计
本设计中,8255A和A/D转换器都作为单片机的扩展外设。
4.硬件电路的功能(分模块介绍)
(1) 温度采集与控制单元电路:
温度采集电路是用热敏电阻和一个分压电阻形成电压采样点,电压经换算可得到当前温度。用一个大功率电阻形成温度控制电路,控制点接地,大功率电阻上有电流流过则发热,控制点接+12V,大功率电阻上无电流流过则停止发热。电路图如下图2所示。
(2)动态显示电路:
假设温度在100 ℃一下,因此可以选择4个共阴极的七段LED,前两个显示设定温度,后两个显示当前温度。单片机与8255A相连,用8255A的A口连接段码,B口连接位码实现动态显示。具体电路如图3所示。单片机与8255A的连接电路略,假设8255A的地址为FFF0H -FFF3H。
(3)A/D转换与温度控制电路:
数据采集选用A/D转换器0809,程序中循环采集A/D转换值,采集完成由单片机接收采集的数据,经计算分析,确定是否加温,加温有8255A的PC0控制。具体电路如图4所示。
单片机接收到A/D转换值X后,将其转换为测试点的电压V,在计算出电阻Rt的值。Rt计算过程为:
V=5X/256
i=V/510
Rt=(5-V)/i=510*(5-V)/V
固有:Rt=510*(256-X)/X
热敏电阻的阻值与温度之间有对应关系。有的热敏电阻的阻值与温度之间是线性关系,有的是非线性。对线性关系,可用公式将Rt换算成温度,对于非线性关系,可用查表程序。
从连接电路中可知,0809芯片的地址是7FFFH,0809的控制端CBA与地相连,因此只可采集IN0的信号。采样结束信号EOC与8255的PC7相连,可通过查询测试A/D转换状态。
UNL2803是反向驱动电路,A端为0时,A’为12V,停止加温;A端为1时,A’为0V,开始加温。
(4)键盘电路:
键盘是用来设置恒温时的温度值,根据要求,可设置两个按键开关,K1用于增加设定值,K2用于减小设定值,两个开复安分别接在两个外部中断请求端INT0和INT1上,每按一次开关,温度值变化一次,开关电路如图5所示。由于外部中断是低电平或低脉冲出发,故连接时将K—端与中断请求端相连。
5. 程序设计
系统程序分为主程序、数据转换与控制子程序和中断服务程序。
主程序:
完成系统的8255初始化、启动A/D转换并采集数据、循环显示设定温度和采集温度。程序流程如果6所示。
数据转换与控制子程序:
热敏电阻采用mfd103,电阻与温度之间为非线性关系,因此,从A/D转换器接收的数据经计算得到Rt,经查表形成温度值,存入相应单元,并比较设定值与实际温度,控制加热电路。子程序流程图如下所示。
(3)中断服务程序
中断服务程序由两个外部中断服务程序组成,其中一个完成设定温度加1,另一个完成设定温度减1。
6.程序清单
#includeabsacc.h
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
//定义0~9的共阴极显示代码
Code unchar Table[10]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//定义热敏电阻值与温度关系表(表为20~39℃电阻值,温度间隔为1)
code unit wd[20]=
{0x30CC,0x2EA6,0x2C9C,0x2AAB,0x2802,0x2710,0x2564,
0x23CC,0x2248,0x20D6,0x1F76,0x1E26,0x1CE7,0x1BB6,
0x1A93,0x197D,0x1874,0x1778,0x1687,0x15A0};
uint wd_s,wd_c //分别存放设定温度和当前温度
unit x; //定义变量存放采样值
//数据转换与控制子程序
void change()
{
unit rt,I;
rt=510*(256-x)/x; //计算Rt
for(i=1;i20;i++) //查电阻表,形成当前温度值
{if (rt=wd[i]) break;}
wd_c=20+i; //保存温度
if (wd_cwd_s)
您可能关注的文档
- 2013-2014学年-高中数学北师大版必修二【配套备课资源】直线和圆-圆和圆的位置关系(一).ppt
- 2013.4.29--圆的综合复习教案.doc
- 2013初三中考适应性模拟-2.doc
- 2013高中数学高考题详细分类考点15-函数y=Asin(wx+¢)的图象及其三角函数模型的简单的应用.doc
- 2013化学一轮复习课件:第十章-第4讲-难溶电解质的溶解平衡.ppt
- 2013届高考地理一轮复习-第3章第2课地球表面形态课件-湘教版必修1(湖南专用).ppt
- 2013届高考生物二轮复习全攻略:1-4-12《生物群体的稳态和调节》.ppt
- 2013届高三数学(文)一轮复习课件:第一章-第三节-简单的逻辑联结词、全称量词和存在量词.ppt
- 2013届哈尔滨三中高三上学期期末考试理综卷(2013.01).doc
- 2013兰州网络教育土木工程测量四套练习题满分答案.doc
文档评论(0)