ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:17.62KB ,
资源ID:18286851      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18286851.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM8S个模块初始化Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM8S个模块初始化Word文档格式.docx

1、 CLK_CSSR = 0X00; /时钟安全系统寄存器关 while(CLK_CCOR & 0x04); /空闲才可以写CCOSEL CLK_CCOR |= 0X0d; /使能CCO始终输出,6M(CLK_CCOR & /看CCO输出的时钟是否正在工作 /等待可输出时钟可用 /CLK_HSITRIMR = 0X00-1; /HSI时钟修正寄存器,HSITRIM3:0:HSI修正值#else CLK_ICKR=0X01; /时能高速内部时钟,从停机(Halt) 或活跃停机(Active Halt) 模式快速唤醒使能 CLK_ECKR=0X00; /禁止外部时钟 CLK_SWR =0XE1; /

2、选择16M内部时钟为主时钟 CLK_SWCR=0X00; /禁止时钟切换 CLK_CKDIVR=0X08; /8MHZ 4:301:fHSI = fHSI RC输出/2 , 2:0000:fCPU = fMASTER CLK_CSSR=0X00; CLK_HSITRIMR=0X00-1;#endif/*外部中断*/void InterruptInit(void) PD_DDR &=(0X40); /PD6设置为按键输? PD_CR1 |=0X40; PD_CR2 & /禁止外部中断/ PD_CR2 |=0X40; /使能外部中断 EXTI_CR1 |=0X80; /PD6下降沿出触发中断/ E

3、XTI_CR1 |=0X40; /PD6上升沿出触发中断/*串口收发*/void Uart3Init(void) UART3_CR1 = 0x00; UART3_CR2 = 0x00; UART3_CR3 = 0x00; /1个停止位 UART3_BRR2 = 0x04; /24M的Fmaster下9600的波特率 UART3_BRR1 = 0x9c; /24000000/9600 = 0x09c4 UART3_CR2 = 0x2c; /发送接收都使能,使能接收中断 void Uart3SendChar(U8 *Send_Buff,U8 Cnt) U8 i; for(i=0;iCnt;i+)

4、(UART3_SR & 0x80); UART3_DR=Send_Buffi; /*定时器*/void Timer1Init(void) TIM1_CR1 |=0X04; /自动重载,只有溢出才产生更新中断 TIM1_IER |=0X01; /允许更新中断/ TIM2_SR1=0X00; /状态寄存器 TIM1_PSCR =0X01; /PSC3:预分频器的值 ,开预分频功能不许使能EGR中的UG位/ TIM1_PSCR =0X00;4预分频器的值 TIM2_EGR |=0X01; /时间产生状态寄存器,重新初始化计数器,并产生一个更新事件。 /如果不开预分频功能,此位可以删去/TIM2_CC

5、MR1=0X00; /捕获/比较模式寄存器,可用于选择PWM输出端口 /TIM2_CCMR1=0X68; /PWM模式,通道1,预装载使能/ TIM2_CCMR2=0X68; /PWM模式,通道2,预装载使能/ TIM2_CCER2=0X03; /使能PWM输出通道/ TIM2_CCER1=0X03; TIM1_CNTRH=0X9C; /计数值 TIM1_CNTRL=0X40; TIM1_ARRH=0X9C; /自动重载值(10ms进一次中断),8M2分频,40000/4000000=10ms TIM1_ARRL=0X40; TIM1_CR1 |=0X01; /开计数器/*AWU唤醒*/voi

6、d AWU_Open(void) AWU_APR = 0X3E; /APPRdiV=64 AWU_TBR = 0X0D; /time interval = 211 *APPRdiV/Fls=2048*64/128KHZ=1S 0D=2S/ AWU_TBR = 0X0E; /time interval = 211 *APPRdiV/Fls=2048*64/128KHZ=1S 0E=大约5S AWU_CSR = 0x30; /enable AWU,AWU_INT CLK_ICKR |= 0X20; /1:活跃停机(Active Halt) 模式下主dian ya tiao jie qi guan

7、bivoid AWU_Close(void) AWU_APR = 0X3F; /APPRdiV AWU_TBR = 0X00; /disable time interval AWU_CSR = 0x00; /disable AWU CLK_ICKR &= (0X20);void EEPROM_Init(void) FLASH_CR1 = 0x00; FLASH_CR2 = 0x00; FLASH_DUKR = MASS_KEY1; FLASH_DUKR = MASS_KEY2; /密钥使能(FLASH_IAPSR&0x08); /*等待写保护解锁*/*EEPROM*/u8 EEPROM_Wri

8、te(u8 addr,u8 dat) u16 TimeOut; *(u8*)(addr + EEP_BASE) = dat; for( TimeOut = 0; TimeOut 0xFFFF; TimeOut+ ) if( FLASH_IAPSR & ( WR_PG_DIS | EOP_BIT )return 1; /编程完成或者写到了写保护区 return 0; /超时退出 / while(!0x02); /*等待写完成*/u8 EEPROM_Read(u8 addr) return *(u8*)(EEP_BASE + addr);void EEPROM_THREE_BYTE_WRITE(v

9、oid) EEPROM_Write(0x00,i2c_buff0); EEPROM_Write(0x01,i2c_buff1); EEPROM_Write(0x02,i2c_buff2);void EEPROM_THREE_BYTE_READ(void) if(ADC_OnOff=1) ADC_ON_OR_OFF=2; else ADC_ON_OR_OFF=EEPROM_Read(0x00); ADC_OPEN_MIN=EEPROM_Read(0x01); ADC_OPEN_TIME=EEPROM_Read(0x02);/*ADC*/void adc_init(void) ADC_CR1 |=

10、0X00; /关闭ADC,2分频 ADC_CR2 |=0X08; /数据右对齐,low 8BIT AT ADC_DRL;非扫描模式 ADC_CSR =0X04; /选择通道4, 禁止中断 /*取走ADC转换yi个通道的数据*/u16 adc_converter(void) u8 m; for(m=0;m 7); / 十位I2C_CR1 = 0x01; /开I2CI2C_CR2 |= 0x04; /只产生应答信号,不产生起始和停止位I2C_ITR = 0x07; /使能中断void spi_init(void) SPI_CR2 = 0X01; SPI_CR1 = 0X44; /8MHZ 主模式

11、PB_DDR |= 1 5; /SCK PB_CR1 |= 1 /output 6; /MOSI PB_DDR &= (1 =KeyInContinue1S)/ KeyRestFlag=0; u16Timer1Cnt=0; keyinbuf=KeyRst; keyinbuf=0; if(keyinbuf=keychkbuf) if(f_key_state) keycvtbuf=keychkbuf; f_key_state=0; keychkbuf=keyinbuf; f_key_state=1; if(keycvtbuf!=keyoldbuf) keyvalue=keycvtbuf&(keyoldbuf); keyoldbuf=keycvtbuf;/* =keyoldbuf) /按键按下/ keyvalue|=keycvtbuf& keymediavalue=keycvtbuf&/ keyoldbuf=keycvtbuf; key_up_flag=1;/ return keyvalue; if(key_up_flag=1) /按键抬起 if(keycvtbuf=keyoldbuf) key_up_flag=0; keyvalue=keymediavalue;/ return 0;*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1