实验6.c

来自「单片机的c语言实验 加快我们学习单片机 增长我们的知识」· C语言 代码 · 共 43 行

C
43
字号
#include "reg52.h"        
typedef unsigned char       uint8;                 // 无符号8位整型变量
typedef signed    char       int8;                  // 有符号8位整型变量
typedef unsigned short      uint16;                // 无符号16位整型变量
typedef signed    short      int16;                 // 有符号16位整型变量
typedef unsigned int        uint32;                // 无符号32位整型变量
typedef signed    int        int32;                 // 有符号32位整型变量
typedef float               fp32;                  // 单精度浮点数(32位长度)
typedef double              fp64;
sbit P1_7 = P1 ^ 7;          
void Timer2_Server(void) interrupt 5
{
   static uint8 Timer2_Server_Count;               // 定义静态变量,用来计数T2定时器的溢出次数(进入本函数的次数)

   TF2=0;                                          // T2定时器发生溢出中断时,需要用户自己清除溢出标记,而51的其他定时器是自动清除的?

   Timer2_Server_Count++;
   if(Timer2_Server_Count==16)                     // T2定时器的预装载值为0x0BDC,溢出16次就是1秒钟。
     {
    Timer2_Server_Count=0;
       P1_7=~P1_7;                                 // LED11反转显示。
     }
}

void main (void)                
{
   P1_7=1;                                         // LED11灭

   /* T2定时器赋预装载值,溢出16次就是1秒。 */
   RCAP2H=0x0B;
   RCAP2L=0xDC;

   ET2=1;                                          // 允许T2定时器中断
   EA=1;                                           // 打开总中断

   TR2=1;                                          // 启动T2定时器

   while(1)
   {
   }                                    // 死循环,等待T2定时器的溢出中断 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?