delay延时函数,麻烦哪位给逐句注释一下do while return(Delaycount>0); return 0; }

键1功能选择,0时正常显示0~60,1s自动加1,1时调节功能,键2加1,键3减1 编译通过,下载到板子上数码管不亮_百度知道
键1功能选择,0时正常显示0~60,1s自动加1,1时调节功能,键2加1,键3减1 编译通过,下载到板子上数码管不亮
h& P0=table[shi];
P0=0X#include& extern num,0x07;void key_process(uint x){ switch(x) {
case 0,0x79,为什么下到实验板上数码管不亮呢; wela=1;get_i++)
if(key1==0)
delay(10); dula=1:adj_num( ); P0=table[ge];
case 1;reg52!key2);q--)
for(w=110;0;#include&#include&sbit dula=P2^2;10; wela=0;#include&quot.h&reg52;sbit key2=P3^5;
num++;#include&256;void main(){
init(),其分别属于不同头文件和c文件;
/ delay(5); EA=1;void adj_num(){}
同一工程多文件一起编译,0x6f; TL0=()%256!key1);#include&get_key,0x71} ;
if(num==60)
num=0;get_ shi=num/void nom_count(void){ if(key1==0) {
delay(10); }}#include&lt.h&quot.h&
if(num==60)
if(key3==0) { delay(10);reg52.h&*消影*/ }} #include&lt.h&
return.h&gt.h& if(key3==0) { if(num==0) num=60; num--.h&quot,0x4f;reg52.h&void T0_time()interrupt 1{ uint numt0; numt0++; if(key2==0) {
delay(10).h&void nom_count(void);void adj_num(void); dula=1;reg52;
while(;void get_key(); delay(5); wela=1,0x39;
while(, dula=0;}#include&
P0=0 ge=num%10;#ifndef _GET_KEY_H_#define _GET_KEY_H_sbit key1=P3^4;extern void key_process(uint x);
}} #include&#include&reg52.h&main.h&0;
P0=0xfd,0x5e; dula=0;w&
TR0=~TR0; while(; ET0=1#ifndef _main_h_#define _main_h_#define uint unsigned int#define uchar unsigned charvoid init(),0x5b,感激不尽;sbit wela=P2^3.h&
if(key1==0)
key_process(i); display(num);q&
if(key2==0)
num++,w; P0=0xfe,0x7c.h&2;w--); TH0=()/256;uchar code table[]={0x3f:nom_count( ),0x77; #endif #include& if(numt0==20) {
numt0=0;void init(void){ TMOD=0X01;}#include&} #include&uchar num,0x7f;extern void delay(uint z) ;extern void display(uchar num);get_key,0x66; #endif#include&void get_key(void){ while(1) {
for(i=0,0x7d; wela=0;void display(uchar num){ TMOD=0X01.h&quot.h&gt!key1);
if(key1==0)
while(; } } } #include&lt,0x6d; while(1) { get_key();get_#include&quot,0x06;void delay(uint z){ for(q=z.h&gt!key2);
TH0=()/
} } } #include& TL0=()%256;i& sbit key3=P3^6? (STC52单片机)帮我解决
我有更好的答案
看看是不是模块化编程的问题,让程序在同一个文件里,一个个调你先不用模块的
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁想知道单片机》《移位符号的用法。想要实例就这个程序希望大家给一些解释。_百度知道
想知道单片机》《移位符号的用法。想要实例就这个程序希望大家给一些解释。
这三句为一个循环移位#include &/(8-count);i&等待按键释放;/reg52; / /count.h& &#47,此时检测P3,所以当键被按下时P3;P1=0; &#47,j;/永远循环;sbit BY1=P3^4;/判断是否按下键盘。{delay10ms().4 肯定为低电平; /j--);/广告灯向下移动移动函数{a=temp&lt,每按一下;按键判断程序{if(BY1==0) /初始化参数设置temp=0调用广告灯移动函数}}3,b;j&/&&#47,S2 键一端接地另一端接P3;for(i=20.4 口直接接地,软件去抖动干扰if(BY1==0) /按键计数;延时程序{unsigned char i。}}move() //i--)for(j=248;&#47,扫描判断按键是否按下{key()。}main(){count=0;P1=0/&延时,count 加1 _crol_()函数,当单片机上电时所有IO 口为高电平;/unsigned char a.4;将count 清零}}while(BY1==0);/ /计8 次重新计数{count=0;/ /void delay10ms(void) /0;/while(1) / / /&#47,如果键未释放则一直在此等待;}key() /定义按键的输入端S2 键 /按键计数加1if(count==8) // /&#47,这里是自己写的过程;再次检测确认按键按下{count++;&#47,相当于前面提到的b=temp&gt,大家可对比P1=a|b;/调用按键识别函数move();下;&#47
提问者采纳
=1如果将该数值左移1位;
/&0b a左移1位等效于a=a*2a&lt,然后再取整;&lt,移位溢出的丢弃;0b a左移2位等效于a=a*2的2次方(4)a&
&#47,结果变成0了c=a&//&/&=2,左移1位等于乘以2;
&#47: 在变量都是8位的时候;0ba&/
/&&#47,右移1位等于除以2;0b a左移1位等效于a=a*2a&=1。例如;0b a左移1位等效于a=a*2的3次方(8)a&=1;&b;&#47,就变成了 0b(最右边这个0是移空了以后补的),这个数值是0xaa从数学上看;0b a再次左移1位后溢出了,等效于 c=(a*pow(2
单片机里为什么我修改成为signed char就不能正常运行了?甚至都不会有灯亮。不是说左移补0右移补符号位吗?那为什么我修改成signedchar就没反应了呢?麻烦回答我下。我刚学单片机。谢谢!!!
signed char是有符号字符,改成unsigned char就好了
提问者评价
其他类似问题
为您推荐:
单片机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁delay延时函数,麻烦哪位给逐句注释一下 while(Delaycount&0); return 0; }_百度知道
delay延时函数,麻烦哪位给逐句注释一下 while(Delaycount&0); return 0; }
0); while(Delaycount& Delaycount=intervaldelay延时函数!=0)
return 1,麻烦哪位给逐句注释一下uint8_t Delay_100ms(uint32_t interval){ if(D return 0
希望我的回答。可以根据自己的需要来定。总而言之。但是有些芯片。如果需要延时几ms。如果需要小延时的地方(只需几个us),时序要求非常严格,即在程序的某处会有delay(10)这样的语句,在这里假定是10)。你说得对,你在控制他时,学的多了,都不会运行出结果,可能达不到延时要求。相当于循环了600*X=600*10=6000次,如果延时太长或延时太短,只写一个就可以,时间长了,可以写一个就行,要根据你的程序需要,只写一个如果在程序中X=10(你写程序时肯定会给他赋一个值,也就懂了
哥们,你是回答的我的这个问题吗?能逐行注释下吗?
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请帮忙,这是运用51单片机实现4位8段LED数码管的动态数字显示的c语音程序,帮我详细注解一些关键性的句子_百度知道
请帮忙,这是运用51单片机实现4位8段LED数码管的动态数字显示的c语音程序,帮我详细注解一些关键性的句子
wela=0;wela=1;256,uchar),0x39,0x5b,0x79,P0=0dula=1;if(disnum==1000)disnum=0;wela=1,0x71},0x6f;#define uchar unsigned char#define uint unsigned intuchar count,0x6d,0x06;dula=1;0;TH1=()/delay(1);sbit dula=P2^6;TL1=()%256;reg52;P0=tabledu[shi];void main(){EA=1;dula=0;10;256;while(1){if(count==20){count=0,0x7f;b&gt,0x5e;100;count++;dula=1;delay(1);for(a=x;wela=0,0x66,disnum%100%10);}}void tim1() interrupt 3 using 3{TH1=()&#47,a--)for(b=255,uchar ge){P0=tabledu[bai];uchar code tabledu[]={0x3f,0x7c;}void delay(uchar x){uchar a,0x4f,0x7d.h&dula=0#include&lt,b;delay(1);P0=tabledu[ge],disnum%100/sbit wela=P2^7;P0=0P0=0disnum++;0;wela=1;void display(}void display(void delay(uchar),0x77;wela=0;}display(disnum/a&TMOD=0x10;TL1=()%256;ET1=1;dula=0;b--),0x07;TR1=1
提问者采纳
#define uchar unsigned char&#47,0x6f;dula=0;dula=0,disnum%100/延时子程序{开定时器T1中断TMOD=0x10;段码表0x3f,uchar ge)/100;开总中断ET1=1;显示十位dula=1;P0=tabledu[shi],0x7c,0x7f;}void delay(uchar x)/显示百位dula=1;256;uchar code tabledu[]={/disnum++;wela=0;重置定时参数TL1=()%256,0x07;void display(P0=0/P0=0///设置定时器T1为工作方式1TH1=()//wela=1;wela=1;显示子程序{P0=tabledu[bai];显示disnum的值;&#47,uchar,0x5b;void delay(uchar);//}void display(定时1s{count=0;P0=0void main(){EA=1,0x5e;&#47,0x6d,0x06;wela=1;0;定时50msTL1=()%256;宏定义#define uint unsigned intdelay(1);sbit dula=P2^6,从0显示到1000;reg52;dula=0;&#47,uchar shi,disnum%100%10);TR1=1;启动定时器T1while(1){if(count==20)&#47,0x39;b&gt,uchar);disnum值自加1}display(disnum&#47,时间间隔为1s}}void tim1() interrupt 3 using 3{TH1=()///for(a=x;wela=0,0x66;///a--)for(b=255;count++;&#47,0x71};&#47,0x4f,0x7d.h&wela=0#include&lt,b;delay(1);P0=tabledu[ge];10;sbit wela=P2^7;delay(1);显示个位dula=1;if(disnum==1000)disnum=0;0;///&#47,0x79;//a&//256;/b--),0x77;&#47
提问者评价
其他类似问题
为您推荐:
51单片机的相关知识
其他1条回答
#include &reg51.h&
void delay(unsigned int i);
//函数声名
char DelayCNT;//定义变量
//此表为 LED 的字模, 共阴数码管 0-9
unsigned char code
Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
//段码控制
//此表为8个数码管位选控制, 共阴数码管 1-8个
unsigned char code
dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};
//位选控制
查表的方法控制
/************主函数**********************/
unsigned int i,LedNumVal=1 ;
//变量定义
unsigned int LedOut[10];
//变量定义
DelayCNT=0;
if(++DelayCNT&=20) //控制数字变化速度
DelayCNT=0; //20个扫描周期清零...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 python while return 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信