STM32-wireless-control-led
stm32- 

所属分类:单片机开发
开发工具:C/C++
文件大小:699KB
下载次数:12
上传日期:2013-02-27 19:40:42
上 传 者yuleijun
说明:  该gprs模块可以接收短信并提请对应的号码,同时并根据短信的内容对led灯进行开关的动作。
(Gprs module can receive text messages and draw the corresponding number at the same time and in accordance with the contents of the SMS led lamp switch action.)

文件列表:
wireless control led\GPIO_test\GPIO.Uv2 (2806, 2011-07-20)
wireless control led\GPIO_test\GPIO_GPIO.dep (4292, 2011-09-09)
wireless control led\GPIO_test\GPIO_STM32F10x Debug.dep (4252, 2008-10-14)
wireless control led\GPIO_test\GPIO_STM32F10x Release.dep (4254, 2008-10-14)
wireless control led\GPIO_test\GPIO_Uv2.Bak (2775, 2008-10-14)
wireless control led\GPIO_test\JLinkArm_GPIO.ini (205, 2011-07-20)
wireless control led\GPIO_test\main.c (9833, 2011-07-29)
wireless control led\GPIO_test\STM32F10x.s (8816, 2008-10-06)
wireless control led\GPIO_test\STM32F10xD.LIB (1849004, 2009-01-29)
wireless control led\GPIO_test\STM32F10xR.LIB (1759306, 2009-01-29)
wireless control led\GPIO_test\stm32f10x_conf.h (5682, 2008-10-06)
wireless control led\GPIO_test\stm32f10x_it.c (24807, 2011-07-29)
wireless control led\GPIO_test\stm32f10x_it.h (3397, 2008-10-06)
wireless control led\GPIO_test\GPIO_Opt.Bak (5133, 2011-09-09)
wireless control led\GPIO_test\GPIO.Opt (5099, 2011-09-09)
wireless control led\GPIO_test\output\.#release.hex.1.2 (7407, 2008-10-06)
wireless control led\GPIO_test\output\.#release.lnp.1.3 (380, 2008-10-06)
wireless control led\GPIO_test\output\debug.sct (479, 2008-10-14)
wireless control led\GPIO_test\output\debug.tra (1161, 2008-10-14)
wireless control led\GPIO_test\output\ExtDll.iex (19, 2011-07-20)
wireless control led\GPIO_test\output\main.crf (151067, 2011-08-09)
wireless control led\GPIO_test\output\main.d (1810, 2011-08-09)
wireless control led\GPIO_test\output\main.o (177792, 2011-08-09)
wireless control led\GPIO_test\output\release.hex (1648, 2011-08-09)
wireless control led\GPIO_test\output\release.htm (43291, 2011-08-09)
wireless control led\GPIO_test\output\release.lnp (345, 2011-08-09)
wireless control led\GPIO_test\output\release.plg (181, 2011-09-09)
wireless control led\GPIO_test\output\release.sct (479, 2011-07-20)
wireless control led\GPIO_test\output\release.tra (1162, 2011-08-09)
wireless control led\GPIO_test\output\release_sct.Bak (479, 2008-10-06)
wireless control led\GPIO_test\output\STM32F10x.o (4788, 2011-08-09)
wireless control led\GPIO_test\output\stm32f10x_it.crf (150554, 2011-08-09)
wireless control led\GPIO_test\output\stm32f10x_it.d (2091, 2011-08-09)
wireless control led\GPIO_test\output\stm32f10x_it.o (181680, 2011-08-09)
wireless control led\GPIO_test\output\release.axf (117472, 2011-08-09)
wireless control led\GPIO_test\listing\release.map (82244, 2011-08-09)
wireless control led\GPIO_test\output (0, 2011-09-09)
wireless control led\GPIO_test\listing (0, 2011-09-09)
wireless control led\GPIO_test (0, 2011-09-09)
... ...

1设计要求 控制实验平台的发光二极管LED1、LED2、LED3、LED4,使它们有规律的点亮,具体顺序如下: LED1亮->LED2亮->LED3亮->LED4亮,如此反复,当按下开发板上的Key按钮时,灯全部熄灭, 2秒钟后发光二极管全部点亮,再过一秒钟后返回被中断前的状态,有规律的依次点亮。 2 硬件电路设计 在评估板上,LED1、LED2、LED3、LED4分别与PC6、PC7、PC8、PC9相连,按键Key与PB9相连。 3软件程序设计 根据任务要求,程序内容主要包括: (1) 配置PB口第9个引脚作为外部中断,下降延触发; (2) 读取端口数据输出寄存器GPIOC_ODR[15:0]的值,因为C口[9:6]位和四个LED灯连通。 (3) 初始化时,LED依次点亮,当按下Key键时产生中断; (4) 中断服务子程序内容:灯全部熄灭,2秒钟后发光二极管全部点亮,再过1秒钟后中断返回。 整个工程包含3个源文件:STM32F10x.s、stm32f10x_it.c和main.c,其中STM32F10x.s为启动代码, 所有中断服务子程序均在stm32f10x_it.c中,其它函数则在main.c中。下面分别介绍相关的函数, 具体程序清单见参考程序。 GPIO_Configuration函数负责配置GPIO端口,其中GPIO_InitStructure数据结构包含所有GPIO端口 配置所需各项,函数GPIO_Init则实现某个端口的配置。在STM32F10xR.LIB和STM3210xD.LIB中均已 定义,读者可通过查阅5.3节所述的ST公司发布的《ARM?-based 32-bit MCU STM32F101xx and STM32F103xx Firmware Library》手册来了解该数据结构以及相关驱动函数。 NVIC_Configuration函数用于配置嵌入式中断控制器,相关内容将在后面章节介绍,此处需要将PB9 引脚配置为外部中断。 EXTI9_5_IRQHandler函数是PB9的中断服务子程序,当按下Key按钮之后触发EXTI9_5中断,在中断服 务子程序中先将灯全部熄灭,延迟2秒后全部点亮,再延迟1秒之后退出中断服务子程序。 SysTick_Configuration函数用于配置和允许系统时钟中断,系统时钟中断服务子程序SysTickHandler 函数则用于产生1毫秒的延时,这样Delay函数就可以通过开关系统时钟计数器来实现精确延时了。 4 运行过程 (1) 使用Keil uVision3 通过ULINK 2仿真器连接实验板,打开实验例程目录GPIO_TEST子目录下的 GPIO.Uv2例程,编译链接工程; (2) 选择软件调试模式,点击MDK 的Debug菜单,选择Start/Stop Debug Session项或Ctrl+F5键, 在逻辑分析仪中添加GPIOC_ODR.6、GPIOC_ODR.7、GPIOC_ODR.8、GPIOC_ODR.9,点击Run按钮即可在 逻辑分析仪中看到如图7-11; (3) 选择硬件调试模式,选择Start/Stop Debug Session项或Ctrl+F5键,下载程序并运行,观察LED 灯的变化情况;当程序运行在while循环体内时,按Key键,程序进入中断服务子程序EXTI9_5_IRQHandler(), 单步运行,观察LED的变化情况。 (4) 退出Debug模式,打开Flash菜单>Download,将程序下载到开发板的Flash中,按RESET键复位, 观察LED灯的情况,正常情况应如表7-6所列。 LED灯状态 说 明 LED1 LED2 LED3 LED4 亮 灭 灭 灭 程序正常运行,发光二极管依次点亮 灭 亮 灭 灭 灭 灭 亮 灭 灭 灭 灭 亮 灭 灭 灭 灭 外部信号输入,发生中断,执行中断处理程序 亮 亮 亮 亮

近期下载者

相关文件


收藏者