while(!int0)while是什么意思思

这两个while在程序里都是什么意思_百度知道
这两个while在程序里都是什么意思
lcd_hang2[3]=total_freq%10+0x30; DA_S1=1;
/在第一行显示
disp_lcd(0xc0; &#47,因为它比“=11”可靠/ //抽点'2) waveform=0;10”;/关闭8位输入寄存器 init_lcd();// lcd_hang2[4]=total_freq%10+0x30;延时够吗: //
total_freq= wavefreq[waveform] * freq_unit[waveform];关总中断与定时器 delay(5);/
waveform=0;
case 0x70; lcd_hang2[2]=total_freq%10+0x30;在第二行显示 } wavecount=0;//选择波形
waveform++; /频率按规定单位依次增加
wavefreq[waveform]++;/
&#47? if(key==0)
/ /获取P3口高四位的值
switch(keytemp)
case 0xe0; // uint total_这边要用“&10) wavefreq[waveform]=1;/设置定时器0为16位工作方式 IT0=1;在液晶中显示个位;频率按规定单位依次衰减
wavefreq[waveform]--;///
/ /
if(waveform==0)
sine_out();&#39,并把该值赋给T_temp
TLtemp=waveTL[waveform*10+(wavefreq[waveform]-1)];设置外部中断0为下降沿触发 ET0=1;
// /
if(wavefreq[waveform]&总频率 EA=0;
THtemp=waveTH[waveform*10+(wavefreq[waveform]-1)];
case 0xb0;
/&#47!key); TL0=TL
//开定时器中断 EX0=1?,因为它比“=0”可靠性更高/1) wavefreq[waveform]=10;
EA=1;/ else if(waveform==2) square_out();=10;=10; while(1) {
void timer0() interrupt 1{ TH0=TH使DAC寄存器关闭/&#47:
/ / else if(waveform==1) triangle_out()void main(){
uchar i=0;=10?;
if(waveform&在液晶中显示时千位
disp_lcd(0x80;}void key_int0() interrupt 0{ /
/计数清零 while(,(0x30 在液晶显示中表示数字0)
total_freq/ /1”;
TMOD=0x01,&lcd_hang1[waveform*16]);
/确实有按键按下而引发中断 {
keytemp=P3&0xf0;// /TTL输出
if(wavefreq[waveform]&lt:
/方括号中选取第几个数后;/在液晶中显示时百位
total_freq&#47,不会一直加下去*// /*这边要用“&/在液晶中显示时十位
total_freq/使DAC寄存器处于直通状态 DAdata=0;
case 0xd0;/求输出频率(个数*单位)
lcd_hang2[5]=total_freq%10+0x30,lcd_hang2);
&#47,使加数有个上限; DA_S2=0; TR0=0; TR0=1; EA=1
我有更好的答案
回到main函数。按键松开后,中断结束第一个while在main中,不断空循环。第二个while
等待按键被松开,等待中断(按键被按下)
其他类似问题
while的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置: &
求翻译:external interrupt INT0 ~ INT1, RXD pin, T0 pin, T1 pin and PCA input pins—PWM pins and PWM pins.是什么意思?
external interrupt INT0 ~ INT1, RXD pin, T0 pin, T1 pin and PCA input pins—PWM pins and PWM pins.
问题补充:
正在翻译,请等待...
外部中断Int0~int1、RxD针、T0,T1PIN脚和PCA输入PIN-PWM别针、PWM引脚。
外在中断INT0 ~ INT1, RXD别针、T0别针、T1别针和PCA输入别针PWM别针和PWM别针。
外部中断 INT0 ~ 信号触发、 RXD 针、 T0 针、 T1 pin 和 PCA 的输入引脚 — PWM 针脚和 PWM 针脚。
正在翻译,请等待...
我来回答:
参考资料:
* 验证码:
登录后回答可以获得积分奖励,并可以查看和管理所有的回答。 |
我要翻译和提问
请输入您需要翻译的文本!if里面的程序有while,那是什么用的_百度知道
if里面的程序有while,那是什么用的
就是检测到外部中断就改变端口?执行了他有什么意义!P1_0,但是为什么结尾还有个while呢;
}}程序我理解什么意思;
while(INT0==1)void int_sry(void) interrupt 0 using 1{
if(INT0==1)
提问者采纳
改变端口后,要继续等待,一直等待到
INT0不等于1 才结束。
提问者评价
看懂了,谢谢
其他类似问题
您可能关注的推广回答者:
while的相关知识
其他1条回答
就是相当于一个反面
什么反面?能不能再细说一点
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下面的代码是什么意思,麻烦详细说一下,谢谢。#include &reg51.h& #include &stdio.h&_百度知道
下面的代码是什么意思,麻烦详细说一下,谢谢。#include &reg51.h& #include &stdio.h&
delay(248);0;j&h&
if(INT1==0|INT0==0|T0==0)
P1=0 0Xb0;
};*9*/
P2=0 0Xf8,/*NULL*/
P1=0x00;uchar code
P2=dis[(h+2)%10];
delay(1);*0*/
if(INT0==0|INT1==0)
if(INT1==0)
delay(600);
P2=dis[h%10];
delay(248);/0,j;s&
for(h=28;*4*/
P2=dis[(h-1)%10];
if(INT0==0|INT1==0|T0==0)
delay(1);h&
P1=0x00;s--)
P1=0x00;h--)
delay(392);
for(j=0,&#47,&#47,/
delay(248);
if(INT1==0|INT0==0|T0==0)
delay(2),&#47,/*7*/
if(INT0==0|INT1==0)
delay(600);*6*/
delay(1);10];interrupt 2void t1(void) interrupt 2 using 1{
};interrupt 3void t2(void) interrupt 1 using 1{
P2=dis[(h+2)/
r=0; 0Xf9;
P1=0x00;interrupt 1void t0(void) interrupt 0 using 1{
P2=dis[h/
for(h=3; 0X80;
P2=dis[(h+2)/
P2=dis[(h+2)%10];
TR0=1;*8*/}void main(void){
TMOD=0x06;0;h--)
delay(392);&#47,/ 0X82;
}}/10];0;
if(INT0==0)
P2=dis[(h-1)%10]; 0Xa4;
P1=0x04;};
P2=0void delay(uint c){j++);
delay(248);i&h--)
for(s=248;*1*/
P2=0h&/
P2=dis[h/ } /10];*3*/*2*&#47,/
P2=0xff,/
delay(1);*5*/0;
delay(1);h--)
for(s=248;
P2=dis[h%10];s--)
P1=0x00; 0X92;
P0=0xf3; 0X 0X90;
r%=2;c,/
if(INT0==0|INT1==0|T0==0)
P1=0x00;10];
P1=0x04; 0X99;
ET0=1uchar h
我有更好的答案
delay(248);
其他类似问题
include的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言中的volatile是什么意思_百度知道
C语言中的volatile是什么意思
oid main (void) { 4
被优化 j = 2;/
/ i = 1;//
// 2
不被优化 i=1 i = 3;/
不被优化 i=1 j = 1;/
被优化 j = 3;1
不被优化 i=1 i = 2;
这个文章我知道啊 可是我看不懂啊 就是问各位有没有看懂啊 第一个例子我就不知道啊
我有更好的答案
按默认排序
for (i = 0;int j,A
a处000B E0
A;3,#LOW xdata_junk: v_ExtInt0()&#47! 注意0008 E0
A;得到的还是values[i] = 1,#HIGH xdata_junk
R7!。但是究竟volatile是什么意思,A;
&#47!;&#47:void func (void){volatile unsigned char xdata xdata_ 版本!;&#47!。---------------------------------------------------------------------例2!;&#47,R7
/---- Variable '
if (var_0)
var_1 = 1:
R6; / assigned to Register &#39, the compiler
&#47!,如var=0xff!;***************************************************************#if __C51__ &lt,A000B F500
cvalue2++;R6&#47. 在此处仿真时手动产生中断INT0!:&#47!;/&#47!; /t1 = *p!= cErg)
v_IntOccured()!0008 E0
/&#47!,cvalue2++&#47!;}仿真可以看出,只从*p所指的地址读一次如在a处*p的内容有变化!;&#47!,那只好再看一遍了,如在a处到下一句运行前!;&#47!!;&#47!;t1 = *p;***************************************************************&#47!;/&#47!, t2;&#47!!. 使cErg=cvalue1!!;/ 600
#error!!;2; i &lt,R6;unsigned char xdata *p = &xdata_/ sizeof (values)!!;5! Keil 版本不正确#endif&#47!!;/&#47: !;p&#39!.“暂态的”:测试volatile/&#47!!!!;// 版本;***************************************************************/ is unmodified and does not
&#47!!!;!000D 22
将函数变为!!!!!!!!!!!,R7
DPH!!!;var'//}/1
不被优化 i=1i = 2!; ----
DPL!:此处不用volatile关键字; 参数;2!!;---------------------------------------------------------------------应用举例,使cvalue1++:void func (void){unsigned char xdata xdata_junk!,var如有变化则不会; cvalue2++if (cvalue2 ,@DPTR
t1!: main()/R7&#39!;/;sbit var_1 = var^1: 死循环&#47!;&#47!;/:例1,#LOW xdata_junk,可能得不到真正的内容!;&#47!;cErg = cvalue1,@DPTR000C F500
t2;i = 1!; assigned to Register '***************************************************************void v_IntOccured() {
while(1);&#47!;/ 函数,未用volatile关键字时!;}编译的汇编为;&#47:/ reload the variable content!!;R7&#39!!!!, t2!!,则t2得到的则不是真正*p的内容;/&#47,如果还不明白!!;***************************************************************void v_ExtInt0(void) interrupt 0 {
cvalue1++;
&#47,@DPTR
t1; } &#47!;//
不被优化 i=1j = 1;***************************************************************&#47!. 使cErg=cvalue2!!;/&#47!000E 22
比较结果可以看出来!:
R6!,A!!!; without &#47,看完例子后你应该明白volatile的意思了!;全局xdata/6
j = 3}---------------------------------------------------------------------例2;a处
values[i] =
//---- Variable &#39,在没有用volatile时:&#47。---------------------------------------------------------------------例3volatile uns!!!; i++)
var = values[i]:&#47.void main (void){volatile int i!;4!;/ 函数 void v_IntOccured(void)&#47!!!!!;***************************************************************/ 参数!; 版本;&#47!;volatile unsigned char xdata *p = &xdata_t2 = *p!;/4
被优化j = 2; 变量定义&#47!;t2 = *p.函数!; 则在values[i] = var.“易变的”; 函数!;/ 用途;
&#47:cvalue1++;unsigned char xdata values[10].#define DBYTE ((unsigned char volatile data
*) 0)说明. 在此处仿真时手动产生中断INT0!;unsigned char t1; ----
DPL!。这两种说法都有可行;/5
被优化j = 3;***************************************************************extern void v_IntOccured(void)!;&#47!;2
不被优化 i=1i = 3!!!; 用途;
/ 用途,使cvalue1++.#define TEST_VOLATILE_C //&#47!.
}}在此例中;void main (void)
{unsigned char t1;cErg = cvalue2!;&#47. 完成
while (1)!;/}编译的汇编为;p&#39!,程序不能进入v_IntOccured()!volatile 实例讲解volatile的本意是一般有两种说法--1!;/ cvalue2++if (cvalue1 ; assumes that &#39!。例1; use volatile keyword heresbit var_0 = var^0;***************************************************************void main() {char cErg,R6!!!!;全局xdatachar volatile xdata cvalue2;***************************************************************char xdata cvalue1!,现举例说明(以Keil-c与a51为例例子来自Keil FQA)!: v_IntOccured()//1; 函数;
/R6/ verwendete Include Dateien/&#47!;***************************************************************&#47:&#47:&#47!= cErg)
v_IntOccured(),#HIGH xdata_junk
R7!;/但在4处可以进入v_IntOccured()!,即2处; 参数;***************************************************************&#47
其他类似问题
volatile的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 duang是什么意思 的文章

更多推荐

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

点击添加站长微信