#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar code seg7ca[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; //0 1 2 3 4 5 6 7 8 9 void main() { while(1) { TMOD = 0x01; TL0 = (65535-50000)%256; TH0 = (65535-50000)/256; TR0 = 1; ET0 = 1; EA = 1; count = 0; for(i=0;i<10;i++) { P0=seg7ca[i]; while(flag); flag=0; } } } void tm0_isr() interrupt 1 using 1 { TL0 = (65535-50000)%256; TH0 = (65535-50000)/256; if (coun++ == 20) flag=1,count =0; } |
定时器设置延时好简单的,建议你看下书 |
C语言中的while(1)的意思 无限循环,因为1恒为真,所以循环会一直进行下去,这个经常用到的。 while(1); 意义:这是一个死循环,代码不再向下执行。搜索 用途: 1. 一般在调试代码时,为了检测一部分代码是否OK,防止后面的代码干扰执行结果,会在观测点加上while(1); 2. 有些代码检测到运行错误时,会抛出错误(打印、设置错误码),然后进入while(1); 3. 机器需要复位时,停止喂看门狗,进入while(1); 迫使看门狗超时,产生硬件复位 while( 1 ) { 代码 } 意义:这里将会重复执行{}中的代码 用途: 1. 单片机在不使用操作系统时,主程序一般都使用这种架构 2. 操作系统中的进程,执行任务时,有些也会使用这种架构 3. {}中的代码不停地检测某个条件,当条件符合时,跳出该循环,继续向下执行 |
while(1)是什么意思 |
定时器不能一次定1秒的话就改成200个5毫秒的,中断200次数码管值加1就行。 |
你看下看单片机的书籍就知道了,这个很简单的 |