99到计时仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define dat P0
- code uchar d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- uint second=99;
- uint sshi,sge;
- static char court=0;
-
- void delay(uint number) /*单个LED延时函数*/
- {uchar i,j;
- for(i=0;i<number;i++)
- for(j=0;j<200;j++);
- }
- void int0() interrupt 1 using 2 /*中断1为内部中断,0为外部中断*/ /*中断服务程序*/
- {
- TH0=0x5c;
- TL0=0xb0;
- court++;
- }
-
- void main()
- {
- TMOD=0X01;
- TH0=0x5c;
- TL0=0xb0;
- ET0=1;
- // EX0=1;
- // EX1=1;
- // IT0=1;
- // IT1=1; /*开计数器中断*/
- EA=1;
- TR0=1; /*开定时器*/
- while(1) /*中断不能放循环中*/
- {
- sshi=second/10;
- sge=second%10;
- dat=d[sge]; /*第一个数码管*/
- P2=0x80;
- delay(2);
- P2=0x00;
- dat=d[sshi];
- P2=0x40;
- delay(2);
- P2=0x00;
-
-
-
-
- if(court==20)
- {court=0;
- second--;
- if(second==0)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
99倒计时2.rar
(59.14 KB, 下载次数: 40)
|