标题:
LM3SXXX万年历带智能闹钟 LCD1602显示
[打印本页]
作者:
51hei学习技术中
时间:
2017-3-4 02:18
标题:
LM3SXXX万年历带智能闹钟 LCD1602显示
0.png
(70.52 KB, 下载次数: 46)
下载附件
2017-3-4 02:15 上传
下载:
数电子时钟带闹钟带温度.rar
(8.03 MB, 下载次数: 15)
2017-3-4 02:17 上传
点击文件名下载附件
下载积分: 黑币 -5
部分源码预览:
/*********************lcd1602 driver file**********************/
/******************** Yehhon (Lei Youcai)**********************/
/*************************2010.10.19***************************/
/****please get connection with me,if you have any question****/
<span style="line-height: 1.5;">/*将一些较长语句块和常用端口宏定义,方便使用*/</span>
/*宏定义字符定义符*/
#define uchar unsigned char
#define ulong unsigned long
#define uint unsigned int
/* 宏定义一些常用常量*/
/***********************************
宏定义较长的函数名为短词型
***********************************/
/***********常用函数***********/
#define PeriEn SysCtlPeripheralEnable //xxBASE
#define PeriDis SysCtlPeripheralDisable //xxBASE
#define PinTypeIn GPIOPinTypeGPIOInput //xxPORT,XXPIN
#define PinTypeOut GPIOPinTypeGPIOOutput //XXPORT,XXPIN
#define PinTypeOD GPIOPinTypeGPIOOutputOD //XXPORT,XXPIN
#define pinTypePWM GPIOPinTypePWM //XXPORT,XXPIN
#define pinTypeUART GPIOPinTypeUART //XXPORT,XXPIN
#define pinTypeSSI GPIOPinTypeSSI //XXPORT,XXPIN
#define PinW GPIOPinWrite //XXPORT,XXPIN,data
#define PinR GPIOPinRead //XXPORT,XXPIN
#define GPIOPad GPIOPadConfigset //XXPORT,XXPIN,GPIO_STRENGTH_4MA.2MA,GPIO_PIN_TYPE_STD
/***********ADC相关函数***********/
#define ADCSpeed SysCtlADCSpeedSet //SYSCTL_ADCSPEED_125KSPS
#define ADCDis ADCSequenceDisable //ADC_BASE,0.1.2.3
#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
#define ADCStep ADCSequenceStepConfigure //ADC_BASE,0_0~7.1_0~3.2_0~3.3_0,(T.I.E.D|ADC0~7)
#define ADCEn ADCSequenceEnable //ADC_BASE,0.1.2.3
#define ADCTrigger ADCProcessorTrigger //ADC_BASE,0.1.2.3
#define ADCGet ADCSequenceDataGet //ADC_BASE,0.1.2.3, *S
/**********中断相关函数***********/
#define IntType GPIOIntTypeSet //PORT,PIN,GPIO_LOW.HIGH.BOTH.RISING.FALLING_LEVEL
#define PinIntEnable GPIOPinIntEnable //PORT,PIN
/*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
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.
CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR
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
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.
CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR
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
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.
CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR , (0~7)<<5
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
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.
CAN0~2.INT_ETH.HIBERNATE.USB0.PWM3.UDMA.UDMAERR 再将返回值除以32,便获取到中断优先级
IntPrioritygroupingSet:0~7 (但 3~7的效果等同)
IntPrioritygroupingGet:0~7 (但 3~7的效果等同)
GPIOPinIntStatus: PORT,TURE 这个函数会返回一个中断状态值ulSTATUS
GPIOPinIntClear: PORT,ulSTATUS 清除中断标志
*/
#define IntMasterEn IntMasterEnable //void
#define IntMasterDis IntMasterDisable //void
/**********Watchdog相关函数***********/
/*SysCtlPeriEnable(SYSCTL_PERIPH_WDOG); 使能看门狗模块 */
#define WDRSTDis WatchdogResetDisable //(WATCHDOG_BASE); 禁止看门狗复位功能 此时可把看门狗当作定时器使用
#define WDRSTEn WatchdogResetEnable // (WATCHDOG_BASE); 使能看门狗复位功能
#define WDStallEn WatchdogStallEnable //(WATCHDOG_BASE); 使能调试器暂停看门狗计数
#define WDStallDis WatchdogStallDisable //(WATCHDOG_BASE); 禁止使能调试器暂停看门狗计数
#define WDReloadSet WatchdogReloadSet //(WATCHDOG_BASE, ulValue); 设置看门狗装载值
#define WDIntEn WatchdogIntEnable //(WATCHDOG_BASE); 使能看门狗中断
/*IntEnable(INT_WATCHDOG); // 使能看门狗模块中断
IntMasterEnable( ); // 使能总中断 */
#define WDEn WatchdogEnable //(WATCHDOG_BASE); 使能看门狗
#define WDIntStatus WatchdogIntStatus //(WATCHDOG_BASE, true); 获取看门狗中断状态 返回一个ulStatus
#define WDIntClear WatchdogIntClear //(WATCHDOG_BASE); 清除中断状态,重要!
#define WDUlock WatchdogUnlock // (WATCHDOG_BASE); 解除锁定 喂狗时 后面紧跟WDIntClear()
#define WDLock WatchdogLock //(WATCHDOG_BASE); 重新锁定
#define WDLockState WatchdogLockState //(WATCHDOG_BASE); 获取看门狗定时器的锁定状态 函数返回true 或false
/*WatchdogIntRegister(WATCHDOG_BASE,函数指针指向要注册的中断服务函数)
WatchdogIntUnregister(WATCHDOG_BASE) 注销看门狗定时器中断服务函数*/
/*宏定义引脚、端口*/
#define PIN0 GPIO_PIN_0
#define PIN1 GPIO_PIN_1
#define PIN2 GPIO_PIN_2
#define PIN3 GPIO_PIN_3
#define PIN4 GPIO_PIN_4
#define PIN5 GPIO_PIN_5
#define PIN6 GPIO_PIN_6
#define PIN7 GPIO_PIN_7
/**********ADC通道************/
#define ADC0 ADC_CTL_CH0 //输入通道0
#define ADC1 ADC_CTL_CH1 //输入通道1
#define ADC2 ADC_CTL_CH2 //输入通道2
#define ADC3 ADC_CTL_CH3 //输入通道3
#define ADC4 ADC_CTL_CH4 //输入通道4
#define ADC5 ADC_CTL_CH5 //输入通道5
#define ADC6 ADC_CTL_CH6 //输入通道6
#define ADC7 ADC_CTL_CH7 //输入通道7
#define ADCT ADC_CTL_TS //温度传感器(不能再选择ADC通道)
#define ADCI ADC_CTL_IE //中断使能
#define ADCE ADC_CTL_END //队列结束选择
#define ADCD ADC_CTL_D //差分选择(只能选择ADC0-0.1组合、ADC1-2.3组合、ADC2-4.5组合、ADC3-6.7组合)
/************GPIO端口**********/
#define PORTA GPIO_PORTA_BASE
#define PORTB GPIO_PORTB_BASE
#define PORTC GPIO_PORTC_BASE
#define PORTD GPIO_PORTD_BASE
#define PORTE GPIO_PORTE_BASE
#define PORTF GPIO_PORTF_BASE
#define PORTG GPIO_PORTG_BASE
#define PORTH GPIO_PORTH_BASE
/*宏定义模块*/
#define PERIA SYSCTL_PERIPH_GPIOA
#define PERIB SYSCTL_PERIPH_GPIOB
#define PERIC SYSCTL_PERIPH_GPIOC
#define PERID SYSCTL_PERIPH_GPIOD
#define PERIE SYSCTL_PERIPH_GPIOE
#define PERIF SYSCTL_PERIPH_GPIOF
#define PERIG SYSCTL_PERIPH_GPIOG
#define PERIH SYSCTL_PERIPH_GPIOH
/**********************/
#define PERIPWM SYSCTL_PERIPH_PWM
#define PERIUART SYSCTL_PERIPH_UART
#define PERISSI SYSCTL_PERIPH_SSI
#define PERIADC SYSCTL_PERIPH_ADC
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1