嵌入式控制技术与系统报告综述_第1页
嵌入式控制技术与系统报告综述_第2页
嵌入式控制技术与系统报告综述_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一,设计要求本设计主要通过串口对LED灯的开闭和闪烁频率进行控制。串口发送相关命令 字 符串,stm32接收到字符串后返回相应的字符串,同时 LED灯的开闭状态和闪烁 频率 根据收到的命令进行相应的变化。图1 RB-STM32F103 开发板王要资源二,开发板简介本设计利用stm单片机型号是stm32f103zet6,其根本参数为:1-27分别为CPU STM32F103ZET6ARMCortex-M3 内核,512kB Flash,64KBRAM LQFP144 脚 圭寸装32位RISC性能处理器32位ARM Cortex-M3 结构优化72 MHz 运行频率 /90MIPS(1.25DMI

2、PS/MHz)硬件除法和单周期乘法快速可嵌套中断,612个时钟周期具有MPI保护设定访问规那么1MBit *2 的 SRA( ISSI )128M 字节 NADN Flash ( SAMSUNG16M 字节 NOR Flash (SPANSION100M/10M自适应以太网接口 DM9000A, IEEE802.3X 流量控制的全双工模式,16KB SRAM 支持 IP/ TCP / UDP 校验生成和检查 ,可从 EEPRO 自动加载供给商 ID 和产品 标识等优点16Mbit SPI 串行 FlashSST25VF016 B板载 VS1003B 高性能 MP3 军码芯片,支持解码音乐格式包

3、括 MP3 WM AWAV MIDI、 P-M I I D I ,录音编码格式 IMA ADPCM 单声道。麦克风和线入 Li ne in put 两种输入方 式;支持 MP 和口 WAV 流低功耗;具有内部锁相环时钟倍频器;高质量 的立体声数模转 换器DAC ; 16位可调片内模数转换器ADC ;高质量的立体声耳 塞驱动30欧;单 独的模拟、数字和IO供电电源;串行的数据和控制接口 SPI;外置扬声器, 3.5mm 接口立体声耳机插座可调电位器,输入模拟信号一个 5 向摇杆,一个 Reset 按钮、一个 wakeup 按钮、一个 Tamper 按键,一个自定 义按钮电压表输入接口BNC 输入

4、端子,集成双通道 CH1 CH 示波器电路4个自定义 LEDRS23 串行通信接口 DB9MicroSD卡插槽SD模式,不含SD卡,提供文件系统FATFS标准ARM JTAG 20 PIN仿真接口座方便连接ST-LINK,JLINK,ULINK2等仿真 器USBHOST 接口,嵌入式的主 /从设备控制器 SL811HS ,可以全速或低速与 USB 设 备通信。LCD插槽,支持3.5寸320*240大屏幕26万色TFT-LCD模块,支持8/16位总线接口, 镜面屏,超高清度, FSM 控制,还配备了 ADS784 触摸控制器外接 2K IIC 接口 EEPROM24LC02RS48 串行通信芯片

5、 SP3485CAN2.0A/B 通信芯片 SN65VHD230CAN2.0A/B 通信接口, RS48 串行通信接口8M 外部石英晶振32.768KHZ 石英晶振,提供 RTC 时钟BOO 选择位,采用开关模式,让用户使用更方便74HC13 地址解码器USB2.0 全速 DEVICE 接口本开发板上固定有一个 LED 灯,其与控制芯片连接的引脚固化为端口G 的引脚15。固化的开发板串口为串口 1,由stm32的引脚图可知,串口 1的固定引脚为:PA9Tx 和PA10 Rx。编程方式选用的是ST官方提供的库函数,精确延时函数为利 用SysTick 中断编写的毫秒级延时。三,设计内容LED 灯开

6、闭命令,其命令分别为“开启和“关闭。当电脑向 stm32 发出“开始 字符串后,电脑显示“ LED灯的状态为:开启,同时LED灯开始闪烁。当电脑向stm32 发出“关闭字符串后,电脑显示“ LED灯的状态为:关闭,同时LED熄灭。LED灯闪烁频率命令,其命令分别为“频率、“完成、“1 、“ 2 、“ 3 、其操 作过程为:在LED处于关闭的状态下,电脑发出“频率命令, stm32接受到命令 后 向电脑回复相应字符串,电脑收到并显示显示“LED灯的频率为:,此时进入 LED灯闪烁频率设定程序。在进入频率设定程序后,可设定LED的闪烁频率,本设计共设定了 3中LED闪烁频率,分别用代号1-3表示,

7、其值分别为5Hz、2.5Hz、1Hz,输入相 应频率代号后发送给stm32 ,此时电脑收到并显示相应的LED闪烁频率值。最后 向stm32 发送“完成命令,电脑会收到并显示字符串“频率设置完成,此时LED频率设置完成,输入“开启命令,LED就会根据设定的频率闪烁。stm32时钟配置命令。向stm32发送“时钟配置命令,stm32会返回其各个时 钟 的频率值。本设计中所涉及的几种存放器介绍及在使用中的介绍:端口配置高存放器(GPIOx_CR)偏移地址:04h复位值:4444 4444h31 30 29 28 27 26 25 24 23 2221 20191817 16CNFMOCNFMOCNF

8、MOCNF151:0D151:0141:0D141:0131:0电131:0121:0MOE121:0rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw15 14 13 12 11 10987 65 432 1 0CNMOCNMOCNMOCNMOF111:DE111F101:DE101F91:0DE91:F81:0DE81:-01 1-01:01-011 0 1rw rw rw rw rw rw rw rw rw rw rw rw rw,11:10,7:6,3:2 的功能为:13:12,9:8,5:4,1:0 的功能为:MODEx1:0端口 x的模式

9、位(x = 07)00:输入模式(复位后的状态)01 :输出模式,最大速度10MHz10:输出模式,最大速度2MHz11:输出模式,最大速度50MHzrw rw rw位 31:30,27:26,23:22,19:18,15:14CNFx1 0端口 x配置位 在输入模式(MODE1:0=00):00:模拟输入模式01:浮空输入模式(复位后的状态)10 :上拉/下拉输入模式11:保存在输出模式(MODE1:000):00:通用推挽输出模式01:通用开漏输出模式10:复用功能推挽输出模式11:复用功能开漏输出模式位 9:28,25:24,21:20,17:16,在本设计中主要涉及到三个引脚GA9 G

10、A1和GP15其配置分别为:GPIOA_CRH=0x04090hGPIOG_CRH=0x030000000hAPB2夕卜设复位存放器(RCC_APB2RSTR) 偏移地址:OCh复位值:OOOOOOOOh313029 閒 27242322212019 用 17 If)位31:15保存,始终读为0。位 14 USART1RST : USART1 复位由软件置1或清零01位13位1201:无效:复位 USART1保存,始终读为0。SPI1RST: SPI1复位 由软件 置1或清零:无效:复位SPI1位 11 TIM1RST: TIM1 复位由软件置1或清零:无效0:复位TIM11 ADC2RST

11、: ADC复位 由软 位10件置1或清零:无效0:复位ADC21由软件置1或清零0:无效1:复位10 口 E位 5 IOPDRST : IO 口 D 复位 由 软件置1或清零0 :无效1 :复位 IO 口 D 位 4 IOPCRSTIO 口 C复位 由软件置1或清零0 :无效1 :复位IO 口 C位3 IOPBRST : IO 口 B复位 由软件置1或清零0 :无效1 :复位 IO 口 B 位 2 IOPARSTIO 口 A复位 由软件置1或清零:无效:复位10 口 A保存,始终读为0。1514131211109876543210保存LSARTLKST保存SPURSTT1M1RSTADC2RS

12、TAIK1RSTOFFKSTOPDRSTTOPCRSTroPBRS710PABSTAFIORSTfwrwrwrwrwrwrwrwrwrw位 9 ADC1RST : ADC 复位由软件置1或清零0:无效1:复位ADC1位8:7保存,始终读为0。位 6 IOPERST : IO 口 E 复位本设计主要用到串口 1,端口 A和G,位0 AFIORST :辅助功能IO复位由软件置1或清零0:无效1:复位辅助功能淞B2RSTR=0x4104h置/复位存放器(GPIOx_BSRR) (x=A 地址偏移:E) 10h复位值:00000000h位 31:16 BRx :去除位 x x = 0 15这些位只能写

13、入并只能以字 16位的形式操作。0:对对应的ODR位不产生影响1:去除对应的ODR位为0注:如果同时设置了 BSx和BRx的对应位,BSx位起作用位 15:0 BRx :设置位 x x = 0 15这些位只能写入并只能以字 16位的形式操作。0:对对应的ODR位不产生影响1:设置对应的ODR位为1GP1 置位时,该值为 GPIOG_BSRR=Ox8OOOhGP1 复位时,该值为 GPIOG_BSRR=Ox8OOOOOOOhUSAR波特率存放器 USARTx_BRR每个串口都有一个自己独立的波特率存放器USART_BRF通过设置该存放器达到配置不同波特率的廿的。该存放器的各位描述如下:31292

14、7262521232119181716保存15111312II109976513210DIV_MantissalkOjDlV_Fraction3:0rwtynrerwrwrwrwrrnrrwrwnrrrnrnr保存位.W1M制为0 IV_M antissa5 ARID IV 的幣垃汎仃文f USAFET分杭掘赊法阿子USARTDI蛙朋分.(13; 0DlV_Fractio n3:0j USARTD0的小駛沛甘这4应卅史恥RT廿频格除法丙子MARTDM册“徴部认图2存放器USART_BR 各位描述前面提到STM32勺分数波特率概念,其实就是在这个存放器里面表达的。最低4位用来存放小数局部 DIV

15、_Fraction , 15:4这12位用来存放整数局部DIV Mantissa。高16位未使用。这里波特率的计算通过如下公式计算:/ PCLK.XTx/恐披持竽一八US4RTDiry这里的fpclkx x=1、2是给外设的时钟PCLK用于串口 2、3、4、5, PCLK2用于 串口 1 , USARTDI是一个无符号的定点数,它的值可以有串口的BRR存放器值得到。而我们更关心的是如何从 USARTDIV勺值得到USART_BR的值,因为一般我 们 知道的是波特率,和 PCLKx的时钟,要求的就是 USART_BR的值。下面我们来介绍如何通过 USARTDI得到串口 USART_BR存放器的值

16、,假设我们 的 串口 1要设置为9600的波特率,而PCLK2勺时钟为72M这样,我们根据上面的公 式有: USARTDIV=72000000/9600*16=468.75那么得到:DIV_Fractio n=16*0.75=12=0X0C; DIV_Ma ntissa= 468=0X1D4 这样,我们 就得到了 USART1-BR的值为0X1D4C只要设置串口 1的BRR存放器值为0X1D4C就可以得到 9600 的波特率USAR 状态存放器 USARTx_SR 串口的状态可以通过状态存放器USART_S 读 取USARTS 的 各 位 描 述 如 下31302928272625242322

17、212。191716保册131413121110987&543210CTSLBDTXETCRXXEIDLECRENEFEPErc *0rerrc wOrc wOrrr图3存放器USART_S各位描述RXN 读数据存放器非空,当该位被置1的时候,就是提示已经有数据被接收 到了, 并且可以读出来了。这时候我们要做的就是尽快去读取USART_DR通过读USART_D可以将该位清零,也可以向该位写 0,直接去除。TC 发送完成,当该位被职位的时候,表示USART_D内的数据已经被发送完 成了。 如果设置了这个位的中断,那么会产生中断。该位也有两种清零方式:读USART_S R写USART_DR四主程序

18、流程图初始化否是串口发送指令是关闭LED灭L.ED売闪闪闪频1频频;竿率f J521HHHZZz五 程序清单int main(void)RCC_Configuration();GPIO_Configuration(); /NVIC_Configuration(); /SysTick_Init();USART_Configuration();/while(1)if(strcmp(RecOrder, 开启 Delay_ms(1);/ 系统时钟初始化 引 脚初始化 中断配置初始化/ 系统定时器初始化 串口初始化, 表示开启 led)=0)/ 假设命令字符串为 开启 xxSendString(LED

19、灯的状态为 :n 开启 n); / 输出字符串ResetString(RecOrder);/ 清空字符串Num=0;/ 清计数频率 , 表示进入频率设置State=1 ;/ 将状态标志位置 1, 开启 LED else if(strcmp(RecOrder, 程序 频率 )=0) / 假设命令字符串为 Delay_ms(1);SendString(LED 灯的频率为 :n); ResetString(RecOrder);/ 清空 字符串Num=0;/ 清计数 while(strcmp(RecOrder, 完成 )!=0)/ 假设命令 字符串为 跳出频率设定程序片段 if(strcmp(RecOrder,1)=0) 完成 , 表示频率设置完成 Delay_ms(1); SendString(5Hzn);ResetString(RecOrder);/ 清空字符串 Num=0;/ 清计数 Jiange=100;else if(strcmp(RecOrder,2)=0)Delay_ms(1);SendString(2.5Hzn);ResetString(RecOrder);/ 清空字符串 Num=0;/ 清计数 Jiange=200; else if(strcmp(RecOrder,3)=0)Delay_ms(1); SendString(1Hzn);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论