⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traffic light.i

📁 仿真马路交通灯通过keilproteus进行实时调试
💻 I
字号:
#line 1 "traffic light.c" /0  #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\REG52.H" /0       sfr P0    = 0x80; sfr P1    = 0x90; sfr P2    = 0xA0; sfr P3    = 0xB0; sfr PSW   = 0xD0; sfr ACC   = 0xE0; sfr B     = 0xF0; sfr SP    = 0x81; sfr DPL   = 0x82; sfr DPH   = 0x83; sfr PCON  = 0x87; sfr TCON  = 0x88; sfr TMOD  = 0x89; sfr TL0   = 0x8A; sfr TL1   = 0x8B; sfr TH0   = 0x8C; sfr TH1   = 0x8D; sfr IE    = 0xA8; sfr IP    = 0xB8; sfr SCON  = 0x98; sfr SBUF  = 0x99;   sfr T2CON  = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2    = 0xCC; sfr TH2    = 0xCD;     sbit CY    = PSW^7; sbit AC    = PSW^6; sbit F0    = PSW^5; sbit RS1   = PSW^4; sbit RS0   = PSW^3; sbit OV    = PSW^2; sbit P     = PSW^0;     sbit TF1   = TCON^7; sbit TR1   = TCON^6; sbit TF0   = TCON^5; sbit TR0   = TCON^4; sbit IE1   = TCON^3; sbit IT1   = TCON^2; sbit IE0   = TCON^1; sbit IT0   = TCON^0;   sbit EA    = IE^7; sbit ET2   = IE^5;   sbit ES    = IE^4; sbit ET1   = IE^3; sbit EX1   = IE^2; sbit ET0   = IE^1; sbit EX0   = IE^0;   sbit PT2   = IP^5; sbit PS    = IP^4; sbit PT1   = IP^3; sbit PX1   = IP^2; sbit PT0   = IP^1; sbit PX0   = IP^0;   sbit RD    = P3^7; sbit WR    = P3^6; sbit T1    = P3^5; sbit T0    = P3^4; sbit INT1  = P3^3; sbit INT0  = P3^2; sbit TXD   = P3^1; sbit RXD   = P3^0;   sbit SM0   = SCON^7; sbit SM1   = SCON^6; sbit SM2   = SCON^5; sbit REN   = SCON^4; sbit TB8   = SCON^3; sbit RB8   = SCON^2; sbit TI    = SCON^1; sbit RI    = SCON^0;   sbit T2EX  = P1^1;   sbit T2    = P1^0;     sbit TF2    = T2CON^7; sbit EXF2   = T2CON^6; sbit RCLK   = T2CON^5; sbit TCLK   = T2CON^4; sbit EXEN2  = T2CON^3; sbit TR2    = T2CON^2; sbit C_T2   = T2CON^1; sbit CP_RL2 = T2CON^0;  #line 1 "traffic light.c" /0   #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\STDIO.H" /0                typedef unsigned int size_t;   #pragma SAVE #pragma REGPARMS extern char _getkey (void); extern char getchar (void); extern char ungetchar (char); extern char putchar (char); extern int printf   (const char *, ...); extern int sprintf  (char *, const char *, ...); extern int vprintf  (const char *, char *); extern int vsprintf (char *, const char *, char *); extern char *gets (char *, int n); extern int scanf (const char *, ...); extern int sscanf (char *, const char *, ...); extern int puts (const char *);  #pragma RESTORE   #line 2 "traffic light.c" /0   #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\STDLIB.H" /0      #line 13 "C:\PROGRAM FILES\KEILC\C51\INC\STDLIB.H" /1    #line 16 "C:\PROGRAM FILES\KEILC\C51\INC\STDLIB.H" /0  #line 18 "C:\PROGRAM FILES\KEILC\C51\INC\STDLIB.H" /1   #line 20 "C:\PROGRAM FILES\KEILC\C51\INC\STDLIB.H" /0    typedef char wchar_t;    #pragma SAVE #pragma REGPARMS  extern int    abs  (int   val); extern long  labs  (long  val);  extern float atof (char *s1); extern long  atol (char *s1); extern int   atoi (char *s1); extern int   rand (); extern void  srand (int);  extern float         strtod  (char *, char **); extern long          strtol  (char *, char **, unsigned char); extern unsigned long strtoul (char *, char **, unsigned char);    extern int  init_mempool          (void xdata *p, unsigned int size); extern void xdata *malloc  (unsigned int size); extern void free                  (void xdata *p); extern void xdata *realloc (void xdata *p, unsigned int size); extern void xdata *calloc  (unsigned int size, unsigned int len);  #pragma RESTORE  #line 3 "traffic light.c" /0   #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\INTRINS.H" /0      extern void          _nop_     (void); extern bit           _testbit_ (bit); extern unsigned char _cror_    (unsigned char, unsigned char); extern unsigned int  _iror_    (unsigned int,  unsigned char); extern unsigned long _lror_    (unsigned long, unsigned char); extern unsigned char _crol_    (unsigned char, unsigned char); extern unsigned int  _irol_    (unsigned int,  unsigned char); extern unsigned long _lrol_    (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); extern void          _push_    (unsigned char _sfr); extern void          _pop_     (unsigned char _sfr);   #line 4 "traffic light.c" /0   #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\CTYPE.H" /0      #pragma SAVE #pragma REGPARMS extern bit isalpha (unsigned char); extern bit isalnum (unsigned char); extern bit iscntrl (unsigned char); extern bit isdigit (unsigned char); extern bit isgraph (unsigned char); extern bit isprint (unsigned char); extern bit ispunct (unsigned char); extern bit islower (unsigned char); extern bit isupper (unsigned char); extern bit isspace (unsigned char); extern bit isxdigit (unsigned char); extern unsigned char tolower (unsigned char); extern unsigned char toupper (unsigned char); extern unsigned char toint (unsigned char);     #pragma RESTORE  #line 5 "traffic light.c" /0   #line 1 "C:\PROGRAM FILES\KEILC\C51\INC\STRING.H" /0      #line 13 "C:\PROGRAM FILES\KEILC\C51\INC\STRING.H" /1    #line 16 "C:\PROGRAM FILES\KEILC\C51\INC\STRING.H" /0  #line 18 "C:\PROGRAM FILES\KEILC\C51\INC\STRING.H" /1   #line 20 "C:\PROGRAM FILES\KEILC\C51\INC\STRING.H" /0  #pragma SAVE #pragma REGPARMS extern char *strcat (char *s1, char *s2); extern char *strncat (char *s1, char *s2, int n);  extern char strcmp (char *s1, char *s2); extern char strncmp (char *s1, char *s2, int n);  extern char *strcpy (char *s1, char *s2); extern char *strncpy (char *s1, char *s2, int n);  extern int strlen (char *);  extern char *strchr (const char *s, char c); extern int strpos (const char *s, char c); extern char *strrchr (const char *s, char c); extern int strrpos (const char *s, char c);  extern int strspn (char *s, char *set); extern int strcspn (char *s, char *set); extern char *strpbrk (char *s, char *set); extern char *strrpbrk (char *s, char *set); extern char *strstr  (char *s, char *sub); extern char *strtok  (char *str, const char *set);  extern char memcmp (void *s1, void *s2, int n); extern void *memcpy (void *s1, void *s2, int n); extern void *memchr (void *s, char val, int n); extern void *memccpy (void *s1, void *s2, char val, int n); extern void *memmove (void *s1, void *s2, int n); extern void *memset  (void *s, char val, int n); #pragma RESTORE  #line 6 "traffic light.c" /0                  sbit green_a = P1^0;			   sbit yellow_a = P1^1; sbit red_a = P1^2; sbit green_b = P1^5; sbit yellow_b = P1^6; sbit red_b = P1^7;  char flag;  void wait(int temp) {  unsigned int m; for(m=temp;m>0;m--); }  void disp7seg_a_green() {  unsigned int i,j, k; flag = 0; P1 = 0x7E; for(k=30;k>0;k--) {   for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0=0x01; P2=k/10; wait(100); P0=0x02; P2=k%10; wait(100); P0=0x04; P2=(k+5)/10; wait(100); P0=0x08; P2=(k+5)%10; wait(100); } } }  }  void disp7seg_a_yellow() {  unsigned int i,j,k; flag = 1; P1 = 0x7D; for(k=5;k>0;k--) { for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0=0x01; P2=k/10; wait(100); P0=0x02; P2=k%10; wait(100); P0=0x04; P2=k/10; wait(100); P0=0x08; P2=k%10; wait(100); } } } }  void disp7seg_b_green() {  unsigned int i,j,k; flag = 2; P1=0xDB; for(k=15;k>0;k--) {  for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0=0x01; P2=(k+5)/10; wait(100); P0=0x02; P2=(k+5)%10; wait(100); P0=0x04; P2=k/10; wait(100); P0=0x08; P2=k%10; wait(100); } } } }  void disp7seg_b_yellow() {  unsigned int i,j,k; flag = 3; P1=0xBB; for(k=5;k>0;k--) {    for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0=0x01; P2=k/10; wait(100); P0=0x02; P2=k%10; wait(100); P0=0x04; P2=k/10; wait(100); P0=0x08; P2=k%10; wait(100); } } } }  void ex1_isr (void) interrupt 2 {  unsigned int temp,i,j;  switch(flag) {	  case 0: wait(0); break; case 1: P1 = 0xBD; wait(500);  for(temp=5;temp>0;temp--) { for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0 = 0x01; P2 = temp/10; wait(100); P0 = 0x02; P2 = temp%10; wait(100); P0 = 0x04; P2 = temp/10; wait(100); P0 = 0x08; P2 = temp%10; wait(100); } } } P1 = 0x7D; break; case 2: P1 = 0xBD; wait(500);  for(temp=5;temp>0;temp--) { for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0 = 0x01; P2 = temp/10; wait(100); P0 = 0x02; P2 = temp%10; wait(100); P0 = 0x04; P2 = temp/10; wait(100); P0 = 0x08; P2 = temp%10; wait(100); } } } P1 = 0xDB; break; case 3: wait(0); break; }  }  void ex0_isr (void) interrupt 0 {  unsigned int temp1,temp2,i,j; P1 = 0xBD; for(temp1=5;temp1>0;temp1--) {   for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0 = 0x01; P2 = temp1/10; wait(100); P0 = 0x02; P2 = temp1%10; wait(100); P0 = 0x04; P2 = temp1/10; wait(100); P0 = 0x08; P2 = temp1%10; wait(100); } } } P1 = 0x7B; for(temp2=15;temp2>0;temp2--) { for(i=10;i>0;i--) { for(j=20;j>0;j--) { P0 = 0x01; P2 = temp2/10; wait(100); P0 = 0x02; P2 = temp2%10; wait(100); P0 = 0x04; P2 = temp2/10; wait(100); P0 = 0x08; P2 = temp2%10; } } } switch(flag) { case 0: P1 = 0x7E; break; case 1: P1 = 0x7D; case 2: P1 = 0xDB; break; case 3: P1 = 0xBB; break; } } void main(void) {  IT0 = 1;     EX0 = 1;      IT1 = 1; EX1 = 1;  EA = 1;      while(1)			  { disp7seg_a_green(); disp7seg_a_yellow(); disp7seg_b_green(); disp7seg_b_yellow(); } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -