基于arm的时钟闹钟设计内容摘要:
NVIC_Init(amp。 NVIC_InitStructure)。 } /* * 函数名: GPIO_Configuration * 描述 :配置 GPIO * 输入 :无 * 输出 :无 * 调用 :外部调用 */ void GPIO_Configuration(void) { /*定义一个 GPIO_InitTypeDef 类型的结构体 */ GPIO_InitTypeDef GPIO_InitStructure。 /*开启 GPIOC 的外设时钟 */ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE)。 /*选择要控制的 GPIOC 引脚 */ = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3。 /*设置引脚模式为通用推挽输出 */ = GPIO_Mode_Out_PP。 /*设置引脚速率为 50MHz */ = GPIO_Speed_50MHz。 /*调用库函数,初始化 GPIOC*/ GPIO_Init(GPIOC, amp。 GPIO_InitStructure)。 GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3)。 } /* * 函数名: RTC_Configuration * 描述 :配置 RTC * 输入 :无 * 输出 :无 * 调用 :外部调用 */ void RTC_Configuration(void) { /* Enable PWR and BKP clocks */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE)。 13 /* Allow access to BKP Domain */ PWR_BackupAccessCmd(ENABLE)。 /* Reset Backup Domain */ BKP_DeInit()。 /* Enable LSE */ RCC_LSEConfig(RCC_LSE_ON)。 /* Wait till LSE is ready */ while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) {} /* Select LSE as RTC Clock Source */ RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE)。 /* Enable RTC Clock */ RCC_RTCCLKCmd(ENABLE)。 /* Wait for RTC registers synchronization */ RTC_WaitForSynchro()。 /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask()。 /* Enable the RTC Second */ RTC_ITConfig(RTC_IT_SEC, ENABLE)。 RTC_ITConfig(RTC_IT_ALR, ENABLE)。 /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask()。 /* Set RTC prescaler: set RTC period to 1sec */ RTC_SetPrescaler(32767)。 /* RTC period = RTCCLK/RTC_PR = ( KHz)/(32767+1) */ /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask()。 } /* * 函数名: Time_Regulate * 描述 :返回用户在超级终端中输入的时间值,并将值储存在 * RTC 计数寄存器中。 * 输入 :无 * 输出 :用户在超级终端中输入的时间值,单位为 s 14 * 调用 :内部调用 */ uint32_t Time_Regulate(void) { uint32_t Tmp_HH = 0xFF, Tmp_MM = 0xFF, Tmp_SS = 0xFF。 printf(\r\n==============Time Settings=====================================)。 printf(\r\n Please Set Hours)。 while (Tmp_HH == 0xFF) { Tmp_HH = USART_Scanf(23)。 } printf(: %d, Tmp_HH)。 printf(\r\n Please Set Minutes)。 while (Tmp_MM == 0xFF) { Tmp_MM = USART_Scanf(59)。 } printf(: %d, Tmp_MM)。 printf(\r\n Please Set Seconds)。 while (Tmp_SS == 0xFF) { Tmp_SS = USART_Scanf(59)。 } printf(: %d, Tmp_SS)。 /* Return the value to store in RTC counter register */ return((Tmp_HH*3600 + Tmp_MM*60 + Tmp_SS))。 } /* * 函数名: Time_Adjust * 描述 :时间调节 * 输入 :无 * 输出 :无 * 调用 :外部调用 */ void Time_Adjust(void) { //uint32_t AAAA。 /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask()。 //AAAA=Time_Regulate()。 15 /* Change the current time */ RTC_SetCounter(Time_Regulate())。 RTC_SetAlarm( Time_Regulate())。 /*。基于arm的时钟闹钟设计
相关推荐
的不同。 这些新一代台式仪器具有多种特性,可以执行多种功能。 而且外形尺寸与价格,都比过去的类似产品减少了一半。 早在 1978 年,由美国 Wavetek 公司和日本东亚 电波工业公司公布了最高取样频率为 5MHz ,可以形成 256 点 (存储长度 )波形数据,垂直分辨率为 8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近 30 年的发展,伴随着电子元器件、电路
描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。 PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。 PLC 在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。 随即关闭输入端口,进入程序执行阶段。 PLC 在程序执行阶段:按用户程序 指令存放的先后顺序扫描执行每条指令
组给主电源充电。 而当选用两个二极管串联时,假设二极管 处于截止状态,此时电压差为 , 二极截止,假设成立。 而当主电源断开时,能提供电压为 6V 减去 2 个二极管的压降为 ,此电压能保证单片机正常工作。 74HC573 的功能 9 图 SL74HC573 跟 LS/AL573 的管脚一样。 器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。
自动进料系统的功能是在配料车完成配料并将草料输送到进料小车后,按下控制面板上的进料按钮后,进料小车完成自动进料。 按下饮水按钮后,启动水泵,向食物槽注水。 自动除杂系统的功能是在按下控制面板上除杂按钮后,控制系统驱动除杂小车进行清便作业,并通过传送带将牲畜粪便运送到粪便堆放区。 车间环境控制系统拥有三个功能,通过控制电磁阀、水泵等实现向饮食槽注水、车间清洗及车间消毒 [3]。 本设计的主要工作
在设计电梯的时候,对机械零部件和电器元件都采取了很大的安全系数和保险系数。 然而,只有电梯的制造,安装调试、售后服务和维修保养都达到高质量,才能全面保证电梯的最终高质量。 目前,由可编程序控制器 (PLC)和微机组成的电梯运行逻辑控制系统,正以很快的速度发展着。 采用 PLC 控制的电梯可靠性高、维护方便、开发周期短,这种电梯运行更加可靠,并具有很大的灵活性,可以完成更为复杂的控制任务
于电机变频调速温度控制,太阳能热水器温度测量领域彩印设备温控,汽车油温测量、发动机冷却系统,工 业控制系统中过热保护、加热控制系统,电源功电保护等。 相关元件主要参数: ( 1) 测量温度范围为 50℃ ~150℃ ( 2) 温度系数 TC 为 %/K ( 3) 精度等级为 % ( 4) 公称压力为 4 电磁阀的选择 ( 1) 入灌选用 VF425 型电磁阀 其中“ V”表示电磁阀,“