找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2749|回复: 0
打印 上一主题 下一主题
收起左侧

LM3SXXX万年历带智能闹钟 LCD1602显示

[复制链接]
跳转到指定楼层
楼主


下载:
数电子时钟带闹钟带温度.rar (8.03 MB, 下载次数: 15)



部分源码预览:
  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;">/*将一些较长语句块和常用端口宏定义,方便使用*/</span>


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


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


  11. /***********************************
  12.       宏定义较长的函数名为短词型
  13. ***********************************/

  14. /***********常用函数***********/
  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相关函数***********/
  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. /**********中断相关函数***********/
  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,便获取到中断优先级
  49. IntPrioritygroupingSet:0~7  (但 3~7的效果等同)
  50. IntPrioritygroupingGet:0~7  (但 3~7的效果等同)
  51. GPIOPinIntStatus: PORT,TURE 这个函数会返回一个中断状态值ulSTATUS
  52. GPIOPinIntClear:  PORT,ulSTATUS    清除中断标志
  53. */      
  54. #define  IntMasterEn                        IntMasterEnable                          //void
  55. #define  IntMasterDis           IntMasterDisable                  //void

  56. /**********Watchdog相关函数***********/
  57.                                    /*SysCtlPeriEnable(SYSCTL_PERIPH_WDOG);        使能看门狗模块    */
  58. #define WDRSTDis                WatchdogResetDisable               //(WATCHDOG_BASE);        禁止看门狗复位功能  此时可把看门狗当作定时器使用
  59. #define WDRSTEn                 WatchdogResetEnable                // (WATCHDOG_BASE);         使能看门狗复位功能
  60. #define WDStallEn               WatchdogStallEnable                //(WATCHDOG_BASE);         使能调试器暂停看门狗计数
  61. #define WDStallDis              WatchdogStallDisable               //(WATCHDOG_BASE);         禁止使能调试器暂停看门狗计数
  62. #define WDReloadSet             WatchdogReloadSet                  //(WATCHDOG_BASE, ulValue);       设置看门狗装载值
  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);      获取看门狗中断状态 返回一个ulStatus
  68. #define WDIntClear              WatchdogIntClear                   //(WATCHDOG_BASE);         清除中断状态,重要!  
  69. #define WDUlock                 WatchdogUnlock                     //  (WATCHDOG_BASE);        解除锁定           喂狗时 后面紧跟WDIntClear()
  70. #define WDLock                  WatchdogLock                       //(WATCHDOG_BASE);          重新锁定
  71. #define WDLockState             WatchdogLockState                                    //(WATCHDOG_BASE);   获取看门狗定时器的锁定状态 函数返回true 或false
  72.                                                                                                                                    /*WatchdogIntRegister(WATCHDOG_BASE,函数指针指向要注册的中断服务函数)
  73.                                                                                                                                          WatchdogIntUnregister(WATCHDOG_BASE)   注销看门狗定时器中断服务函数*/
  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          //队列结束选择
  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  

复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表