单片机期末试验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机期末试验报告

单片机期末实验报告-LED流水灯 学院班级:物理学院13电(1) 姓名:李达昌 学号:3113008415 ;/******************** stm8单片机期末实验 ******************** ;文件名 : 流水灯 ;描述 : 试做一个流水灯,时钟切换到外部时钟,间歇时间为0.3S,用定时器延时。 ;********************************************************* 代码及注释 #include mapping.inc #include STM8S105C_S.inc segment ram0 counter ds.b ;确定0.3S定时 bit ds.b ;作为0.3S定时时间的标志位 segment rom main.l ; initialize SP ldw X,#stack_end ldw SP,X #ifdef RAM0 ; clear RAM0 ram0_start.b EQU $ram0_segment_start ram0_end.b EQU $ram0_segment_end ldw X,#ram0_start clear_ram0.l clr (X) incw X cpw X,#ram0_end jrule clear_ram0 #endif #ifdef RAM1 ; clear RAM1 ram1_start.w EQU $ram1_segment_start ram1_end.w EQU $ram1_segment_end ldw X,#ram1_start clear_ram1.l clr (X) incw X cpw X,#ram1_end jrule clear_ram1 #endif ; clear stack stack_start.w EQU $stack_segment_start stack_end.w EQU $stack_segment_end ldw X,#stack_start clear_stack.l clr (X) incw X cpw X,#stack_end jrule clear_stack intel ;初始化PA,PE,PB,PD,推挽输出,用于流水灯 mov PA_DDR,#0ffh mov PA_CR1,#0ffh mov PA_CR2,#00h mov PE_DDR,#0ffh mov PE_CR1,#0ffh mov PE_CR2,#00h mov PB_DDR,#0ffh mov PB_CR1,#0ffh mov PB_CR2,#00h mov PD_DDR,#0ffh mov PD_CR1,#0ffh mov PD_CR2,#00h mov CLK_ECKR,#01h ;高速外部晶体振荡器使能 wait_hse_ready btjf CLK_ECKR,#01h,wait_hse_ready ;等待高速外部晶体振荡器准备就绪 bset CLK_CSSR,#00h ;时钟安全系统使能 bset CLK_SWCR,#01h ;使能时钟切换的执行 mov CLK_SWR,#0b4h ;主时钟选择位,0xB4:HSE为主时钟源 wait_clk_switch btjf CLK_SWCR,#03h,wait_clk_switch ;等待切换成功 bres CLK_SWCR,#03h ;清除时钟中断标志位 ;将PC设置成无中断的悬空状态,用于TIME1时钟的输入端 bres PC_DDR,#2 bset PC_CR1,#2 bres PC_CR2,#2 ;初始化定时器timer1 mov TIM1_CCMR2,#01h;CCR2配置为输入 bres TIM1_CCER1,#5;选择上升沿极性,并禁止捕获 mov TIM1_SMCR,#67h;配置计数器使用外部时钟模式1,选定TI2作为输入源 mov TIM1_EGR,#1; 允许产生更新事件 mov TIM1_PSCRH,#00h mov TIM1_PSCRL,#01h ;2分频 mov TIM1_ARRH,#27h mov TIM1_ARRL,#10h ;该寄存器的初值为10000,即2710h mov TIM1_CNTRH,#27h ; 设定计数器的初值的高8

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档