单片机/MCUwilliam hill官网
登录
直播中
天空蓝
12年用户
44经验值
擅长:EDA/IC/PCB设计
私信
关注
[问答]
请帮我看看我的程序哪里有问题
开启该帖子的消息推送
想实现让电机加速然后减速,用传感器测转速并用数码管显示的功能,但下到
单片机
里没反应呀,求帮助呀
#include
#define uchar unsigned char
#define uint unsigned int
char gw,sw,bw,qw; //转速值
uchar j; //定时次数,每次20ms
uint x; //数码管显示的数值
uchar z; //1s内的脉冲数
uchar smg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//
数值
char led[4]={0xfe,0xfd,0xfb,0xf7}; //选择数码管
uchar h_h8, h_l8,l_h8,l_l8; //pwm高低电平
int n=1;
uint
ti
mes=30000;//pwm周期
uchar flag;
***it p26=P2^6; //蜂鸣器
***it p20=P2^0; //led灯
chushi();
biansu();
display();
delays()
{
uchar a;
for(a=5000;a>0;a--);
}
void t1() interrupt 3 //定时器1中断 定时1s
{
TH1=0xb1; //重装t0
TL1=0xe0;
j++;
if(j==50)
{
j=0;
x=z; //读入脉冲数
z=0;
display();
}
}
void t0() interrupt 1 // 定时器1中断 产生pwm
{
if(flag)
{
TH0=h_h8;
TL0=h_l8;
P3=0xff;
flag=0;
}
else
{
TH0=l_h8;
TL0=l_l8;
P3=0;
flag=1;
}
}
void int0() interrupt 0 //外部中断0 记脉冲数
{
EX0=0;
z++;
EX0=1;
}
void main ()
{
chushi();
gw=sw=bw=qw=0; //数码管初始化
P0=1;
P2=1;
while(1)
{
biansu();
display();
}
}
chushi() //初始化
{
TMOD=0x11; //T0方式1 定时 t1方式1
TH1=0xb1; //装入初值 20MS
TL1=0xe0;
TH0=(65536-n)>>8;
TL0=(65536-n)&0xff;
EA=1; //开总中段
ET0=1; //开定时器0
ET1=1;
TR0=1; //启动 t0
TR1=1;
EX0=1; //开外部中断0
IT0=1; //下降沿触发
}
display() //数码管显示
{
uchar i;
gw=x%10; //求速度个位值,
sw=(x/10)%10; //求速度十位值,
bw=(x/100)%10; //求速度百位值,
qw=x/1000; //求速度千位值,
for(i=0;i<4;i++)
{
P2=led[i];
if(i==0) //显示个位
{
P1=smg[gw];
delays();
}
else if(i==1) //显示十位
{
P1=smg[sw];
delays();
}
else if(i==2) //显示百位
{
P1=smg[bw];
delays();
}
}
}
biansu()
{
char delta;
n+=delta;
if(n>=times-1)
{
delta=-1;
p26=0;
p20=0;
}
if(n<=1)
{
n=1;
delta=0;
}
h_h8=(65536-n)>>8;
h_l8=(65536-n)&0xff;
l_h8=(65536-times+n)>>8;
l_l8=(65536-times+n)&0xff;
}
回帖
(2)
lstcspring
2012-11-25 19:09:39
先一步一步的高,先把显示调好,再加速度检测,现加控制
先一步一步的高,先把显示调好,再加速度检测,现加控制
举报
梁伯特
2012-11-25 19:34:24
功能一点一点的加。有时候光看程序可能看不出问题,结合硬件就全是问题了。。。。。。慢慢调吧。。。。
功能一点一点的加。有时候光看程序可能看不出问题,结合硬件就全是问题了。。。。。。慢慢调吧。。。。
举报
更多回帖
rotate(-90deg);
回复
相关问答
请
高手
帮我
看看
2015-12-13
3255
哪位大神
帮我
看看
这个
程序
哪里
有
问题
2015-08-03
3011
请
帮我
看看
这个原理图有错吗
2020-07-06
1760
各位大神谁
帮我
看看
哪里
有
问题啊?
程序
加载进去仿真不显示内容
2018-04-04
2676
大神们
帮我
看看
这段
程序
问题在
哪里
?
2020-08-02
757
超声波测距测不出距离。
请
大神们
帮我
看看我
的
程序
有
什么问题!
2015-06-12
3628
想要把采集的数据写入数据库
程序
哪里
不对
2015-05-05
2889
新手请教LabVIEW
程序
2017-02-22
2912
用LMP90080测试热电偶,为什么采集不到数据?
2018-07-31
2013
求各位大神
帮我
看看我
这labview2012帮助里面怎么没有帮助那...
2014-04-17
4868
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分