完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
软件我用C语言 照着书弄得 不知道为什么不行 #include #define uchar unsigned char #define uint unsigned int ***it mode=P2^0; ***it direction=P2^1; ***it clk=P2^2; ***it key1=P2^3; ***it key2=P2^4; ***it key3=P2^5; ***it key4=P2^6; ***it lcars=P2^7; ***it lcden=P3^0; uchar code state[3][16]={"speed(n/min):120","direction:ccw"."direction:cw"}; char countkey; unit count_int; unit code zhouqi[]={2500,125,62,12}; unit code speed[]={3,60,120,600}; void delayms(unit x) { unit i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void write_com(uchar com) { lcdrs=0; P1=com; delayms(5); lcden=1; delayms(5); lcden=0; } void write_data(unchar date) { lccdrs=1; P1=date; delayms(5); lcden=1; delayms(5); lcden=0; } void init_lcddisply() { uchar unm; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80+0x00); for(num=0;num<16;num++) { write_date(state[2][num]); delayms(5); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(state[0][num]); delayms(5); } } void write_ddat_to_lcd(unchar add,unit dat) { unchar gewei,shiwei,baiwei; gewei=dat%10; shiwei=dat%100/10; baiwei=dat/100; write_com(0x80+add); write_com(0x30+baiwei); write_com(0x30+shiwei); write_com(0x30+gewei); } void keyscan() { uchar i; if(key1=0) { delayms(5); if(key1=0) { while(!key1); countkey++; if(countkey>3) countkey=0; write_dat_to_lcd(0x4d,speed[countkey]; } } if(key==2) { delayms(5); if(key2==0) { while(!key2); countkey--; if(countkey<0) countkey=3; write_dat_to_lcd(0x4d,speed[countkey]; } } if(key3==0) { delayms(5); if(key3==0) { while(!key3); direction=1; write_com(0x80+0x000; for(i=0;i<16;i++) { write_date(state[2]); delayms(2); } } } if(key4==0) { delayms(5); if(key4==0) { while(!key4); direction=0; write_com(0x80+0x000; for(i=0;i<16;i++) { write_date(state[1]); delayms(2); } } } } void main() { countkey=1; mode=1; direction=1; init_lcddisplay(); TMOD=0x02; TH0=255-200; TL0=255-200; EA=1; ET0=1; TR0=1; while(1) { keyscan(); } } void timer0_int(1) interrupt 1 { TR0=0; count_int++; if(count_int>zhouqi[countkey]) { clk=~clk; count_int=0; } TR0=1; } |
|
相关推荐
23个回答
|
|
dong2213dong 发表于 2016-7-2 16:07 好的 谢谢 我去看看 |
|
|
|
二相的电机只有两个线圈,每一个线圈都需要正反驱动!!四相的电机只有单向驱动!
|
|
|
|
调整pwm去改变速度
|
|
|
|
论坛里面有呢,自己下载看。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
489 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
498 浏览 0 评论
655 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1329 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
558 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11753 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 21:16 , Processed in 0.481542 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号