历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2019年12月23日 | 基于51单片机的温控电机proteus仿真及源程序

2019-12-23 来源:51hei

温控电机项目特别提醒:
用Proteus软件进行电路仿真时,TLC549和AT89C51的电源引脚均隐藏了,在制作电路板时一定要给TLC549的Pin8接+5V,Pin4接地;AT89C51的的Pin40接+5V,Pin20接地。

L0NH0%[1B2CEYDJN8}7$MVP.png?imageView2/2/w/550

单片机温控电机源程序如下:

//产生频率为100Hz的PWM


#include

#define uchar unsigned char

#define uint unsigned int


sbit TLC549_SCLK=P1^5; //定义P1.5引脚位名称为TLC549_SCLK

sbit TLC549_SDO=P1^3; //定义P1.3引脚位名称为TLC549_SDO

sbit TLC549_CS=P1^4; //定义P1.4引脚位名称为TLC549_CS


sbit L298_in1=P2^0;//定义P2.0引脚位名称为L298_in1

sbit L298_in2=P2^1;//定义P2.1引脚位名称为L298_in2

sbit L298_ena=P2^2;//定义P2.1引脚位名称为L298_in2


uchar duty=0;//PWM波形的占空比




uchar  TLC549_data(  )//TLC549的A/D转换程序

{

        uchar result;//定义result存放A/D转换结果

        uchar i=0,j;

  

        TLC549_CS=1;//TLC549的CS引脚输出高电平,为A/D转换做准备

        TLC549_CS=0; //TLC549的CS引脚输出低电平,开始一个A/D转换周期

        result=0;//A/D转换结果清零

        TLC549_SDO=1;// 51单片机读数据时得先把管脚置1

        for(i=0;i<8;i++)

        {

                if(TLC549_SDO==1)

                        result=result|(0x80>>i);// 从高位到低位依次获取A/D转换的结果                        

                TLC549_SCLK=1;

                TLC549_SCLK=0;//输出TLC549的下降沿,从SDO端送出一位A/D转换结果

                for(j=0;j<2;j++);//下降沿产生后,400ns后新的位被写到数据线上,所以需延时

        }


        TLC549_CS=1;//一个周期结束后,TLC549的CS端设置为高电平

        return result;//返回A/D转换结果


}


void  T0_int( )

{

   TMOD=0x02;       //定时器T1工作于方式2

   TH0=256-100;      //送初值

   TL0=256-100;

   EA=1;           //设置总中断允许

   ET0=1 ;         //设置允许T1中断

   TR0=1;          //启动定时器T1

}


void  time1_int(void)  interrupt  1   //T1中断服务程序,

{

    static uchar i;

         i++;

         if(i==100)

           i=0;

         if(i           L298_ena=1;

         else

           L298_ena=0;

  

}




void main()

{

        uint tt;


        T0_int();

        while(1)

        {   

             tt=TLC549_data();//读取温度转换的数字量

            tt=tt*100/250;//计算温度值,根据LM35的特性,温度每变化1°C对应的输出电压为10mV

                          //LM35输出的信号经过放大电路放大了4.9倍,经过TLC549进行A/D转换得到

                         //数字量tt。所以由tt可得到温度值=数字量tt/51/4.9*100

       if((tt<10)||(tt>50))//温度低于10°C或高于50°C,电机停转

        {

            L298_ena=0;

            L298_in2=0;

                                L298_in2=0;

        }

       else  if(tt<=20)

        {

            duty=45;

            L298_in2=0;

            L298_in1=1;

        }

       else  if(tt<=30)

        {

            duty=100;

            L298_in2=0;

            L298_in1=1;

        }

       else  if(tt<=40)

        {

             duty=45;

            L298_in2=1;

            L298_in1=0;

        }

       else

         {

            duty=100;

            L298_in2=1;

……………………

推荐阅读

史海拾趣

EXCELTA公司的发展小趣事

进入21世纪后,Excelta公司意识到国际市场的巨大潜力。为了拓展海外市场,公司制定了详细的国际化战略,并在全球范围内建立了多个生产基地和销售网络。通过与国际知名企业的合作和交流,Excelta不断吸收先进技术和管理经验,提升了自身的核心竞争力。同时,公司还积极参与国际展会和论坛,提升了品牌知名度和影响力。

EMI Filter Company公司的发展小趣事

TDK公司,作为全球知名的电子元器件制造商,早在上世纪80年代就开始涉足EMI滤波器领域。当时,随着电子设备的日益普及,电磁干扰问题逐渐凸显。TDK看准市场需求,投入大量资源进行EMI滤波器的研发。初期,他们面临着技术难题和市场接受度的挑战。然而,通过不断的技术创新和产品迭代,TDK的EMI滤波器逐渐在市场上站稳了脚跟。他们的产品在计算机、通信设备等领域得到了广泛应用,有效解决了电磁干扰问题,提升了设备的稳定性和可靠性。

Comtronic Gmbh-Verbindungstechnik公司的发展小趣事

TDK公司,作为全球知名的电子元器件制造商,早在上世纪80年代就开始涉足EMI滤波器领域。当时,随着电子设备的日益普及,电磁干扰问题逐渐凸显。TDK看准市场需求,投入大量资源进行EMI滤波器的研发。初期,他们面临着技术难题和市场接受度的挑战。然而,通过不断的技术创新和产品迭代,TDK的EMI滤波器逐渐在市场上站稳了脚跟。他们的产品在计算机、通信设备等领域得到了广泛应用,有效解决了电磁干扰问题,提升了设备的稳定性和可靠性。

3D PLUS公司的发展小趣事

随着技术的不断成熟,3D PLUS公司开始寻求跨界合作,以拓展3D技术的应用领域。公司先后与艺术博物馆、社区医院、展会展览机构等达成合作,共同探索3D技术在智能环保、城市交通、健康服务等方面的应用。这些合作不仅丰富了3D PLUS的产品线,也为合作方带来了全新的体验和价值,进一步巩固了公司在行业内的领先地位。

富士康(FOXCONN)公司的发展小趣事

面对日新月异的半导体技术,FMS始终保持对创新的执着追求。公司不断加大研发投入,致力于新产品的研发与旧产品的升级换代。同时,FMS还积极关注行业动态,紧跟市场趋势,不断调整和优化产品结构,以满足客户日益多样化的需求。展望未来,FMS将继续秉承“新速勤俭、创造利润、热诚信义、前瞻未来”的经营理念,致力于成为全球半导体供应链中的佼佼者,为客户提供更加优质的产品和服务。

Davies Molding公司的发展小趣事

Davies Molding公司自创立之初,就将产品质量视为企业的生命线。在早期,公司创始人意识到,只有提供高品质的塑料注塑成型产品,才能在竞争激烈的电子行业中立足。因此,公司投入大量资源在研发、生产和质量控制上,确保每一件产品都符合严格的标准。这种对品质的坚持,不仅赢得了客户的信任,也为Davies Molding公司赢得了良好的口碑。

问答坊 | AI 解惑

关于功耗的有效值法测量实验

2006年7月28日 20:46:13 星期五 关于功耗的有效值法测量实验     Measure test for RMS method of power loss     摘  要:本文推导有效值法测 ...…

查看全部问答>

问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?

问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?…

查看全部问答>

关于evc的一个问题

首先谢谢各位大虾! 我现在正用 evc 做一个项目,系统是Wince 4.2 ,用mfc开发,可是有一个程序当我用同一个SDK,当设备为模拟器时,便已无错误,正常运行,可是,当设备为真实的设备时,编译通过无错误,下载到设备上后却无法运行,提示“不是有效 ...…

查看全部问答>

MSP430F5438的IO驱动能力?

看芯片手册里的一个图显示,当PxDS寄存器的相应位置1,电源电压3V以上时,低电平输出的驱动能力是50~55mA是这样吗?…

查看全部问答>

【设计工具】 ISE安装、教程

[ 本帖最后由 鑫海宝贝 于 2012-2-15 11:37 编辑 ]…

查看全部问答>

关于keil调试时载入外部hex报err 61或全部是ff问题的解决

先说一下环境,os:Windows 7 professional 32 bit,KEIL MDK-ARM 4.53,烧写程序STMicroelectronics Flash Loader Demonstrator 2.5.0,单片机芯片stm32f103RB。本人大一,正在学习stm32开发。目的是想给一块stm32板重写个程序来驱动数码管显示时间 ...…

查看全部问答>

Debug时,该如何看每个函数的执行时间? (keil MDK中)

STM32在debug的时候,keil mdk 右下角t1,会有每个函数执行的时间。         如图:         t1会计时,能看到。这个时候,是用的软件仿真。 当用JLINK 调试实际硬件时,“ t1 ”就一 ...…

查看全部问答>

网上找的四轴资料

本帖最后由 paulhyde 于 2014-9-15 03:32 编辑 网上找的四轴资料    …

查看全部问答>

LDC1000寄存器问题

本帖最后由 dontium 于 2015-1-23 11:35 编辑 根据LDC1000的特性,制作了一款车辆检测测试板。使用的处理器是STM32F103,与LDC1000的SPI读写操作正常,LDC1000的时钟有外部晶振提供,晶振频率为8Mhz.。在测量外部线圈的电感时,从LDC1000的寄存器F ...…

查看全部问答>

【TI首届低功耗设计大赛】为msp430fr5969移植命令行nanouif

好吧,我只是折腾了一下下,移植了一个nanouif的命令行,用于人机交互吧,没有液晶,手上的lcd引脚太多,不适合。还有个ft800的板子,功耗也太高,不适合。 uif来源于fsl M0+的基础例程,直接可以从fsl的官网下载,这里就不介绍了, 很自己简单动 ...…

查看全部问答>