设为首页 加入收藏

TOP

可编程作息时间控制器设计(三)
2018-12-15 14:08:40 】 浏览:297
Tags:可编程 作息时间 控制器 设计
p;

/***********************************************************

     显示

***********************************************************/

void display(unsigned char hour,unsigned char minute)

{

P0=0xFF;

 

switch(position)

{

case 0:

smg_g=1;

smg_q=0;

P0=table[hour/10];

delay(3);

smg_q=1;

break;

 

case 1:

smg_q=1;

smg_b=0;

P0=table[hour%10];

 

if(tt>=10)

P0|=0x80;//小数点以半秒的时间闪烁

delay(3);

smg_b=1;

break;

 

case 2:

smg_b=1;

smg_s=0;

P0=table[minute/10];

delay(3);

smg_s=1;

break;

case 3:

smg_s=1;

smg_g=0;

P0=table[minute%10];

delay(3);

smg_g=1;

break;

}

position++;

if(position>3)

position=0;

}

 

/***********************************************************

  延时

***********************************************************/

void delay(unsigned int time)

{

unsigned int x,y;

for(x=time;x>0;x--)

for(y=105;y>0;y--);

}

 

/***********************************************************

   定时器TO中断

***********************************************************/

void t0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

tt++;

}

/***********************************************************

   定时器T1中断

***********************************************************/

void int1() interrupt 3 //?????

 

{

 

    TH1=(65536-10000)/256; TL1=(65536-10000)%256;

m++;

    if(m==100)

{

m=0;

s++; 

if(s==100)

{

s=0;

}}}

 

void XS(int  xs,int xm )//?????

 

{

 

    d1=(xs/1)%10;  d2=(xs/10)%10;  d3=(xm/1)%10;  d4=(xm/10)%10;

 

    P0=table[d1];  smg_g=0; delay(1);smg_g=1;

 

    P0=table[d2]; smg_s=0; delay(1); smg_s=1;

 

    P0=table[d3]|0x80; smg_b=0; delay(1);smg_b=1;

 

    P0=table[d4]; smg_q=0; delay(1);smg_q=1;

 

}

void set_miaobiao()

{

if(up==0)  

{

delay(1);

if(up==0)

{

TR1=~TR1;

while(!up);

}

 

}

 

if(down==0)   

{

delay(1);

if(down==0)

{

TR1=0;

m=0;s=0;

while(!down);

}

}

}

 

 

#include<reg52.h>
#define uchar unsigned char;#define uint unsigned int;//四盏灯sbit P13 = P1^3;sbit P35 = P3^5;sbit P36 = P3^6;sbit P37 = P3^7;//beepsbit beep = P1^1;
uchar position;   uchar tt;  static uchar second;  static uchar minute;static uchar hour;  static uchar set_second;  static uchar set_minute;static uchar set_hour;static uchar t_mode;//-----------------秒表-------------------------------------
void XS(int xs,int xm); void set_miaobiao();int n=0,m=0,s=0; static char d1,d2,d3,d4;//-------------------------------------------------------
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9uchar beepTimes[23][2]={{6,50},{7,0},{7,25},{8,20},{8,30},{9,15},{9,25},{10,10},{10,30},{11,15},{11,25},{12,10},{13,20},{13,30},{14,15},{14,25},{15,10},{16,30},{17,0},{17,50},{18,0},{21,30},{23,0}};sbit smg_q = P2^4; sbit smg_b = P2^5;sbit smg_s = P2^6;sbit smg_g = P2^7;
sbit mode=P2^0; //按键定义sbit up=P2^1;sbit down=P2^2;sbit ent=P3^2;
 //函数声明void keyscan();void setMinutes() ;void setHours();void

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C#操作xml文件:使用XmlDocument .. 下一篇STM32 SIM800C SIM868 连接OneNet..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目