找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2742|回復(fù): 0
收起左側(cè)

LM3SXXX萬(wàn)年歷帶智能鬧鐘 LCD1602顯示

[復(fù)制鏈接]
ID:140725 發(fā)表于 2017-3-4 02:18 | 顯示全部樓層 |閱讀模式
0.png

下載:
數(shù)電子時(shí)鐘帶鬧鐘帶溫度.rar (8.03 MB, 下載次數(shù): 15)



部分源碼預(yù)覽:
  1.   /*********************lcd1602 driver file**********************/
  2.   /******************** Yehhon (Lei Youcai)**********************/
  3.   /*************************2010.10.19***************************/
  4.   /****please get connection with me,if you have any question****/
  5. <span style="line-height: 1.5;">/*將一些較長(zhǎng)語(yǔ)句塊和常用端口宏定義,方便使用*/</span>


  6. /*宏定義字符定義符*/
  7. #define uchar unsigned char
  8. #define ulong unsigned long
  9. #define uint  unsigned int


  10. /* 宏定義一些常用常量*/


  11. /***********************************
  12.       宏定義較長(zhǎng)的函數(shù)名為短詞型
  13. ***********************************/

  14. /***********常用函數(shù)***********/
  15. #define  PeriEn                 SysCtlPeripheralEnable         //xxBASE
  16. #define  PeriDis                SysCtlPeripheralDisable         //xxBASE
  17. #define  PinTypeIn              GPIOPinTypeGPIOInput         //xxPORT,XXPIN
  18. #define  PinTypeOut             GPIOPinTypeGPIOOutput         //XXPORT,XXPIN
  19. #define  PinTypeOD              GPIOPinTypeGPIOOutputOD         //XXPORT,XXPIN
  20. #define  pinTypePWM                            GPIOPinTypePWM                         //XXPORT,XXPIN
  21. #define  pinTypeUART            GPIOPinTypeUART                         //XXPORT,XXPIN
  22. #define  pinTypeSSI             GPIOPinTypeSSI                         //XXPORT,XXPIN
  23. #define  PinW                                GPIOPinWrite                         //XXPORT,XXPIN,data
  24. #define  PinR                                    GPIOPinRead                                 //XXPORT,XXPIN
  25. #define  GPIOPad                GPIOPadConfigset         //XXPORT,XXPIN,GPIO_STRENGTH_4MA.2MA,GPIO_PIN_TYPE_STD
  26. /***********ADC相關(guān)函數(shù)***********/
  27. #define  ADCSpeed               SysCtlADCSpeedSet                     //SYSCTL_ADCSPEED_125KSPS
  28. #define  ADCDis                 ADCSequenceDisable                  //ADC_BASE,0.1.2.3
  29. #define  ADCConfigure           ADCSequenceConfigure          //ADC_BASE,0.1.2.3,(ADC_PROCESSOR.ADC_C0~2.ADC_EXTER.ADC_TIMER.ADC_PWM0~2.ADC_ALWAYS),0.1.2.3
  30. #define  ADCStep                ADCSequenceStepConfigure //ADC_BASE,0_0~7.1_0~3.2_0~3.3_0,(T.I.E.D|ADC0~7)
  31. #define  ADCEn                  ADCSequenceEnable                  //ADC_BASE,0.1.2.3
  32. #define  ADCTrigger                            ADCProcessorTrigger             //ADC_BASE,0.1.2.3
  33. #define  ADCGet                 ADCSequenceDataGet                  //ADC_BASE,0.1.2.3, *S
  34. /**********中斷相關(guān)函數(shù)***********/
  35. #define  IntType                GPIOIntTypeSet           //PORT,PIN,GPIO_LOW.HIGH.BOTH.RISING.FALLING_LEVEL
  36. #define  PinIntEnable           GPIOPinIntEnable          //PORT,PIN
  37. /*IntEnable: INT_GPIOA.B.C.D.E FAULT_NMI.HARD.MPU.BUS.USAGE.SVCALL.DEBUG.PENDSV.SYSTICK INT_UART0.UART1.SSI.SSI0.I2C.I2C0.PWM0.PWM1.PWM2.PWM_FAULT.QEI.QEI0
  38.              INT_ADC0~3.INT_WATCHDOG.INT_TIMER0A.0B.1A.1B.2A.AB.INT_COMP0~2.INT_SYSCTL.FLASH.GPIOF.GPIOG.GPIOH.UART2.SSI1.TIMER3A.TIMER3B.INT_I2C1.QEI1.
  39.                          CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR
  40.   IntDisable:INT_GPIOA.B.C.D.E FAULT_NMI.HARD.MPU.BUS.USAGE.SVCALL.DEBUG.PENDSV.SYSTICK INT_UART0.UART1.SSI.SSI0.I2C.I2C0.PWM0.PWM1.PWM2.PWM_FAULT.QEI.QEI0
  41.              INT_ADC0~3.INT_WATCHDOG.INT_TIMER0A.0B.1A.1B.2A.AB.INT_COMP0~2.INT_SYSCTL.FLASH.GPIOF.GPIOG.GPIOH.UART2.SSI1.TIMER3A.TIMER3B.INT_I2C1.QEI1.
  42.                          CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR

  43.   IntPrioritySet:INT_GPIOA.B.C.D.E FAULT_NMI.HARD.MPU.BUS.USAGE.SVCALL.DEBUG.PENDSV.SYSTICK INT_UART0.UART1.SSI.SSI0.I2C.I2C0.PWM0.PWM1.PWM2.PWM_FAULT.QEI.QEI0
  44.                  INT_ADC0~3.INT_WATCHDOG.INT_TIMER0A.0B.1A.1B.2A.AB.INT_COMP0~2.INT_SYSCTL.FLASH.GPIOF.GPIOG.GPIOH.UART2.SSI1.TIMER3A.TIMER3B.INT_I2C1.QEI1.
  45.                              CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR  ,  (0~7)<<5
  46.   long IntPriorityGet:INT_GPIOA.B.C.D.E FAULT_NMI.HARD.MPU.BUS.USAGE.SVCALL.DEBUG.PENDSV.SYSTICK INT_UART0.UART1.SSI.SSI0.I2C.I2C0.PWM0.PWM1.PWM2.PWM_FAULT.QEI.QEI0
  47.                       INT_ADC0~3.INT_WATCHDOG.INT_TIMER0A.0B.1A.1B.2A.AB.INT_COMP0~2.INT_SYSCTL.FLASH.GPIOF.GPIOG.GPIOH.UART2.SSI1.TIMER3A.TIMER3B.INT_I2C1.QEI1.
  48.                                   CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR  再將返回值除以32,便獲取到中斷優(yōu)先級(jí)
  49. IntPrioritygroupingSet:0~7  (但 3~7的效果等同)
  50. IntPrioritygroupingGet:0~7  (但 3~7的效果等同)
  51. GPIOPinIntStatus: PORT,TURE 這個(gè)函數(shù)會(huì)返回一個(gè)中斷狀態(tài)值ulSTATUS
  52. GPIOPinIntClear:  PORT,ulSTATUS    清除中斷標(biāo)志
  53. */      
  54. #define  IntMasterEn                        IntMasterEnable                          //void
  55. #define  IntMasterDis           IntMasterDisable                  //void

  56. /**********Watchdog相關(guān)函數(shù)***********/
  57.                                    /*SysCtlPeriEnable(SYSCTL_PERIPH_WDOG);        使能看門狗模塊    */
  58. #define WDRSTDis                WatchdogResetDisable               //(WATCHDOG_BASE);        禁止看門狗復(fù)位功能  此時(shí)可把看門狗當(dāng)作定時(shí)器使用
  59. #define WDRSTEn                 WatchdogResetEnable                // (WATCHDOG_BASE);         使能看門狗復(fù)位功能
  60. #define WDStallEn               WatchdogStallEnable                //(WATCHDOG_BASE);         使能調(diào)試器暫停看門狗計(jì)數(shù)
  61. #define WDStallDis              WatchdogStallDisable               //(WATCHDOG_BASE);         禁止使能調(diào)試器暫?撮T狗計(jì)數(shù)
  62. #define WDReloadSet             WatchdogReloadSet                  //(WATCHDOG_BASE, ulValue);       設(shè)置看門狗裝載值
  63. #define WDIntEn                 WatchdogIntEnable                  //(WATCHDOG_BASE);        使能看門狗中斷
  64.                                                                                                                            /*IntEnable(INT_WATCHDOG);        //   使能看門狗模塊中斷
  65.                                                                                                                              IntMasterEnable( );          //   使能總中斷                  */
  66. #define WDEn                    WatchdogEnable                     //(WATCHDOG_BASE);         使能看門狗
  67. #define WDIntStatus             WatchdogIntStatus                  //(WATCHDOG_BASE, true);      獲取看門狗中斷狀態(tài) 返回一個(gè)ulStatus
  68. #define WDIntClear              WatchdogIntClear                   //(WATCHDOG_BASE);         清除中斷狀態(tài),重要!  
  69. #define WDUlock                 WatchdogUnlock                     //  (WATCHDOG_BASE);        解除鎖定           喂狗時(shí) 后面緊跟WDIntClear()
  70. #define WDLock                  WatchdogLock                       //(WATCHDOG_BASE);          重新鎖定
  71. #define WDLockState             WatchdogLockState                                    //(WATCHDOG_BASE);   獲取看門狗定時(shí)器的鎖定狀態(tài) 函數(shù)返回true 或false
  72.                                                                                                                                    /*WatchdogIntRegister(WATCHDOG_BASE,函數(shù)指針指向要注冊(cè)的中斷服務(wù)函數(shù))
  73.                                                                                                                                          WatchdogIntUnregister(WATCHDOG_BASE)   注銷看門狗定時(shí)器中斷服務(wù)函數(shù)*/
  74.                                                                                                                                                                                                                                        


  75. /*宏定義引腳、端口*/
  76. #define PIN0 GPIO_PIN_0
  77. #define PIN1 GPIO_PIN_1
  78. #define PIN2 GPIO_PIN_2
  79. #define PIN3 GPIO_PIN_3
  80. #define PIN4 GPIO_PIN_4
  81. #define PIN5 GPIO_PIN_5
  82. #define PIN6 GPIO_PIN_6
  83. #define PIN7 GPIO_PIN_7
  84. /**********ADC通道************/
  85. #define ADC0  ADC_CTL_CH0          //輸入通道0
  86. #define ADC1  ADC_CTL_CH1          //輸入通道1
  87. #define ADC2  ADC_CTL_CH2          //輸入通道2
  88. #define ADC3  ADC_CTL_CH3          //輸入通道3
  89. #define ADC4  ADC_CTL_CH4          //輸入通道4
  90. #define ADC5  ADC_CTL_CH5          //輸入通道5
  91. #define ADC6  ADC_CTL_CH6          //輸入通道6
  92. #define ADC7  ADC_CTL_CH7          //輸入通道7
  93. #define ADCT  ADC_CTL_TS          //溫度傳感器(不能再選擇ADC通道)
  94. #define ADCI  ADC_CTL_IE          //中斷使能
  95. #define ADCE  ADC_CTL_END          //隊(duì)列結(jié)束選擇
  96. #define ADCD  ADC_CTL_D                  //差分選擇(只能選擇ADC0-0.1組合、ADC1-2.3組合、ADC2-4.5組合、ADC3-6.7組合)
  97. /************GPIO端口**********/
  98. #define PORTA GPIO_PORTA_BASE
  99. #define PORTB GPIO_PORTB_BASE
  100. #define PORTC GPIO_PORTC_BASE
  101. #define PORTD GPIO_PORTD_BASE
  102. #define PORTE GPIO_PORTE_BASE
  103. #define PORTF GPIO_PORTF_BASE
  104. #define PORTG GPIO_PORTG_BASE
  105. #define PORTH GPIO_PORTH_BASE


  106. /*宏定義模塊*/
  107. #define PERIA SYSCTL_PERIPH_GPIOA
  108. #define PERIB SYSCTL_PERIPH_GPIOB
  109. #define PERIC SYSCTL_PERIPH_GPIOC
  110. #define PERID SYSCTL_PERIPH_GPIOD
  111. #define PERIE SYSCTL_PERIPH_GPIOE
  112. #define PERIF SYSCTL_PERIPH_GPIOF
  113. #define PERIG SYSCTL_PERIPH_GPIOG
  114. #define PERIH SYSCTL_PERIPH_GPIOH
  115. /**********************/
  116. #define PERIPWM SYSCTL_PERIPH_PWM
  117. #define PERIUART SYSCTL_PERIPH_UART
  118. #define PERISSI SYSCTL_PERIPH_SSI
  119. #define PERIADC SYSCTL_PERIPH_ADC  

復(fù)制代碼



相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表