夏季学期微处理器报告

本文由用户“grantbunny”分享发布 更新时间:2021-01-07 16:06:05 举报文档

以下为《夏季学期微处理器报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

实验报告模板

微处理器应用课程设计

实验报告

姓名:张某某

学号:***620

班级:18计某某C2

2019-2020年夏季学期

实验一:流水灯设计

实验时间:2010.6.18

二:实验环境: CT117E竞赛平台+Win7+Keil4.11

三:实验目的

掌握GPIO的设置

四:实验内容:

实现LED1到LED8依次点亮,并循环,点亮时间间隔约1秒钟。

五:实验步骤:(实验设计,关键代码)

int main(void)

{

unsigned int cnt;

uint16_t led_gpio = LED0; //初始化LED灯

int led_nun = 8; //控制亮灯数量

Init_SysTick(SystemCoreClock/10000); //1ms中断一次

LED_Init(); // 定义一个方法

LED_Control(LEDALL,0); //控制LED灯为低电平

while(1){

cnt = led_nun;

led_gpio = LED0;

while(cnt > 0){

LED_Control(led_gpio, 1); //高某某,灯亮

Wait_Timeout3(10000); //设置间隔时间为1s

LED_Control(led_gpio, 0); //低电平,灯灭

cnt--;

led_gpio = led_gpio CTRL & 0x2 )){ // 中断未启用 //

SysTick->CTRL |= 0x2; //若中断未启用,则启用中断//

}

system_int_cnt = 0; //初始为0,循环次数timeout次//

while( system_int_cnt < timeout){

; }

}

六:实验小结:(主要介绍程序的完成情况,重点、难点以及解决方法,有待改进之处,以及有何收获,体会等)

程序要求已完成,实现八个LED灯间隔1s循环点亮

程序重点和难点是函数void Wait_Timeout3( unsigned int timeout )中各语句的作用以及如何实现LED灯依次点亮,并循环,点亮时间间隔1秒。

解决方法:利用原本的点亮两个灯的程序进行修改,利用同学的帮助研究函数代码的含义并运用

有待改进之处:代码不能完全独立写出,需要借鉴已完成的代码进行修改,对程序的了解还不深刻

收获:明白了GPIO的设置,中断的处理过程

七:参考资料:

Keil开发环境配置及调试&GPIO实验1

实验1LED灯

实验二:USART通信设计

实验时间:

二:实验环境: CT117E竞赛平台+Win7+Keil4.11

三:实验目的

掌握USART的设置

四:实验内容:

设置通信速率为9600bit/s,实现PC机向电路板发‘1’字符,电路板通过USART2发回学生学号;PC机向电路板发‘2’字符,电路板通过USART2发回学生姓名。

五:实验步骤:(实验设计,关键代码)

int main(vo 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 实验小结:(主要介绍程序的完成情况,重点、难点以及解决方法,有待改进之处,以及有何收获,体会等)

成功在LCD液晶屏上显示英文,图形(圆形,三角形,正方形),汉字(学生姓名)。实现多屏显示,隔5秒切换。

本次实验中我通过调用LCD_DrawCircle和LCD_DrawLine函数画出了圆形和正方形,而三角形则通过改变LCD_DrawLine中x,y的坐标实现,名字则通过点阵提取工具获得名字的16进制位某某,通过对LCD_DrawChar理解加以改动,实现了在液晶屏中显示名字。

对三角形的实现还不算理解,通过不断尝试凑数字得以实现,在这方面的问题还需要自己课后再去体会和理解。

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《夏季学期微处理器报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览