以下为《夏季学期微处理器报告》的无排版文字预览,完整内容请下载
实验报告模板
微处理器应用课程设计
实验报告
姓名:张某某
学号:***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字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《夏季学期微处理器报告》的无排版文字预览,完整内容请下载
夏季学期微处理器报告由用户“grantbunny”分享发布,转载请注明出处