找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10579|回复: 29
收起左侧

PROTEUS 仿真单片机PWM调温 电路+程序

  [复制链接]
ID:52744 发表于 2013-8-7 01:11 | 显示全部楼层 |阅读模式
先发程序:
#include <reg52.h>
//#include <at89x52.h>
//#include <keyscan.h>
extern void scan_full(void);
extern unsigned char key_scan(void);
extern bit key_ok;
unsigned char pwm_set,key_value;
unsigned char count;
sbit PWM=P3^6;
bit up,down,set_flag;
unsigned char code BCD[]={0x3f,0x06,0x5b,0x4f, //此处是将0-F转换成相应的BCD码
                          0x66,0x6d,0x7d,0x07,
                          0x7f,0x6f,0x77,0x7c,
                          0x39,0x5e,0x79,0x71};
void delay1(unsigned char t)
{
while(t--);
}



void pwm(void) interrupt 5//定时器2产生PWM波形
{
    TF2=0;                    //定时器2的溢出标志要软件清除,
                            //但当RCLK或TCLK为1时由硬件清除
    if((count>=pwm_set)&&(count<10))
        PWM=1;
    else    PWM=0;   
    count++;   
    if(count==10)
    count=0x00;
   
}


void key_pwm(unsigned char x)//把键值转化为PWM设置值
{
    switch(x)                //把矩阵键盘转化为独立键盘
    {
        case 1:up=1;break;
        case 2:down=1;break;
        case 3:set_flag=!set_flag;break;
        default:break;
    }
   
    if(up&&set_flag)        //设置PWM参数:pwm_set
    {
        pwm_set++;
        up=0;
        if(pwm_set>=10)
        pwm_set=0x00;
    }
    if(down&&set_flag)
    {
        pwm_set--;
        down=0;
        if(pwm_set==0xff)
        pwm_set=9;
    }
    if(!set_flag)
    {
        up=0;
        down=0;
    }
}


void main(void)
{
    TH2=0xb1;    //定时20MS
    TL2=0xe0;
    RCAP2H=0xb1;//定时器2溢出时会把这个单元的内容送到TH2和TL2中
     RCAP2L=0xe0;
    EA=1;
    ET2=1;
    TR2=1;
    while(1)
    {
        scan_full();    //看是否有键按下
        if(key_ok)        //有键按下,则判断到底是哪个键按下
        {
            key_value=key_scan();//键值送key_value暂存
            P0=~BCD[key_value];     /*此三句是将键值显示出来*/
              P2=0xfe;            /**                         */
            delay1(200);        /*************************/
            key_pwm(key_value);  //调用键值转PWM设置参数函数
            key_value=0x00;         //清除键值,以免一次按下,多次响应
        }
        P0=~BCD[pwm_set];        /***此三句是将pwm_set值显示出来*/
        P2=0xfd;                /*******                    */
        delay1(200);            /****************************/
    }
}

电路图和仿真文件下载: PWM调温.rar (48.18 KB, 下载次数: 418)
回复

使用道具 举报

ID:32572 发表于 2013-8-8 08:16 来自手机 | 显示全部楼层
不错
回复

使用道具 举报

ID:55815 发表于 2013-10-21 15:51 | 显示全部楼层
很好  学习 学习 谢谢
回复

使用道具 举报

ID:51142 发表于 2013-10-31 16:46 | 显示全部楼层
学习了。
回复

使用道具 举报

ID:58895 发表于 2014-1-21 09:06 | 显示全部楼层
好刚需要
回复

使用道具 举报

ID:59689 发表于 2014-3-14 23:26 | 显示全部楼层
学习了
回复

使用道具 举报

ID:59269 发表于 2014-3-22 07:44 | 显示全部楼层
学习 学习 先谢谢啦
回复

使用道具 举报

ID:57317 发表于 2014-4-3 17:15 | 显示全部楼层
学习学习!
回复

使用道具 举报

ID:62665 发表于 2014-6-6 00:11 | 显示全部楼层
学习,学习,学习
回复

使用道具 举报

ID:46838 发表于 2014-6-28 18:35 | 显示全部楼层
一直想学习PWM,不知怎么入手
回复

使用道具 举报

ID:63588 发表于 2014-7-4 16:06 | 显示全部楼层
来看看,来学学。。。。。。。。。。。
回复

使用道具 举报

ID:63588 发表于 2014-7-7 13:18 | 显示全部楼层
只听过电机PWM调速
回复

使用道具 举报

ID:65877 发表于 2014-9-6 17:54 | 显示全部楼层
pwm调温,学习了。
回复

使用道具 举报

ID:67432 发表于 2014-10-15 14:31 | 显示全部楼层
谢谢楼主学习
回复

使用道具 举报

ID:67573 发表于 2014-10-20 20:26 | 显示全部楼层
果然是好东西
回复

使用道具 举报

ID:62665 发表于 2014-10-29 14:27 | 显示全部楼层
学些,学习,学习
回复

使用道具 举报

ID:50881 发表于 2014-11-10 13:24 | 显示全部楼层
ok谢谢
回复

使用道具 举报

ID:79495 发表于 2015-5-10 11:00 | 显示全部楼层
学习中......
回复

使用道具 举报

ID:79581 发表于 2015-5-10 22:27 | 显示全部楼层
先看下
回复

使用道具 举报

ID:80264 发表于 2015-5-17 16:16 | 显示全部楼层
学习了
回复

使用道具 举报

ID:78005 发表于 2015-5-19 12:35 | 显示全部楼层
图呢?
回复

使用道具 举报

ID:81072 发表于 2015-5-25 16:35 | 显示全部楼层
LZ是不是真的要那么多积分啊
回复

使用道具 举报

ID:80992 发表于 2015-5-27 13:12 | 显示全部楼层
回复

使用道具 举报

ID:80462 发表于 2016-3-30 22:49 | 显示全部楼层
先学习了咯。。。
回复

使用道具 举报

ID:113071 发表于 2016-4-9 10:04 | 显示全部楼层
能免费看原理图吗~~~
回复

使用道具 举报

ID:64253 发表于 2016-7-6 15:05 | 显示全部楼层
看上去挺不错
回复

使用道具 举报

ID:184932 发表于 2017-4-6 10:31 | 显示全部楼层
用得上
回复

使用道具 举报

ID:194701 发表于 2017-5-1 09:03 | 显示全部楼层
谢谢楼主的分享
回复

使用道具 举报

ID:156021 发表于 2017-5-4 00:50 | 显示全部楼层
学习了
回复

使用道具 举报

ID:56256 发表于 2017-8-10 11:26 | 显示全部楼层
看看原理图啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表