|
我做的单片机时钟实验 含代码 仿真文件有用自取
- **************************************************************
- ***********************时钟**********************************
- **************************************************************
- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- uchar code seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
- uchar f=0,m=0,c=0;
- sbit fs=P2^0;
- sbit fg=P2^1;
- sbit ms=P2^2;
- sbit mg=P2^3;
- void delay(unsigned int ms){
- uchar i,j;
- for(i=0;i<ms;i++)
- for(j=0;j<120;j++);
- }
- void display(uchar f,uchar m){
- P0=seg[f/10];
- fs=1;
- delay(5);
- fs=0;
-
- P0=seg[f%10];
- fg=1;
- delay(5);
- fg=0;
-
- P0=seg[m/10];
- ms=1;
- delay(5);
- ms=0;
-
- P0=seg[m%10];
- mg=1;
- delay(5);
- mg=0;
- }
- void main(){
- EA=1;
- ET0=1;
- TMOD=1;
- TL0=(65536-50000)%256;
- TH0=(65536-50000)/256;
- TR0=1;
- P2=0;
- while(1){
- display(f,m);
- }
-
- }
- void time() interrupt 1{
- c++;
- if(c==20){
- c=0;
- m++;
- if(m==61){
- m=0;
- f++;
- }
- }
- TL0=(65536-50000)%256;
- TH0=(65536-50000)/256;
- }
复制代码 |
|