完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的是p1.3 p1.4控制电机转速,分别是有按键按下加速和减速,因为是L298N的驱动,所以还需要的一个引脚输出高电平来控制才能使电机转动。谁能帮我写一个程序吗
|
|
相关推荐
4个回答
|
|
学生?
|
|
|
|
#include
#define uchar unsigned char #define uint unsigned int ***it jia=P1^3; ***it jian=P1^4; ***it dula=P2^5; ***it wela=P2^6; ***it in1=P1^2; ***it in2=P1^3; ***it ena=P0^0; uchar code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; uchar i=0,j=0,b=40,num=1; void delay(uchar xms) { uchar i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void display(uchar number) { dula=1; P0=table[number]; dula=0; P0=0x00; wela=1; P0=0x01; wela=0; delay(5); } void init() { TMOD=0x11; PT1=1; TH1=(65535-100)/256; TL1=(65535-100)%256; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET1=ET0=1; TR0=TR1=1; in1=1; in2=0; } void time() interrupt 3 { TH1=(65535-100)/256; TL1=(65535-100)%256; i++; if(i<=b) { ena=1; } else { ena=0; } if(i==100) { i=0; } } void time2() interrupt 1 { TH0=(65535-50000)/256; TL0=(65535-50000)%256; if(jia==0) { delay(5); if(jia==0) { num++; b+=10; while(jia==0); if(num>7) { num=1; b=40; } } } if(jian==0) { delay(5); { num--; b-=10; while(jian==0); if(num<1) { num=7; b=100; } } } display(num); } void main() { while(1) { init(); while(1); } } 之前写的一个,里面还加了一个数码管显示速度 评分 |
|
|
|
伸手party
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1412 浏览 1 评论
3277 浏览 1 评论
8151 浏览 0 评论
1967 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17362 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 05:44 , Processed in 0.547137 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号