永发信息网

求MSP430单片机用两个按键控制PWM波占空比的程序!!!!谢谢啦!!!

答案:3  悬赏:60  手机版
解决时间 2021-04-28 02:58
求MSP430单片机用两个按键控制PWM波占空比的程序!!!!谢谢啦!!!
最佳答案
你的问题都不靠谱。让人家怎么答?
1)430有很多,你的平台是哪款?
2)按键控制占空比?怎么控制?要求?
3)占空比范围?
4)占空比是基于特定频率而言,你的频率呢?!!

难怪600多万大学生就业这么难。。。追问我只是需要一个这种类似的程序作为参考而已。。。不需要那么具体吧。。你有吗?有的话给我发一下吧
全部回答
//程序说明:使用内部内部时钟fosc/12产生周期为256us,占空比为25%的方波
#include
#define uchar unsigned char
#define uint unsigned int
sbit d1=P1^0;
sbit d2=P1^1;
void PWM_init()
{
CMOD=0x00;//PCA计数脉冲选择内部时钟fosc/02(0x02:fosc/2)
CL=0x00;//PCA赋初值
CH=0x00;
}
void PWM0(uchar ZKB)
{
CCAP0L=CCAP0H=ZKB;//255*(100-ZKB)/100;//占空比设置
// =;//255*(100-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L
CCAPM0=0x42;// 8位PWM模式
CR=1;//开始计数
}
void PWM1(uchar ZKB) //高电平占得比例占空比为(Gao/255)
{

CCAP1H = CCAP1L = ZKB;//256-(int)(256/100)*Gao;
CCAPM1=0x42;// 8位PWM模式
CR=1;
}
void PWM2(uchar ZKB) //高电平占得比例占空比为(Gao/255)
{

CCAP2H = CCAP2L = ZKB;//256-(int)(256/100)*Gao;
CCAPM2=0x42;// 8位PWM模式
CR=1;
}
void PWM3(uchar ZKB) //高电平占得比例占空比为(Gao/255)
{

CCAP3H = CCAP3L = ZKB;//256-(int)(256/100)*Gao;
CCAPM3=0x42;// 8位PWM模式
CR=1;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
PWM_init();
while(1)
{
if(d1!=0)
{
PWM0(130);
PWM1(130);
PWM2(255);
PWM3(255);
}
if(d2==1)
{
PWM0(60);
PWM1(255);
PWM2(20);
PWM3(255);
delay(300);
}
i
}
}
若不是新手加上按键应该会的追问大哥 我问的是MSP430的程序啊。。。追答/*******************************************************
程序功能:用从P2.3和P2.4输出的PWM波形驱动LED闪烁
P2.3口输出方波的占空比为75%
P2.4口输出方波的占空比为25%
-------------------------------------------------------
测试说明:观察LED的亮灭的时间长短
*******************************************************/
#include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关狗
P2DIR = 0xff; // P2端口设置为输出
P2OUT = 0x00; // 关闭其他LED
P2SEL |= BIT3 + BIT4; // P2.3和P2.4连接内部模块
CCR0 = 4096-1; // PWM周期为1S
CCTL1 = OUTMOD_7; // CCR1 reset/set
CCR1 = 3072; // CCR1 PWM duty cycle
CCTL2 = OUTMOD_7; // CCR2 reset/set
CCR2 = 1024; // CCR2 PWM duty cycle
TACTL = TASSEL_1 + ID_3 + MC_1; // ACLK/8, up mode
_BIS_SR(LPM3_bits); // Enter LPM3
}追问大哥 你这说的不靠谱啊。。。靠谱点行么。。
//程序说明:使用内部内部时钟fosc/12产生周期为256us8406占空比为25%的方波#include<STC12C5616AD.h>#define uchar unsigned char #define uint unsigned intsbit d1=P1^0;sbit d2=P1^1;void PWM_init(){CMOD=0x00;//PCA计数脉冲选择内部时钟fosc/02(0x02:fosc/2)CL=0x00;//PCA赋初值CH=0x00;}void PWM0(uchar ZKB){CCAP0L=CCAP0H=ZKB;//255*(100-ZKB)/100;//占空比设置//=;//255*(100-ZKB)/100;//CL由ff-00溢出时vmosCCAP0H的值装入CCAP0LCCAPM0=0x42;// 8位PWM模式CR=1;//开始计数}void PWM1(uchar ZKB)          //高电平占得比例占空比为(Gao/255){    CCAP1H = CCAP1L = ZKB;//256-(int)(256/100)*Gao;CCAPM1=0x42;// 8位PWM模式    CR=1;}void PWM2(uchar ZKB)          //高电平占得比例占空比为(Gao/255){    CCAP2H = CCAP2L = ZKB;//256-(int)(256/100)*Gao;CCAPM2=0x42;// 8位PWM模式    CR=1;}void PWM3(uchar ZKB)          //高电平占得比例占空比为(Gao/255){    CCAP3H = CCAP3L = ZKB;//256-(int)(256/100)*Gao;CCAPM3=0x42;// 8位PWM模式    CR=1;}void delay(uint z) {uint xy;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){PWM_init();while(1){if(d1!=0){PWM0(130);PWM1(130);PWM2(255);PWM3(255);}if(d2==1){PWM0(60);PWM1(255);PWM2(20);PWM3(255);delay(300);}i}}若不是新手加上按键应该会的...余下全文>>追问大哥。。我说的是MSP430的程序。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
关于DNF加点
定州市大辛庄镇东四旺村村民委员会我想知道这
鄂F76829车主是谁
终于知道淘宝整机是怎么回事了
斗鱼二十级粉丝勋章要多少钱
生完小孩的第六个月做了个人流请问几天同房合
QQ三国智取陈仓低破+高反+疯狂低100幸运紫
用蜡封一套40-45的CC重甲要多钱?
风往北吹是谁唱的
英雄岛怎么人民币换金币
09年11月开业的吉日
求一物理题解法
the students got
谁有好听的2009年新歌?
皇府门业展厅这个地址在什么地方,我要处理点
推荐资讯
由于脸上油脂过旺,导致毛孔堵塞形成粉刺暗疮,
诛仙2电五,雪琪有魔青云出售没
石家高化村地址有知道的么?有点事想过去
PSP战神奥林匹斯之链通关后
五笔快还是搜狗输入法快?
对高考励志标语的看法,高考励志标语对联高考
头发严重受损了该怎么修护
青岛有法语培训机构接受插班上课的吗?(法盟
大连市普兰店区新型农村合作医疗管理中心地址
中国田园里面一首歌的名字
我DNF怎么老是网络中断过了两个小时号网络中
过去和以前哪个更远?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?