单片机时钟程序中Msecond==255啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机时钟程序中Msecond==255啥意思相关的知识,希望对你有一定的参考价值。

void timestyle(void) //时间处理子程序

if(Msecond==255)

Msecond=99;
seconde--;
if(seconde==255) //秒钟设为60进制

seconde=59;
minite--;
if(minite==255) //分钟设为60进制

minite=0;



我看好多定时程序都有这种语句,这个255表示什么呢?谢谢

是这样的,在8位机系统中,0-1的结果是255。
比如说:现在时间是0:0.00(0分0秒00毫秒
当程序接收到10毫秒中断时,00-1(倒计时)的结果是-1,在8位机中就是255,因为是百进位,这时就首先应该把它修正为99毫秒,然后,秒数也要-1。
当秒为0时,-1后,同样得到255这样的结果,而实际上,-1后应该是59秒,因而减1后,也要判断一下是不是255,如果是,同样要把它修正为59……
余此类推。

注意:在C语音中,减1的结果为255的先决条件是,变量是无符号短整型数!!!!
不知道我说明白没?
希望能帮到你
参考技术A -1,在计算机中,用补码表示,这就是255。

这是《倒计时》的程序。

拿变量seconde来说,它的正确数值范围应该是0~59。
减一、减一...,减到-1(即255)时,就改成59。
C程序,这就是下面这一段:
……
seconde--;
if(seconde==255) //秒钟设为60进制

seconde=59;
……本回答被提问者和网友采纳
参考技术B 就是判断这个变量的值是否等于255追问

void timestyle(void) //时间处理子程序

if(Msecond==255)

Msecond=99;
seconde--;
if(seconde==255) //秒钟设为60进制

seconde=59;
minite--;
if(minite==255) //分钟设为60进制

minite=0;





我看好多定时程序都有这种语句,这个255表示什么呢?谢谢

在stm32F10X单片机中,时钟有啥作用?,有那几种?请举列说明?

主要有内部低速时钟,内部高速时钟,外部高速时钟、外部低速时钟,低速时钟主要用于RTC,高速时钟用作主时钟。 参考技术A 可以给两个时钟指定不同功能,对于设置串口波特率只能使用时钟1,这时时钟2可以用作定时器,免得系统资源不够用

以上是关于单片机时钟程序中Msecond==255啥意思的主要内容,如果未能解决你的问题,请参考以下文章

单片机中R0,R1,R2,R5,R6,R7是怎样用的?是怎样计算时钟周期和延时程序的时间的?

STM32单片机中RCC_APB2PeriphClockCmd的作用是设置时钟但是是设置啥时钟,其中的参数是啥

各位大神单片机中的SPI是啥意思应该怎样理解?

单片机汇编程序中MAIN里可以啥都不写么?MAIN必须有么?

单片机的IAP是啥意思?

求助:单片机串行口输出的数据是啥类型