《单片机系统实验》 实验报告 院 系 学 号 姓 名 217 年 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 口及定时器实验 void TIM3_IRQHandler(void) { extern uint8_t LED_Status[5]; if(TIM3->SR&X1)//溢出中断 { if(LED_Status[1]==) { 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...