单片机实验报告 .docxVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机系统实验》 实验报告 院 系: 学 号: 姓 名: 2017年12月 一、实验目的 了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。 通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。 二、实验设备 STM32实验系统一套,PC机一台。 三、实验原理 (1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。 (2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。) (3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。 (4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。 四、内容与步骤 学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。(2学时) I/O口实验:在建立工程的基础上能点亮发光二极管。(2学时) 定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。(2学时) 外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。(2学时) 串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。(2学时) LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。(6学时) 五、关键代码 I/O口及定时器实验 /*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/ void TIM3_IRQHandler(void) { extern uint8_t LED_Status[5]; if(TIM3-SR0X0001)//溢出中断 { if(LED_Status[1]==0) { LED1_ON; LED2_OFF; LED3_OFF; LED4_OFF; LED_Status[1]=1; } else if(LED_Status[1]==1) { LED1_OFF; LED2_ON; LED3_OFF; LED4_OFF; LED_Status[1]=2; } else if(LED_Status[1]==2) { LED1_OFF; LED2_OFF; LED3_ON; LED4_OFF; LED_Status[1]=3; } else if(LED_Status[1]==3) { LED1_OFF; LED2_OFF; LED3_OFF; LED4_ON; LED_Status[1]=0; } } TIM3-SR=~(10);//清除中断标志位 } 外部中断实验 /*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。通过触发PA8对应的按键来改变LED灯的发光规律。*/ uint8_t LED_Status[5];/*LED状态保存数组,其中LED_Status[0]用于控制发光规律,LED_Status[1]~ LED_Status[4]用于控制4个LED灯的亮灭状态*/ //按键中断函数 void EXTI9_5_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line8) != RESET) //检测中断线8是否发生中断 { if(LED_Status[0]==0) LED_Status[0]=1; else LED_Status[0]=0; //清除中断请求标志 EXTI_ClearITPend

文档评论(0)

卖报的小行家 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档