《Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践》附盘源代码

源代码在线查看: main.c

软件大小: 12522 K
上传用户: flyhack007
关键词: uVision2 Keil 7.0 Cx
下载地址: 免注册下载 普通下载 VIP

相关代码

				#include               // SFR definition header file
				#include                  // prototype declarations for I/O functions
				#include                 // include EEPROM variables
				
				
				#ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
				char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
				#endif                                   /* Stop Exection with Serial Intr.   */
				
				
				/*
				 *  This routine stores some values into the EEPROM for testing
				 */
				void store_eeprom (void)  {
				  unsigned char i;
				
				  for (i = 0; i < 20; i++)  {
				    esample1.carray[i] = i;               // Store some values to show how it works
				    esample2.carray[i] = i + 10;
				    esample1.iarray[i] = 0xFF00+i;
				    esample2.iarray[i] = 0xFE00+i;
				    esample1.larray[i] = 0xABCDEF00+i;
				    esample2.larray[i] = 0x12345600+i;
				  }
				  etxt_ptr = "Store EEPROM Done";         // Pointer to Text in ROM
				}
				 
				
				/*------------------------------------------------
				The main C function.  Program execution starts
				here after stack initialization.
				------------------------------------------------*/
				
				void main (void) {
				  unsigned char i;
				/*------------------------------------------------
				Setup the serial port for 1200 baud at 16MHz.
				------------------------------------------------*/
				  EETIM = 5 * 40;             // EETIM: 5 * 40 MHz in normal mode
				
				#ifndef MONITOR51
				  SCON  = 0x50;               // SCON: mode 1, 8-bit UART, enable rcvr
				  TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit reload
				  TH1   = 221;                // TH1:  reload value for 1200 baud @ 16MHz
				  TR1   = 1;                  // TR1:  timer 1 run
				  TI    = 1;                  // TI:   set TI to send first char of UART
				#endif
				
				
				  store_eeprom ();            // store some values in EEPROM
				                              // Read Back Values from EEPROM
				  for (i = 0; i < 20; i++)  {
				    printf ("\n%bd %bd %bd %x %x", i, esample1.carray[i],
				                                      esample2.carray[i],
				                                      esample1.iarray[i],
				                                      esample2.iarray[i]);
				  }
				  printf ("\n%s", etxt_ptr);
				  while (1);
				}
				
							

相关资源