普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 5816|回复: 2

串口控制占空比程序,求教怎么将程序进行优化

 关闭 [复制链接]

2

主题

4

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2018-6-21 20:03:56 | 显示全部楼层 |阅读模式
本帖最后由 1967440623 于 2018-6-23 14:28 编辑

  以下是程序:



#include<reg51.h>  
  
typedef unsigned char u8  ;
  
typedef unsigned int u16  ;
  
sbit PWM=P1^1; //P1.0?????????
void  uartsentdata(u8 num);
//void numdeal();
u8 receiveData;
u8 num;  
u8 code pct[20] ={5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100};
u8 n[] ={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
u16 freq = 0xff06;
u8 m = 0;
void Timer0Init()  
  
{  
   
TL0=freq;
    TH0=freq>>8;   
//  TL0=0x06;
//  TH0=0xff;    //?????ж????????γ?????????ε?????ж????????
   
    TR0=1;  //????????0   
      
}
void initaluart()
{
     TMOD=0X21; //T1???????2??T0???????1
    SCON=0x50;
PCON=0x80;
TH1=0xf3;
TL1=0xf3;
TR1=1;    //????????   
    Timer0Init(); //T0?????????
EA=1;   //?????ж?  
   ES=1;   //???????ж?
    ET0=1;  //???????0?ж?  
}

void main()
{
   
   initaluart();
    while(1);   
}

void Usart() interrupt 4//?ж????
{
u8 i;
u8 a;
m=SBUF;
    receiveData=SBUF;//??????????????
RI = 0;//????????ж???
SBUF=m;//????????????????????????
while(!TI);//??????????????
TI=0;//????????????
uartsentdata(m);
for(i=0;i<21;i++)
{
  if(m == n)
  {
    uartsentdata(n);
  }
}
for(a=0;a<21;a++)
{

   if(m == n[a])
  {
   num=pct[a];   
  }  
}
   
}   
void  uartsentdata(u8 num)
{
SBUF=num;//????????????????????????
while(!TI);//??????????????
TI=0;//????????????
}
   
void Time0() interrupt 1 using 1 //?????0???ж?????1  
  
{
u16 tempfreq;

   tempfreq =   freq;
    if(PWM == 0)
{
     PWM = 1;
  tempfreq = freq - num;
  TL0=tempfreq;
  TH0=tempfreq>>8;    //?????ж????????γ?????????ε?????ж????????  
           
}
else
{
  PWM = 0;
  tempfreq = freq + num;
  TL0=tempfreq;
  TH0=tempfreq>>8;    //?????ж????????γ?????????ε?????ж????????  
}
  
//   PWM=!PWM; //?????????2KHZ????
}



回复

使用道具 举报

2

主题

4

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2018-6-23 14:23:47 | 显示全部楼层
问题已解决
回复 支持 反对

使用道具 举报

2

主题

4

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2018-6-23 14:28:54 | 显示全部楼层
程序已改写
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-20 01:52 , Processed in 2.376851 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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