微机原理实验八.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验报告

一.实验目的和要求

了解51系统C语言编程方法,单片机控制系统的构成方法,并通过实践完成系统设计

二.实验内容和原理

使用C语言编写程序,利用A/D采集到的温度传感器的数值,控制风扇的转速,并把温度值和控制风扇转

速的PWM值显示在单片机的数码管上。D/A控制输出:通过实验系统上的D/A模块,设计风扇(电机)的

转速控制程序。通过P2.1的PWM控制信号,实现控制方波占空比的变化,从而控制风扇(电机)的转速。

温度传感器控制风扇:以实验七的程序为基础,利用温度传感器检测到的温度响应值,在15°C~40°C的

装范围内,按每升高1°C增加4%占空比的速度,控制风扇(电机)的转速。即温度传感器信号低于15°C

订时,风扇停止转动,高于40°C时,风扇满功率转动。温度和占空比的显示:实现温度检测和占空比在数

码管上的实时显示。实现当手接触温度传感器时,看到温度上升的同时,风扇加速转动,且PWM控制的占

线

空比数值显示在数码管上。

实验内容:

1、设计中断方式下的运行程序;

2、将编译程序下载到单片机开发板上,进行实机操作;

3、分析说明(实验报告);

三主要仪器设备

.

KEIL4软件,单片机开发板

四.操作方法和实验步骤

首先根据温度的值计算出所需PWM信号的占空比,并把它显示到数码管上,并且输出PWM信号。下面

是具体的代码。有三个文件,分别是temp.h,temp.c和main.c。

main.c:

#includereg52.h//此文件中定义了单片机的一些特殊功能寄存器

#includetemp.h

typedefunsignedintu16;//对数据类型进行声明定义

typedefunsignedcharu8;

sbitLSA=P2^2;

sbitLSB=P2^3;

sbitLSC=P2^4;

sbitPWM1=P1^0;

charnum=0;

u8DisplayData[8];

u8codesmgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

/*******************************************************************************

*函数名:delay

函数功能延时函数,时,大约延时

*:i=110us

*******************************************************************************/

voiddelay(u16i)

{

while(i--);

}

/*******************************************************************************

*函数名:datapros()

*函数功能:温度读取处理转换函数

*输入:temp

*输出:无

*******************************************************************************/

intdatapros(inttemp)

{

floattp;

intk;

if(temp0)//当温度值为负数

{

DisplayData[0]=0x40;//-

因为读取的温度是实际温度的补码,所以减,再取反求出原码

//

文档评论(0)

198****7234 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档