完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想做一个pwm自动加手动调光,手动按键部分出不来,求大神帮改一下
#include #include #define uint unsigned int #define uchar unsigned char //******************adc0832****************************// ***it CLK= P2^2;//时钟,初始状态为0 ***it DI= P2^3;//数据输入 ***it DO= P2^1; // 数据输出 ***it CS= P2^0; //******************按钮****************************// ***it start =P2^4; ***it end=P2^5; ***it led=P3^5; ***it down = P3^0; ***it up = P3^1; uchar start_flag;//开始标志 //延时 void delay(uchar i) { while(i--) { if(!end) //end按钮按下 start_flag=0; } } /*******************亮灯函数***************/ void led_red(uchar i)//占空比i/13 { led=0; delay(i/10); if(i/10<12) { led=1; delay(12-i/10); } } /********************************************* 读取ADC **********************************************/ uchar ADC()//通道ch0 { uchar temp0,temp1,i; CS=0; temp0=0; temp1=0; _nop_(); _nop_(); DI=1;//开始位 _nop_(); _nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); _nop_(); DI=0; _nop_(); _nop_(); //选择通道0 DI=1; _nop_(); CLK=1;//上升沿DI=1 _nop_(); CLK=0;//1个下降沿DI=1 _nop_(); DI=0; _nop_(); CLK=1; _nop_(); CLK=0;//第3个上升沿DI=0 _nop_(); DI=1; //********通道选择结束开始读取转换后的二进制数**** //下降沿读数,一下进行判断和处理,共8次 for(i=0;i<8;i++) { temp0=temp0<<1; CLK=1; if(DO) temp0++; _nop_(); CLK=0; } for(i=0;i<8;i++) { temp1=temp1>>1; CLK=1; if(DO) temp1=temp1 +0x80; _nop_(); CLK=0; } CS=1; return temp0; } //********************************************* void main() { uchar num,i,t; CLK=0;//ADC时钟初始化 start_flag=0; while(1) { //按键检测 if(!start) //start按钮按下 { start_flag=1; } if(!end) //end按钮按下 { start_flag=0; } if(start_flag) { if(!up) { if(t { t++; } delay(100); } if(!down) { if(t>0) { t--; } delay(100); } num=ADC(); P1=num; for(i=0;i<100;i++) led_red(num); } } } |
|
相关推荐
1个回答
|
|
???????????????????
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【Altium小课专题 第107篇】原理图中批量修改位号或网络标号属性值字体的大小?
10682 浏览 1 评论
【Altium小课专题 第103篇】原理图同一网络颜色进行了设置,但是无法进行显示是什么原因?
7822 浏览 0 评论
【Altium小课专题 第094篇】如何从PCB中直接生成PCB库呢?
8006 浏览 0 评论
【Altium小课专题 第071篇】什么是层次式电路设计?它的优点有哪些?
6830 浏览 0 评论
【Altium小课专题 第068篇】原理图的模板如何进行编辑信息更改?
12922 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 07:53 , Processed in 0.526300 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号