描述
51单片机自动打铃C语言程序:
#include “reg51.h”
#include “intrins.h” #define uchar unsigned char #define uint unsigned int
uchar code DSY_CODE[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阴极总段//
uchar DSY_BUFFER[]={0,0,0xBF,0,0,0xff,0,0};//时间显示时-分 模式
uchar DSY_BUFFER1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //模式显示段//
uchar Scan_BIT;//位选择//
uchar DSY_IDX;//段选择//
uchar Key_State; //按键控制//
uchar s,s100,h1 ;
char h,m;
sbit dd=P1^7; //喇叭和led输出端口//
sbit cc=P1^6;
sbit ss=P1^5; //时间和秒转换显示键//
void DelayMS(uchar x)
{
uchar i;
while(x--) for(i = 0;i《120;i++);
}
void Increase_Hour()
{
if (++h》23) h=0;
DSY_BUFFER[0] =DSY_CODE[h/10];
DSY_BUFFER[1] =DSY_CODE[h];
}
void Decrease_Hour()
{ h--;
if (h《0) h=23;
DSY_BUFFER[0] =DSY_CODE[h/10];
DSY_BUFFER[1] =DSY_CODE[h];
}
void Increase_Minute()
{
if(++m》59)
{
m=0;Increase_Hour();
}
DSY_BUFFER[3] =DSY_CODE[m/10];
DSY_BUFFER[4] =DSY_CODE[m];