⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initt0.c

📁 set(key6) left(key5) right(key4) up(key3) down(key2) OK(key1) 功能一:时钟 时钟计时; 按下set(一次)键即可调时间
💻 C
字号:
#include<reg51.h>
sbit DAT = P2^7;
sbit PL = P2^6;
sbit CLK = P2^5;
sbit Voice=P2^4;                //蜂鸣器

unsigned char pLED;
unsigned char DispBuf[6];          //缓冲区
unsigned char count;
bit xTim,xKey;
unsigned char KeyVal;

void InitT0(void)                 //初始化
{
 pLED = 0;
    xTim = 0;
    count = 0;
    TMOD = (TMOD & 0xF0) |0x01;
    TH0 = 0xF1;                 // 1/240 s
    TL0 = 0x00;
    TR0 = 1;
    ET0 = 1;
    EA = 1;
}

void T0Srv(void) interrupt 1 using 1     
{
unsigned char i;
    TH0 = 0xF1;                 // 1/240 s
    P2 = 0x18| pLED;
	
    P0 = DispBuf[pLED];
    if(++pLED==6) pLED = 0;
    count++;
    if((count&0x03)==0)     // 每4次中断16ms读一次按键
    {
        CLK = 0;
        PL = 0;     // Latch Key
        PL = 1;
        KeyVal = 0;
        for(i=0;i<8;i++)
        {
            KeyVal <<= 1; 
            if(!DAT) KeyVal |= 0x01;    // 低电平检测
            CLK = 1;
            CLK = 0;
        }
        KeyVal &= 0x3F;
        xKey = 1;      	// 发信号,表示读了一次按键
    }
    if(count==240)       // 每240次中断发秒更新标志
    {
        count = 0;
        xTim = 1;
        
    } }	

⌨️ 快捷键说明

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