首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

stm32f103c8t6按键数码管编程+proteus原理图

硬件开发 5.77MB 31 需要积分: 1
立即下载

资源介绍:

实验要求 使用proteus仿真+keil编译 用Proteus设计一个STM32最小系统板+按键+数码管实验原理图,仿真运行。 以STM32最小系统核心板(STM32F103C8T6)编写程序驱动数码管,显示0-9数字,通过按键控制数字显示,每按一次数字加1,到9返回0。 用stm32标准库编写,有必要的注释。
/** ****************************************************************************** * @file stm32f10x_tim.c * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011 * @brief This file provides all the TIM firmware functions. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * *

© COPYRIGHT 2011 STMicroelectronics

****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x_tim.h" #include "stm32f10x_rcc.h" /** @addtogroup STM32F10x_StdPeriph_Driver * @{ */ /** @defgroup TIM * @brief TIM driver modules * @{ */ /** @defgroup TIM_Private_TypesDefinitions * @{ */ /** * @} */ /** @defgroup TIM_Private_Defines * @{ */ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018) #define CCER_CCE_Set ((uint16_t)0x0001) #define CCER_CCNE_Set ((uint16_t)0x0004) /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ /** * @} */ /** @defgroup TIM_Private_Functions * @{ */ /** * @brief Deinitializes the TIMx peripheral registers to their default reset values. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval None */ void TIM_DeInit(TIM_TypeDef* TIMx) { /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); if (TIMx == TIM1) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); } else if (TIMx == TIM2) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); } else if (TIMx == TIM3) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); } else if (TIMx == TIM4) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); } else if (TIMx == TIM5) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); } else if (TIMx == TIM6) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); } else if (TIMx == TIM7) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); } else if (TIMx == TIM8) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); } else if (TIMx == TIM9) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); } else if (TIMx == TIM10) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); } else if (TIMx == TIM11) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); } else if (TIMx == TIM12) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); } else if (TIMx == TIM13) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); } else if (TIMx == TIM14) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); } else if (TIMx == TIM15) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); } else if (TIMx == TIM16) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, DISABLE); } else { if (TIMx == TIM17) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, DISABLE); } } } /** * @brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef * structure that contains the configuration information for the * specified TIM peripheral. * @retval None */ void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) { uint16_t tmpcr1 = 0; /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); tmpcr1 = TIMx->CR1; if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| (TIMx == TIM4) || (TIMx == TIM5)) { /* Select the Counter Mode */ tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { /* Set the clock division */ tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value */ TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; /* Set the Prescaler value */ TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { /* Set the Repetition Counter value */ TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } /* Generate an update event to reload the Prescaler and the Repetition counter values immediately */ TIMx->EGR = TIM_PSCReloadMode_Immediate; } /** * @brief Initializes the TIMx Channel1 according to the specified * parameters in the TIM_OCInitStruct. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @param TIM_OCInitStru

资源文件列表:

stm32按键+proteus.zip 大约有177个文件
  1. keil/
  2. keil/button.uvgui.1 68.98KB
  3. keil/button.uvopt 17.48KB
  4. keil/button.uvproj 20.84KB
  5. keil/CORE/
  6. keil/CORE/core_cm3.c 16.87KB
  7. keil/CORE/core_cm3.h 83.71KB
  8. keil/CORE/startup_stm32f10x_ld.s 12.09KB
  9. keil/Listings/
  10. keil/Listings/button.map 99.33KB
  11. keil/Listings/startup_stm32f10x_ld.lst 38.17KB
  12. keil/OBJ/
  13. keil/OBJ/button.axf 445.17KB
  14. keil/OBJ/button.build_log.htm 2.03KB
  15. keil/OBJ/button.hex 4.25KB
  16. keil/OBJ/button.hex.asm 21B
  17. keil/OBJ/button.htm 32.36KB
  18. keil/OBJ/button.lnp 967B
  19. keil/OBJ/button.sct 479B
  20. keil/OBJ/button_Target 1.dep 48.6KB
  21. keil/OBJ/core_cm3.crf 3.85KB
  22. keil/OBJ/core_cm3.d 99B
  23. keil/OBJ/core_cm3.o 10.73KB
  24. keil/OBJ/digit.crf 337.77KB
  25. keil/OBJ/digit.d 1.35KB
  26. keil/OBJ/digit.o 370.69KB
  27. keil/OBJ/led.crf 337.81KB
  28. keil/OBJ/led.d 1.29KB
  29. keil/OBJ/led.o 371.65KB
  30. keil/OBJ/main.crf 338.32KB
  31. keil/OBJ/main.d 1.33KB
  32. keil/OBJ/main.o 371.66KB
  33. keil/OBJ/misc.crf 338.36KB
  34. keil/OBJ/misc.d 1.34KB
  35. keil/OBJ/misc.o 372.81KB
  36. keil/OBJ/startup_stm32f10x_ld.d 59B
  37. keil/OBJ/startup_stm32f10x_ld.o 5.63KB
  38. keil/OBJ/stm32f10x_adc.crf 345.36KB
  39. keil/OBJ/stm32f10x_adc.d 1.63KB
  40. keil/OBJ/stm32f10x_adc.o 417.84KB
  41. keil/OBJ/stm32f10x_bkp.crf 339.28KB
  42. keil/OBJ/stm32f10x_bkp.d 1.63KB
  43. keil/OBJ/stm32f10x_bkp.o 382.23KB
  44. keil/OBJ/stm32f10x_can.crf 346.93KB
  45. keil/OBJ/stm32f10x_can.d 1.63KB
  46. keil/OBJ/stm32f10x_can.o 403.7KB
  47. keil/OBJ/stm32f10x_cec.crf 339.82KB
  48. keil/OBJ/stm32f10x_cec.d 1.63KB
  49. keil/OBJ/stm32f10x_cec.o 384.72KB
  50. keil/OBJ/stm32f10x_crc.crf 337.92KB
  51. keil/OBJ/stm32f10x_crc.d 1.63KB
  52. keil/OBJ/stm32f10x_crc.o 373.78KB
  53. keil/OBJ/stm32f10x_dac.crf 339.95KB
  54. keil/OBJ/stm32f10x_dac.d 1.63KB
  55. keil/OBJ/stm32f10x_dac.o 382.86KB
  56. keil/OBJ/stm32f10x_dbgmcu.crf 337.72KB
  57. keil/OBJ/stm32f10x_dbgmcu.d 1.73KB
  58. keil/OBJ/stm32f10x_dbgmcu.o 370.04KB
  59. keil/OBJ/stm32f10x_dma.crf 341.39KB
  60. keil/OBJ/stm32f10x_dma.d 1.63KB
  61. keil/OBJ/stm32f10x_dma.o 382.36KB
  62. keil/OBJ/stm32f10x_exti.crf 338.9KB
  63. keil/OBJ/stm32f10x_exti.d 1.67KB
  64. keil/OBJ/stm32f10x_exti.o 376.72KB
  65. keil/OBJ/stm32f10x_flash.crf 345.2KB
  66. keil/OBJ/stm32f10x_flash.d 1.7KB
  67. keil/OBJ/stm32f10x_flash.o 407.19KB
  68. keil/OBJ/stm32f10x_fsmc.crf 343.74KB
  69. keil/OBJ/stm32f10x_fsmc.d 1.67KB
  70. keil/OBJ/stm32f10x_fsmc.o 393.3KB
  71. keil/OBJ/stm32f10x_gpio.crf 341.77KB
  72. keil/OBJ/stm32f10x_gpio.d 1.67KB
  73. keil/OBJ/stm32f10x_gpio.o 392.19KB
  74. keil/OBJ/stm32f10x_i2c.crf 344.15KB
  75. keil/OBJ/stm32f10x_i2c.d 1.63KB
  76. keil/OBJ/stm32f10x_i2c.o 412.18KB
  77. keil/OBJ/stm32f10x_it.crf 338.02KB
  78. keil/OBJ/stm32f10x_it.d 1.58KB
  79. keil/OBJ/stm32f10x_it.o 380.38KB
  80. keil/OBJ/stm32f10x_iwdg.crf 338.02KB
  81. keil/OBJ/stm32f10x_iwdg.d 1.67KB
  82. keil/OBJ/stm32f10x_iwdg.o 373.74KB
  83. keil/OBJ/stm32f10x_pwr.crf 339.18KB
  84. keil/OBJ/stm32f10x_pwr.d 1.63KB
  85. keil/OBJ/stm32f10x_pwr.o 378.27KB
  86. keil/OBJ/stm32f10x_rcc.crf 345.26KB
  87. keil/OBJ/stm32f10x_rcc.d 1.63KB
  88. keil/OBJ/stm32f10x_rcc.o 410.96KB
  89. keil/OBJ/stm32f10x_rtc.crf 339.18KB
  90. keil/OBJ/stm32f10x_rtc.d 1.63KB
  91. keil/OBJ/stm32f10x_rtc.o 384.27KB
  92. keil/OBJ/stm32f10x_sdio.crf 342.37KB
  93. keil/OBJ/stm32f10x_sdio.d 1.67KB
  94. keil/OBJ/stm32f10x_sdio.o 405.96KB
  95. keil/OBJ/stm32f10x_spi.crf 342.24KB
  96. keil/OBJ/stm32f10x_spi.d 1.63KB
  97. keil/OBJ/stm32f10x_spi.o 398.38KB
  98. keil/OBJ/stm32f10x_tim.crf 359.93KB
  99. keil/OBJ/stm32f10x_tim.d 1.63KB
  100. keil/OBJ/stm32f10x_tim.o 493.16KB
  101. keil/OBJ/stm32f10x_usart.crf 343.84KB
  102. keil/OBJ/stm32f10x_usart.d 1.7KB
  103. keil/OBJ/stm32f10x_usart.o 407.2KB
  104. keil/OBJ/stm32f10x_wwdg.crf 338.46KB
  105. keil/OBJ/stm32f10x_wwdg.d 1.67KB
  106. keil/OBJ/stm32f10x_wwdg.o 376.54KB
  107. keil/OBJ/system_stm32f10x.crf 339.49KB
  108. keil/OBJ/system_stm32f10x.d 1.66KB
  109. keil/OBJ/system_stm32f10x.o 372.07KB
  110. keil/Objects/
  111. keil/STM32LIB/
  112. keil/STM32LIB/inc/
  113. keil/STM32LIB/inc/misc.h 8.77KB
  114. keil/STM32LIB/inc/stm32f10x_adc.h 21.18KB
  115. keil/STM32LIB/inc/stm32f10x_bkp.h 7.38KB
  116. keil/STM32LIB/inc/stm32f10x_can.h 26.91KB
  117. keil/STM32LIB/inc/stm32f10x_cec.h 6.42KB
  118. keil/STM32LIB/inc/stm32f10x_crc.h 2.11KB
  119. keil/STM32LIB/inc/stm32f10x_dac.h 14.88KB
  120. keil/STM32LIB/inc/stm32f10x_dbgmcu.h 3.73KB
  121. keil/STM32LIB/inc/stm32f10x_dma.h 20.27KB
  122. keil/STM32LIB/inc/stm32f10x_exti.h 6.66KB
  123. keil/STM32LIB/inc/stm32f10x_flash.h 24.85KB
  124. keil/STM32LIB/inc/stm32f10x_fsmc.h 26.38KB
  125. keil/STM32LIB/inc/stm32f10x_gpio.h 19.7KB
  126. keil/STM32LIB/inc/stm32f10x_i2c.h 29.33KB
  127. keil/STM32LIB/inc/stm32f10x_iwdg.h 3.74KB
  128. keil/STM32LIB/inc/stm32f10x_pwr.h 4.28KB
  129. keil/STM32LIB/inc/stm32f10x_rcc.h 29.74KB
  130. keil/STM32LIB/inc/stm32f10x_rtc.h 3.77KB
  131. keil/STM32LIB/inc/stm32f10x_sdio.h 21.35KB
  132. keil/STM32LIB/inc/stm32f10x_spi.h 17.31KB
  133. keil/STM32LIB/inc/stm32f10x_tim.h 51.2KB
  134. keil/STM32LIB/inc/stm32f10x_usart.h 16.16KB
  135. keil/STM32LIB/inc/stm32f10x_wwdg.h 2.9KB
  136. keil/STM32LIB/src/
  137. keil/STM32LIB/src/misc.c 6.88KB
  138. keil/STM32LIB/src/stm32f10x_adc.c 46.09KB
  139. keil/STM32LIB/src/stm32f10x_bkp.c 8.26KB
  140. keil/STM32LIB/src/stm32f10x_can.c 44.05KB
  141. keil/STM32LIB/src/stm32f10x_cec.c 11.38KB
  142. keil/STM32LIB/src/stm32f10x_crc.c 3.27KB
  143. keil/STM32LIB/src/stm32f10x_dac.c 18.64KB
  144. keil/STM32LIB/src/stm32f10x_dbgmcu.c 5.03KB
  145. keil/STM32LIB/src/stm32f10x_dma.c 28.91KB
  146. keil/STM32LIB/src/stm32f10x_exti.c 6.8KB
  147. keil/STM32LIB/src/stm32f10x_flash.c 61.08KB
  148. keil/STM32LIB/src/stm32f10x_fsmc.c 34.65KB
  149. keil/STM32LIB/src/stm32f10x_gpio.c 22.68KB
  150. keil/STM32LIB/src/stm32f10x_i2c.c 44.71KB
  151. keil/STM32LIB/src/stm32f10x_iwdg.c 4.8KB
  152. keil/STM32LIB/src/stm32f10x_pwr.c 8.55KB
  153. keil/STM32LIB/src/stm32f10x_rcc.c 50.07KB
  154. keil/STM32LIB/src/stm32f10x_rtc.c 8.4KB
  155. keil/STM32LIB/src/stm32f10x_sdio.c 28.25KB
  156. keil/STM32LIB/src/stm32f10x_spi.c 29.52KB
  157. keil/STM32LIB/src/stm32f10x_tim.c 106.6KB
  158. keil/STM32LIB/src/stm32f10x_usart.c 37.41KB
  159. keil/STM32LIB/src/stm32f10x_wwdg.c 5.6KB
  160. keil/USER/
  161. keil/USER/digit.c 414B
  162. keil/USER/digit.h 153B
  163. keil/USER/led.c 848B
  164. keil/USER/led.h 175B
  165. keil/USER/led.h.bak
  166. keil/USER/main.c 859B
  167. keil/USER/stm32f10x.h 619.08KB
  168. keil/USER/stm32f10x_conf.h 3.18KB
  169. keil/USER/stm32f10x_it.c 4.71KB
  170. keil/USER/stm32f10x_it.h 2.11KB
  171. keil/USER/system_stm32f10x.c 35.69KB
  172. keil/USER/system_stm32f10x.h 2.04KB
  173. protues/
  174. protues/Backup Of button.pdsbak 83.35KB
  175. protues/button.pdsprj 94.16KB
  176. protues/button.pdsprj.DESKTOP-J4OK9VH.1.workspace 13.72KB
  177. protues/Last Loaded button.pdsbak 94.22KB
0评论
提交 加载更多评论
其他资源 springboot aop切面实现方法入参及返回结果数据加解密
springboot+aop 自定义注解(切入点为方法) 可对请求入参或者返回结果进行加解密 可允许用户自定义加解密工具类 本工具自带默认加解密工具类,用户可自行选择是否使用
stm32f103c8+proteus8.9+温度传感器ds18b20
实验要求 使用proteus仿真+keil编译 用Proteus设计一个STM32最小系统板+温度传感器ds18b20实验原理图,仿真运行。 以STM32最小系统核心板(STM32F103C8T6)编写程序,驱动ds18b20,使用proteus8.9编写原理图。 用stm32标准库编写,有必要的注释。
Bz二进制编辑工具(压缩包)
Bz1621.lzh官方版是一款实用的二进制编辑器软件。Bz1621.lzh最新版具有4种编辑模式(文本、十六进制、十进制、二进制)。软件内置了两个插件(Hex Calculator 与 Base Converter)。Bz1621.lzh官方版可以对操作的语言进行自定义的选择,不对中文的语言支持。 Bz1621.lzh基本简介: Bz1621.lzh官方版是30天自制操作系统书中提到的一款二进制编辑器,不需要安装,解压缩之后打开Bz.exe就能直接使用了,目前windows所有操作系统都能运行,有需要的赶快下载吧! Bz1621.lzh功能介绍: 1、Bz1621.lzh官方版可以编辑非常大的文件,最大可高达4GB。 2、具有4种编辑模式(文本、十六进制、十进制、二进制)。 3、内置了两个插件(Hex Calculator 与 Base Converter)。 4、可快速加载文件。 Bz1621.lzh软件特色: Bz1621.lzh官方版可以对操作的语言进行自定义的选择,不对中文的语言支持。也可根据自己的使用需求来对软件内置的功能设置,可以对软件的背景颜色进行更改。
st-link驱动安装包,可以匹配USB
st-link驱动安装包,可以解决初次使用st-link时的端口无法检测到对应的端口问题,本人初次遇到该问题的时候,是在stm32c8t6最小系统板,因为其不具备烧录口,需要外接st-link,但是由于第一次使用,keil5在烧录过程总始终无法检测到,因此进行大量上网搜索才发现需要安装驱动,个人感觉也是新手小白初学时会遇到的问题,也希望能为大家提供帮助
NPOI2.4.1使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写
NPOI2.4.1使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写
NPOI2.5.6版本
NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。 NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目。NPOI之所以强大,并不是因为它支持导出Excel,而是因为它支持导入Excel,并能“理解”OLE2文档结构,这也是其他一些Excel读写库比较弱的方面。通常,读入并理解结构远比导出来得复杂,因为导入你必须假设一切情况都是可能的,而生成你只要保证满足你自己需求就可以了,如果把导入需求和生成需求比做两个集合,那么生成需求通常都是导入需求的子集,这一规律不仅体现在Excel读写库中,也体现在pdf读写库中,目前市面上大部分的pdf库仅支持生成,不支持导入。
stm32f103c8t6+8位数码管,使用proteus仿真+keil编译
实验要求 使用proteus仿真+keil编译 用Proteus设计一个STM32最小系统板+8位数码管实验原理图,仿真运行。 以STM32最小系统核心板(STM32F103C8T6)编写程序驱动数码管,显示0-9数字。 用stm32标准库编写,有必要的注释。
STM32F103C8T6+LED显示
实验要求 用proteus+keil编写 用Proteus设计一个STM32最小系统板+LED流水灯实验原理图,仿真运行。 以STM32最小系统核心板(STM32F103C8T6)+3只红绿蓝LED搭建电路,使用GPIOA端口控制LED灯,轮流闪烁,间隔时长1秒。 程序采用stm32标准库编写,keil5编译,代码有详细注解。