|
#define FOSC 12000000L //系統(tǒng)時(shí)鐘
#define Timer0_Interval_ms 5 //timer0模式1的計(jì)數(shù)溢出時(shí)間間隔,必須以毫秒為單位
//--定義使用的IO口--//
#define GPIO_DIG P0 //段選
#define GPIO_PLACE P1 //位選
unsigned char num[8]={0,0,0,0,0,0,0,0};
//--定義全局變量--//
unsigned char code DIG_PLACE[8] = {
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制查表的方法控制
unsigned char code DIG_CODE[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char DisplayData[8];
long counter=87654321;
unsigned char second=0,minute=0,hour=21;
unsigned char counter_5ms=200;
bit IsTime2SentPC = 0;
bit busy;
enum {STOP,HOUR_TEN,HOUR_SINGLE,COLON_1,MINUTE_TEN,MINUTE_SINGLE,COLON_2,SECOND_TEN,SECOND_SINGLE,RUNNING};
//工作模式:停止計(jì)時(shí),小時(shí)十位,小時(shí)個(gè)位,冒號(hào)1,分鐘十位,分鐘個(gè)位,冒號(hào)2,秒鐘十位,秒鐘個(gè)位,運(yùn)行計(jì)時(shí)
unsigned char WorkMode = RUNNING; //開機(jī)狀態(tài)是時(shí)鐘運(yùn)行計(jì)時(shí)
//用來存放要顯示的8位數(shù)的值
sbit K_add = P3^2;
sbit K_dec = P3^3;
//sbit Number_ON=P3^7;
sbit dig_out = P2^7; //位掃描信號(hào),對數(shù)碼管掃描沒用,用在示波器顯示波形
sbit frame_out = P2^0; //幀掃描信號(hào),對數(shù)碼管掃描沒用,用在示波器顯示波形
bit counter_changed = 0; //按鍵后計(jì)數(shù)器值發(fā)生變化的標(biāo)志,有變化才調(diào)用update_display_buffer() |
|