51单片机实验板后两倒置数码管可以实现冒号闪烁的时钟的C51程序1

此程序,可以将设定外中断,进行时间校准。

/*

目标板:916U实验板 STC89C52RC @ 24MHz晶振

实验内容:

▲ 用一个按键实现调时,并将结果显示在4个数码管上

*/

#include <reg51.h>

//端口定义:

sbit LED1 = P1^5;//一排LED引脚定义,低电平时亮

sbit LED = P1^5; //LED引脚定义,低电平时亮

sbit Key_K14 = P3^3; //独立按键K14(P3.3/INT1),按下时为低电平

sbit speak = P3^2;

sbit dp = P0^7;

extern unsigned int t = 0;

extern unsigned int dp1 = 0; dp2 = 0;

//4个共阳数码管显示驱动引脚定义

#define SegDispPort P0 //数码管各段驱动端口,低电平亮

sbit SegDispCom1 = P2^6; //第1个数码管公共端,低电平亮

sbit SegDispCom2 = P2^5; //第2个数码管公共端,低电平亮

sbit SegDispCom3 = P2^4; //第3个数码管公共端,低电平亮【倒置】

sbit SegDispCom4 = P2^3; //第4个数码管公共端,低电平亮【倒置】

//数码显示译码表,有小数点

const unsigned char NumTable[16]={ //共阳,0~F,无小数点

0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

const unsigned char NumTableDown[16]={ //倒置,共阳,0~F,有小数点

0xC0,0xCF,0xA4,0x86,0x8B,0x92,0x90,0xC7,0x80,0x82,

0x81,0x98,0xF0,0x8C,0xB0,0xB1};

unsigned char SegDispBuffer[4]= {0,0,0,0}; //四联体数码显示缓存

unsigned int nCounter=0; //计数值

unsigned int nTemp; //临时变量

//函数申明

void delay(unsigned int n);

void SegDispDynamic(void);

void Key_Scan_0(void);

//主程序

你可能喜欢

  • 单片机程序流程图
  • 单片机红外遥控程序
  • 单片机串口通信程序
  • 单片机密码锁程序
  • 单片机数字时钟程序
  • 单片机定时器程序

51单片机实验板后两倒置数码管可以实现冒号闪烁的时钟的C51程序1相关文档

最新文档

返回顶部