单片机原理及应用课程设计实训报告

上传人:第*** 文档编号:55655177 上传时间:2018-10-03 格式:DOC 页数:21 大小:136.01KB
返回 下载 相关 举报
单片机原理及应用课程设计实训报告_第1页
第1页 / 共21页
单片机原理及应用课程设计实训报告_第2页
第2页 / 共21页
单片机原理及应用课程设计实训报告_第3页
第3页 / 共21页
单片机原理及应用课程设计实训报告_第4页
第4页 / 共21页
单片机原理及应用课程设计实训报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《单片机原理及应用课程设计实训报告》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计实训报告(21页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用课程设计实训报告 班级: 计算机科学与技术 141 班 学生: 组长: 张广建 成员: 张校瑄 成员: 何金蔚 成员: 韩倩倩 实训时间: 2016-2017-2 第 15 周-第 16 周 实训报告 1 目录 第一章 绪论.2 1.1 引言.2 1.2 课题任务要求.2 第二章 系统总体设计.2 2.1 小车的机械特性.3 2.2 所需程序以及使用的芯片.3 2.3 智能小车控制的基本原理.3 第三章 系统硬件设计.3 3.1 控制选择.3 3.2 小车搭建.4 第四章 系统软件设计.4 4.1 Linux 系统 4 4.1 Arduino 软件.12 第五章 实验总结20

2、实训报告 2 第一章第一章 绪论绪论 1.1 引言引言 我们所处的这个时代是信息革命的时代,各种新技术、新思想 层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步 无不是受新技术新思想的推动。 随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。 伴随着电子技术和嵌入式的迅猛发展,这使得汽车日渐走向智能化。 智能汽车由原先的驾驶更加简单更加安全更加舒适,逐渐的向智能 驾驶系统方向发展。智能驾驶系统相当于智能机器人,能代替人驾 驶汽车。它主要是通过安装在前后保险杠及两侧的红外线摄像机, 对汽车前后左右一定区 域进行不停地扫描和监视。计算机、电子地 图和光化学传感器等对红外线摄像 机传来

3、的信号进行分析计算,并 根据道路交通信息管理系统传来的交通信息,代替人的大脑发出指 令,指挥执行系统操作汽车。 1.2 课题任务要求课题任务要求 一是增强学生的动手能力,众所周知,现在企业的招聘需要学 生有动手能力,能够动手参与项目,能够把书本上面的知识更深层 次的理解,并运用到项目中来;二是为了让学生更了解单片机小车 的工作原理。并让学生能够学会在项目中独立、合作完成项目,不 仅仅是完成自己应该完成的项目部分,更要把整个项目流程都深刻 了解,这样才能更好的完成项目。 第二章第二章 系统总体设计系统总体设计 实训报告 3 2.1 小车的机械特性小车的机械特性 小车采用的是一辆四轮车车模,通过

4、2 个电极控制轮胎的转动, 前后轮根据转速不同和运转情况控制小车前进后退或者转弯。 2.2 所需程序以及使用的芯片所需程序以及使用的芯片 VM 虚拟机运行 Linux 系统、Dreamweaver、Arduino,A8 开发板, 小车开发板,小车模版,轮胎及各种接线,电极等等 2.3 智能小车控制的基本原理智能小车控制的基本原理 能够用虚拟机运行 Linux 系统,并把 Linux 写入开发板,搭建服 务器,通过虚拟机编写网页代码控制开发板。通过开发板控制小车 开发板,用软件 Arduino 控制,实现网页控制,有能力的增加辅助 功能;使网页 UI 更加美观等等。 第三章第三章 系统硬件设计系

5、统硬件设计 3.1 控制选择控制选择 通过虚拟机网页控制、蓝牙控制(增加功能) 实训报告 4 3.2 小车搭建小车搭建 3.2.1 基础模块 A8 开发板通过网线连接 PC 虚拟机,Linux 系统移植进入开发板,搭建服 务器,调用 Arduino 开发板。 3.2.2 蓝牙模块 连接蓝牙模块至 A8 开发板,通过串口调试 app 连接蓝牙控制 Arduino 小车。 第四章第四章 系统软件设计系统软件设计 4.1 Linux 系统系统 4.1.14.1.1 LinuxLinux 的环境搭建的环境搭建 ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的

6、路径. linuxubuntu:$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows 下的工作路径如 C:IntelLogs linux 下的工作路径是:/./ :代表的是/home/linux 这个路径.(家目录). 实训报告 5 ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 :上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是 K) drwxr-xr-x 3 linux

7、linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux 系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限 -:没有相对应的权限 w:写权限 x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先

8、根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三 位数 实训报告 6 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx-xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是 1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为 b) 第六八个位置:Dec 4 19:16 时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.

9、新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录 1/目录 2/目录 3 4.删除一个目录:rmdir 目录名./仅删除一个空目录 rm -rf 目录名/删除一个非空目录 5.切换目录(change directory):cd 路径 linux 下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入 Music:cd ./Music 用绝对路径的方式进入 Desktop:cd /home/linux/Desktop 返回上一级:cd 返回加家目录的三种方式 (1).cd (2).cd (3

10、).cd /home/linux 进入到 1 目录里并创建一个 2 普通文件,再退回上一级,并且删除 1 目录 6.拷贝文件. 实训报告 7 cp(copy) 路径 1/源文件 路径 2:把路径 1 下的文件拷贝到路径 2 下 cp 路径 1/源文件 路径 2/目标文件:把路径 1 下的文件拷贝到路径 2 下 并且重命名位目标文件. cp(copy) -r 路径 1/目录名 路径 2:把路径 1 下的目录拷贝到路径 2 下 7.剪切文件 mv(move) 路径 1/源文件 路径 2:把路径 1 下的文件剪切到路径 2 下 mv 路径 1/源文件 路径 2/目标文件:把路径 1 下的文件剪切到路

11、径 2 下 并且重命名位目标文件 mv 源文件 目标文件:重命名文件 mv 路径 1/目录名 路径 2:把路径 1 下的目录剪切到路径 2 下 8.clear:清屏 9.exit 退出终端 vi 编辑器. vi 文件名:如果文件不存在则创建并打开 如果文件已存在,则直接打开 底行模式下的快捷操作 1,对第 a 行到第 b 行进行复制:航标 a,行标 by,enter 回车,再把光标移动 到你想要粘贴位置的上一行,输入 p 即可 2,对第 a 行到第 b 行进行删除:航标 a,行标 bd,enter 回车 3.对第 a 行到第 b 行进行剪切:航标 a,行标 bd,enter 回车,再把光标移动

12、 到你想要粘贴位置的上一行,输入 p 即可 gcc 编译器. gcc 文件名:编译成功的话,会在当前目录生成一个 a.out 可执行程序 执行程序: ./a.out 当然也可以指定可执行程序的名字,命令如下: gcc 文件名 -o 可执行程序名 实训报告 8 linux 系统的库文件: 静态库:.a 结尾 动态库:.so 结尾 自己制作一个动态库. 首先写一个简单的 c 功能函数 编译成动态库:gcc -fPIC -shared 文件名 -o lib 库文件名.so 在 linux 系统下.程序运行时默认搜素库的路径是/lib 把库拷贝到/lib 下:cp lib 库文件名.so /lib 错

13、误提示“:permission denied(权限不足) 方法:sudo cp lib 库文件名.so /lib 提示让你输入密码 1: sudo 暂时将普通用户 的权限提高到 root 用户权限 再编译一个 c 应用程序,在程序中来调用库里实现的函数 gcc 应用程序名 -l 库名(注意是去掉 lib 和.so 的库名) 操作文件: open():打开一个文件 read():/从文件里边读出数据 write()/向文件里写入数据 close()/关闭文件 man 手册: man 2 函数名 open: 头文件 #include #include #include 实训报告 9 1.int o

14、pen(const char *pathname, int flags);/仅限于打开一个已存 在文件 参数 1:文件的路径 参数 2:打开方式的标志 O_RDONLY,/只读方式打开 O_WRONLY,/只写方式打开 O_RDWR./可读可写方式打开 返回值: 打开成功:返回一个正数(文件描述符) 打开失败:-1 2.int open(const char *pathname, int flags, mode_t mode);/可以 打开一个不存在的文件 参数 1:文件的路径 参数 2:打开方式的标志 O_RDONLY,/只读方式打开 O_WRONLY,/只写方式打开 O_RDWR./可读可

15、写方式打开 如果文件不存在必须|O_CRAET,创建该文件 参数 3:权限 数 比如:0666 返回值: 打开成功:返回一个正数(文件描述符) 打开失败:-1 write: 头文件: #include typedef int ssize_t 实训报告 10 ssize_t write(int fd, const void *buf, size_t count); 参数 1:就是 open 函数的返回值,文件描述符 参数 2:你想要写入的数据 参数 3:你想要写入的数据的字节大小 返回值: 写入成功:返回的是写入的字节大小 写入失败:-1 strlen:实际长度 sizeof:数组的大小 4.1

16、.24.1.2 LinuxLinux 的移植及调试的移植及调试 linux 系统的启动步骤 1.运行 uboot(初始化硬件,引导系统内核的加载) 2.内核的运行(zImage,linux 的内核). 3.识别文件系统(类似于 C 盘,D 盘,E 盘).是 rootfs.tgz 系统=内核+文件系统. 挂载系统. 要对 uboot 环境信息进行设置 首先把拨码开关拨到 0000 位置.选择 uboot 的启动方式.uboot 从外存启动. 1.找到自己的 COM 端口号;打开 putty 2.选中 Serial,把波特率改为 115200,端口号改为自己的端口号,Flow contrlo 选择 none 3.开启电源,会出现一个倒计时,在倒计时完成之前,随便敲一个键盘. 4.输入命令 print 可以显示 uboot 的打印信息 确保: 实训报告 11 ipaddr=192.168.1.100/代表开发板的 ip 地址 serverip=192.168.1.200/代表 ubuntu 的 IP 地址 boo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号