完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
5个回答
|
|
|
|
根据引脚来写 很简单的
|
|
|
|
附上你的程序,才能给你看看啊
|
|
|
|
|
|
|
|
在网上找的程序,一点都不懂
#include #include #define uchar unsigned char unsigned char di***it[]={0xfe,0xfd,0xfb,0xf7}; unsigned char code discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned int di***uf[4]={0,0,0,0}; unsigned int count,shu; unsigned char sec,tcnt; ***it MOTOR_A_2=P3^6; //¶¨Òå ***it MOTOR_A_1=P3^7; //¶¨Òå ***it EN_MOTOR_A =P1^7; //¶¨Òå ***it LED=P1^3; //¶¨Òå ***it p30=P3^0; //¶¨Òå ***it k1=P1^5; //¶¨Òåk1Ϊp1.5¿Ú ***it k2=P3^1; //¶¨Òåk2Ϊp3.1¿Ú ***it k3=P3^2; //¶¨Òåk3Ϊp3.2¿Ú ***it k4=P1^6; //¶¨Òåk4Ϊp3.3Ϊ ***it k5=P1^2; //¶¨Òå uchar T=0; //¶¨Òå±ê¼Ç uchar W=0; //Âö¿íÖµ 0~100 uchar A=0; //·½Ïò±ê¼Ç 0,1 uchar k=0; //°´¼ü±ê¼Ç uchar i=0; //¼ÆÊý±äÁ¿ void delay(unsigned char N) //ÑÓʱ { unsigned char i; for(i=0;i void disp(unsigned?char ch) { unsigned?char k; //ÏÔʾ£¬³£ÓõÄÒ»ÖÖ³ÌÐò£¬¿ÉÒÔ°Ñdi***ufÊý×é±ä³ÉÒ»¸öÔÝʱ±äÁ¿Êä³ö di***uf[0]=ch%10; //¸ö di***uf[1]=(ch%100)/10; //Ê® di***uf[2]=ch/100%10; //°Ù di***uf[3]=ch/100/10; //ǧ for(k=0;k<4;k++) { P0=0xff; // p0×÷ΪÊä³ö£¬±ØÐëÏÈÖøߵçƽ P2=discode[di***uf[k]]; //ÉèÖÃLEDÁ¬½Ó¶Ï¶Ë¿Ú P0=di***it[k]; } } void key(void) //°´¼üÅжϳÌÐò { if(k1==0)//°´¼ü1°´Ï { while(k1==0); //°´¼ü1̧Æð if(W==100) //Èç¹ûÂö¿íΪ100 W=0; //Âö¿íÖÃ0 else W+=1; //·ñÔò¼Ó1 } else if(k2==0) //°´¼ü2°´Ï { while(k2==0); //°´¼ü2̧Æð if(W==0) //Èç¹ûÂö¿íΪ0 W=100; //Âö¿íÉèÖóÉ100 else W-=1; //·ñÔò¼õ1 } else if(k3==0) //°´¼ü3°´Ï { while(k3==0); //°´¼ü3̧Æð A=!A; //·½Ïò±ê¼ÇÈ¡·´ MOTOR_A_2=~MOTOR_A_2; MOTOR_A_1=~MOTOR_A_2; k=0; //°´¼ü±ê¼ÇÇå0 LED=~LED; } else if(k4==0) //°´¼ü4°´Ï { while(k4==0); //°´¼ü4̧Æð W=0; //Âö¿íÇå0 k=0; //°´¼ü±ê¼ÇÇå0 } } void t0(void) interrupt 1 using 0 //¶¨Ê±T0Öն˷þÎñº¯Êý { tcnt++; //ÿ¹ý250us tcnt¼ÓÒ» if(tcnt==40) //¼ÆÂú40´Î(1/100?)ʱ { tcnt=0; /ÖØÐÂÔÙ¼Æ sec++; if(sec==120) //¶¨Ê±1.2Ãë,ÏÔʾתËÙ,ÔÙ´ÓÁ㿪ʼ¼Æʱ { sec=0; TH0=0x06; //¶ÔTH0 TL0¸³Öµ TL0=0x06; //250us shu=count; count=0; } } T++; //¶¨Ê±±ê¼Ç¼Ó1 if(T>W) {EN_MOTOR_A=0; } else EN_MOTOR_A=1; if(T==100) //T¼ÆÂú100´Î,ÇåÁã T=0; } void sdf(void)interrupt 2 using 0 //¼ÆÊýT1Öն˷þÎñº¯Êý { count=count+1; } main() { EX0=1; IT1=1; TMOD=0x02; //¶¨Ê±Æ÷T0¹¤×÷ÔÚ·½Ê½2×Ô¶¯ÖØ×°·½Ê½£¬¼ÆÊýÆ÷T1¹¤×÷ÔÚ·½Ê½2×Ô¶¯ÖØ×°·½Ê½ TH0=0x06; //¶ÔTH0 TL0¸³Öµ TL0=0x06; //250us TR0=1; //¿ªÊ¼¶¨Ê± ET0=1; //ÔÊÐíT0²úÉúÖÐ¶Ï EA=1;//¿ªÖÐ¶Ï EX1=1; TR1=1; EA=1; shu=0;tcnt=0;count=0;//³õÖµ while(1) { if(k5==1) disp(shu); else disp(W); key(); } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4642 浏览 3 评论
5923 浏览 1 评论
6197 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7938 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1226 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 03:25 , Processed in 0.548444 second(s), Total 53, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号