📄 main.lst
字号:
555 =1 #define LPC_BASE_GPIO0 ((LPCPS_GPIO) 0xE0028000)//定义硬件结构指针(硬件地址)
556 =1 #define LPC_BASE_GPIO1 ((LPCPS_GPIO) 0xE0028010)//定义硬件结构指针(硬件地址)
557 =1 const LPCPS_GPIO P0 = LPC_BASE_GPIO0;//定义全局结构指针变量P0
558 =1 const LPCPS_GPIO P1 = LPC_BASE_GPIO1;//定义全局结构指针变量P1
559 =1
560 =1
561 =1
562 =1
563 =1 typedef struct _LPCS_UART {
564 =1 union {//地址冲突处理
565 =1 LPC_REG RBR;//接收缓冲
566 =1 LPC_REG THR;//发送保持
567 =1 }DATA;//收发数据
568 =1 LPC_REG IER;//中断使能
569 =1 union {//地址冲突处理
570 =1 LPC_REG IIR;//中断ID
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 14
571 =1 LPC_REG FCR;//FIFO控制
572 =1 }IIFC;
573 =1 LPC_REG LCR;//线控制
574 =1 LPC_REG MCR;//Modem控制(只有UART1)
575 =1 LPC_REG LSR;//线状态
576 =1 LPC_REG MSR;//Modem状态(只有UART1)
577 =1 LPC_REG SCR;//高速缓存
578 =1 LPC_REG DLL;//除数锁存低位
579 =1 LPC_REG DLM;//除数锁存高位
580 =1 LPC_REG TER;//发送使能
581 =1 }LPCS_UART, *LPCPS_UART;
582 =1
583 =1 #define LPC_BASE_UART0 ((LPCPS_UART) 0xE000C000)//定义硬件结构指针(硬件地址)
584 =1 const LPCPS_UART U0 = LPC_BASE_UART0;//定义全局结构指针变量U0
585 =1 #define LPC_BASE_UART1 ((LPCPS_UART) 0xE0010000)//定义硬件结构指针(硬件地址)
586 =1 const LPCPS_UART U1 = LPC_BASE_UART1;//定义全局结构指针变量U1
587 =1
588 =1
589 =1 typedef struct _LPCS_TIMER {//定时器
590 =1 LPC_REG TIMER_IR;//中断寄存器
591 =1 LPC_REG TIMER_TCR;//定时器控制寄存器
592 =1 LPC_REG TIMER_TC;//定时器计数器
593 =1 LPC_REG TIMER_PR;//预分频寄存器
594 =1 LPC_REG TIMER_PC;//预分频计数器
595 =1 LPC_REG TIMER_MCR;
596 =1 LPC_REG TIMER_MR0;
597 =1 LPC_REG TIMER_MR1;
598 =1 LPC_REG TIMER_MR2;
599 =1 LPC_REG TIMER_MR3;
600 =1 LPC_REG TIMER_CCR;
601 =1 LPC_REG TIMER_CR0;
602 =1 LPC_REG TIMER_CR1;
603 =1 LPC_REG TIMER_CR2;
604 =1 LPC_REG TIMER_CR3;
605 =1 LPC_REG TIMER_EMR;
606 =1 LPC_REG TIMER_CTCR;
607 =1 }LPCS_TIMER, *LPCPS_TIMER;
608 =1
609 =1
610 =1 #define LPC_BASE_TIMER0 ((LPCPS_TIMER) 0xE0004000)//定义硬件结构指针(硬件地址)
611 =1 #define LPC_BASE_TIMER1 ((LPCPS_TIMER) 0xE0008000)//定义硬件结构指针(硬件地址)
612 =1 const LPCPS_TIMER T0 = LPC_BASE_TIMER0;//定义全局结构指针变量T0
613 =1 const LPCPS_TIMER T1 = LPC_BASE_TIMER1;//定义全局结构指针变量T1
614 =1
615 =1
616 =1 typedef struct _LPCS_PWM {
617 =1 LPC_REG PWM_IR;//中断寄存器
618 =1 LPC_REG PWM_TCR;
619 =1 LPC_REG PWM_TC;
620 =1 LPC_REG PWM_PR;
621 =1 LPC_REG PWM_PC;
622 =1 LPC_REG PWM_MCR;
623 =1 LPC_REG PWM_MR0;
624 =1 LPC_REG PWM_MR1;
625 =1 LPC_REG PWM_MR2;
626 =1 LPC_REG PWM_MR3;
627 =1 LPC_REG PWM_MR4;
628 =1 LPC_REG PWM_MR5;
629 =1 LPC_REG PWM_MR6;
630 =1 LPC_REG PWM_PCR;
631 =1 LPC_REG PWM_LER;
632 =1 }LPCS_PWM, *LPCPS_PWM;
633 =1
634 =1 #define LPC_BASE_PWM ((LPCPS_PWM) 0xE0014000)//定义硬件结构指针(硬件地址)
635 =1 const LPCPS_PWM PWM = LPC_BASE_PWM;//定义全局结构指针变量PWM
636 =1
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 15
637 =1 typedef struct _LPCS_I2C {
638 =1 LPC_REG I2C_CONSET;
639 =1 LPC_REG I2C_STAT;
640 =1 LPC_REG I2C_DAT;
641 =1 LPC_REG I2C_ADR;
642 =1 LPC_REG I2C_SCLH;
643 =1 LPC_REG I2C_SCLL;
644 =1 LPC_REG I2C_CONCLR;
645 =1 }LPCS_I2C, *LPCPS_I2C;
646 =1
647 =1
648 =1 #define LPC_BASE_I2C0 ((LPCPS_I2C) 0xE001C000)//定义硬件结构指针(硬件地址)
649 =1 #define LPC_BASE_I2C1 ((LPCPS_I2C) 0xE005C000)//定义硬件结构指针(硬件地址)
650 =1 const LPCPS_I2C I2C0 = LPC_BASE_I2C0;//定义全局结构指针变量I2C0
651 =1 const LPCPS_I2C I2C1 = LPC_BASE_I2C1;//定义全局结构指针变量I2C1
652 =1
653 =1 typedef struct _LPCS_SPI {
654 =1 LPC_REG SPI_SPCR;
655 =1 LPC_REG SPI_SPSR;
656 =1 LPC_REG SPI_SPDR;
657 =1 LPC_REG SPI_SPCCR;
658 =1 LPC_REG Reserved[4]; //保留4个空位
659 =1 LPC_REG SPI_SPINT;
660 =1 }LPCS_SPI, *LPCPS_SPI;
661 =1
662 =1 #define LPC_BASE_SPI ((LPCPS_SPI) 0xE0020000)//定义硬件结构指针(硬件地址)
663 =1 const LPCPS_SPI SPI = LPC_BASE_SPI;//定义全局结构指针变量SPI
664 =1
665 =1 typedef struct _LPCS_SSP {
666 =1 LPC_REG SSP_SSPCR0;
667 =1 LPC_REG SSP_SSPCR1;
668 =1 LPC_REG SSP_SSPDR;
669 =1 LPC_REG SSP_SSPSR;
670 =1 LPC_REG SSP_SSPCPSR;
671 =1 LPC_REG SSP_SSPIMSC;
672 =1 LPC_REG SSP_SSPRIS;
673 =1 LPC_REG SSP_SSPMIS;
674 =1 LPC_REG SSP_SSPICR;
675 =1 }LPCS_SSP, *LPCPS_SSP;
676 =1
677 =1 #define LPC_BASE_SSP ((LPCPS_SSP) 0xE0068000)//定义硬件结构指针(硬件地址)
678 =1 const LPCPS_SSP SSP = LPC_BASE_SSP;//定义全局结构指针变量SSP
679 =1
680 =1 typedef struct _LPCS_RTC {
681 =1 LPC_REG RTC_ILR;//中断位置寄存器
682 =1 LPC_REG RTC_CTC;//时钟节拍计数器
683 =1 LPC_REG RTC_CCR;//时钟控制寄存器
684 =1 LPC_REG RTC_CIIR;//计数器递增中断寄存器
685 =1 LPC_REG RTC_AMR;//报警屏蔽寄存器
686 =1 LPC_REG RTC_CTIME0;//完整时间寄存器0
687 =1 LPC_REG RTC_CTIME1;//完整时间寄存器1
688 =1 LPC_REG RTC_CTIME2;//完整时间寄存器2
689 =1 LPC_REG RTC_SEC;//秒寄存器
690 =1 LPC_REG RTC_MIN;//分寄存器
691 =1 LPC_REG RTC_HOUR;//小时寄存器
692 =1 LPC_REG RTC_DOM;//日期(月)寄存器
693 =1 LPC_REG RTC_DOW;//星期寄存器
694 =1 LPC_REG RTC_DOY;//日期(年)寄存器
695 =1 LPC_REG RTC_MONTH;//月寄存器
696 =1 LPC_REG RTC_YEAR;//年寄存器
697 =1 LPC_REG Reserved[8]; //保留8个空位
698 =1 LPC_REG RTC_ALSEC;//秒报警值
699 =1 LPC_REG RTC_ALMIN;//分报警值
700 =1 LPC_REG RTC_ALHOUR;//小时报警值
701 =1 LPC_REG RTC_ALDOM;//日期(月)报警值
702 =1 LPC_REG RTC_ALDOW;//星期报警值
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 16
703 =1 LPC_REG RTC_ALDOY;//日期(年)报警值
704 =1 LPC_REG RTC_ALMONTH;//月报警值
705 =1 LPC_REG RTC_ALYEAR;//年报警值
706 =1 LPC_REG RTC_PREINT;//预分频值,整数部分
707 =1 LPC_REG RTC_PREFRAC;//预分频值,小数部分
708 =1 }LPCS_RTC, *LPCPS_RTC;
709 =1
710 =1 #define LPC_BASE_RTC ((LPCPS_RTC) 0xE0024000)//定义硬件结构指针(硬件地址)
711 =1 const LPCPS_RTC RTC = LPC_BASE_RTC;//定义全局结构指针变量RTC
712 =1
713 =1
714 =1 typedef struct _LPCS_WDT {
715 =1 LPC_REG WDT_WDMOD;//狗模式寄
716 =1 LPC_REG WDT_WDTC;//看门狗定时器常数寄存器
717 =1 LPC_REG WDT_WDFEED;//看门狗喂狗寄存器
718 =1 LPC_REG WDT_WDTV;//看门狗定时器值寄存器
719 =1 }LPCS_WDT, *LPCPS_WDT;
720 =1
721 =1 #define LPC_BASE_WDT ((LPCPS_WDT) 0xE0000000)//定义硬件结构指针(硬件地址)
722 =1 const LPCPS_WDT WDT = LPC_BASE_WDT;//定义全局结构指针变量WDT
723 =1
724 =1 typedef struct _LPCS_ADC {
725 =1 LPC_REG ADCR;
726 =1 LPC_REG ADDR;
727 =1 }LPCS_ADC, *LPCPS_ADC;
728 =1
729 =1 #define LPC_BASE_ADC0 ((LPCPS_ADC) 0xE0034000)//定义硬件结构指针(硬件地址)
730 =1 #define LPC_BASE_ADC1 ((LPCPS_ADC) 0xE0060000)//定义硬件结构指针(硬件地址)
731 =1 const LPCPS_ADC ADC0 = LPC_BASE_ADC0;//定义全局结构指针变量ADC0
732 =1 const LPCPS_ADC ADC1 = LPC_BASE_ADC1;//定义全局结构指针变量ADC1
733 =1
734 =1
735 =1 #endif // __LPC213xDEF_H
3 #include "main.h" //
1 =1
2 =1
3 =1 #define SystemTest (((volatile unsigned long *) 0x40002000))
4 =1 //#define pSystemTest (*((volatile unsigned char *) 0x40002000))
5 =1
6 =1
4
5
6
7 int main (void)
8 {
9 1 unsigned long *i = (unsigned long *)0x12345678;
10 1 unsigned long * pSystemTest = SystemTest;
11 1
12 1 if (*pSystemTest != 0x55aa55aa) {
13 2 *pSystemTest = 0x55aa55aa;
14 2 *i= 0x87654321;
15 2 }
16 1 for (;;);
17 1 }
18
ARM COMPILER V2.50a, main 01/03/06 17:21:14 PAGE 17
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN NUMBER (__startup)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -