?? clock.c
字號:
#include<C:\Keil\C51\INC\Intel\reg51F.h>
sbit led1=P1^3; /* 4位數碼管選通引腳 */
sbit led2=P1^4;
sbit led3=P1^6;
sbit led4=P1^7;
sbit led2dz=P1^5; /*小數點 */
sbit ls164_ab=P3^0; /*74LS164數據線 */
sbit ls164_clk=P3^1; /*74LS164時鐘線 */
sbit key1=P3^5; /*按鍵1 */
sbit key2=P3^7; /*按鍵2 */
/*DISPFLAG EQU 40H /* /*顯示標識 */
sbit key1flag=P3^2;
sbit key2flag=P3^3;
/* DISPBUF EQU 20H
DISPBUF1 EQU 50H */ /*定時緩沖 */
sbit beep=P1^0;
/* MSCNT EQU 30H */ /*中斷次數 */
/*
SECONDBUF EQU 31H
MINUTEBUF EQU 32H
HOURBUF EQU 33H
MONTHBUF EQU 34H
DAYBUF EQU 35H
MINUTEBUF1 EQU 36H
HOURBUF1 EQU 37H */
static const char sag_led1[10]=
{0x50,0xF9,0x34,0xB0,0x99,0x92,0x12,0xF8,0x10,0x90};
static const char sag_led234[10]=
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
/* 延時 */
void delay (unsigned int val)
{ while (val!=0) val--;
}
/* 74ls164工作原理子程序 */
void Send74ls164(char sag)
{
char i;
for(i=1;i<9;i++)
{
sag=sag<<1 ;
if(CY==1)
ls164_ab=1;
else
ls164_ab=0;
ls164_clk=1;
ls164_clk=0 ;
}
}
void disp(void)
{
led3=1;
led1=0;
Send74ls164(sag_led1[1]);
delay(4800);
led1=1;
led3=0;
Send74ls164(sag_led234[9]);
delay(4800);
}
void main(void)
{
loop:
disp();
goto loop;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -