- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计工作量要求:
完成硬件电路设计;
完成软件设计;
完成系统仿真;
完成实物制作;(作2
编写设计说明书 。
摘要
随着社会的发展,嵌入式在未来的应用会越来越广泛。随着物联网的时代到来,电器将会与互联网,移动电话成为一体。本次设计以基与嵌入式的简单的流水灯的设计。通过这次的课程设计,使我们基本了解了嵌入式的方法以及培养我们对嵌入式编程的兴趣,与此同时,我们还可以回顾一下C 的编程和汇编编程的基础,为将来在嵌入式的学习和工作中做好准备!
关键字
流水灯,嵌入式,C 编程;
1.2 S3C6410及实验箱介绍
2 系统总体设计
2.1开发环境
1、建立vmware虚拟机
2、使用vmware安装ubuntu
3、安装vmware-tools
4、windows和Ubuntu之间共享文件夹的设置
在虚拟机中,我们可以在/mnt/hgfs/6410目录下访问到我们共享文件夹的内容。如图1所示。
图1
5、安装交叉编译工具
可以通过键入arm-linux-gcc --version)查看一下arm-linux-gcc是否可用。如图2所示。
图2
6、配置网络和tftp
要使网络进行通信和文件传输必须使宿主机和目的主机是相同的网段。这里设置宿主机主机的IP 地址:3 ;目的主机的IP地址:1 ;检查网络是否通,进入终端使用ping命令启动终端窗口。如图3所示。
手动设置PC主机、Linux虚拟机以及实验箱上的Ip地址在同一网段,使它们之间能够相互ping通。
1、设置主机PC的IP。
WIN+r键,进入运行,输入cmd,进入终端查看主机Ip地址,输入ipconfig,如图:
2、手动设置ubuntu虚拟机ip地址
进入ubuntu虚拟机,点击系统-首选项-网络连接
手工配置有线连接1的IP信息
配置信息见下图,配置完成后点击保存。
图3
可以通过键入tftp查看一下tftp是否可用。如图4所示。
图4
2.2 设计原理框图
本系统硬件框图如图5 所示,主要由S3C6410开发板,拨码开关模块,LED显示模块等组成。4个拨码开关分别对应8个LED的四种不同的显示方式。
LED显示
LED显示
模式一
模式二
模式三
4、模式四
S3C6410
S3C6410
4个拨码开关
4个拨码开关
图5
3 软件设计
3.1 设计思路
本次设计的基本思想是,当第一个拨码开关打开时,8个流水实现全亮和全灭的循环显示;否则判断第二个拨码开关是否打开,如果打开,实现流水灯两个从左到右依次循环点亮;否则判断第三个拨码开关是否打开,如果打开,实现流水灯左边四个亮右边四个灭,然后右边四个亮左边四个灭,依次循环;否则判断第四个拨码开关是否打开,如果打开,实现单数的亮双数的灭,然后双数的灭单数的亮,依次循环;否则,流水灯全灭。
程序设计中使用了宏定义定义端口号,编写调用延时函数实现流水灯的循环显示,利用if语句判断拨码开关是否打开。
3.2 模块设计
流水灯流程图如图6所示:
开始
开始
开关1打开?
开关2打开?
开关3打开?
开关4打开?
全亮全灭
结束
从左到右,两个两个依次亮
四个亮,四个灭
单数的亮双数的灭,双数的灭单数的亮
是
是
是
是
否
否
否
否
图6
3.3 程序代码
本次设计的花样流水灯程序代码如下:
//#include /home/hx/9261/linux-2.6.20/include/asm-arm/termbits.h
#include stdio.h
#include stdlib.h
#include string.h
#include pthread.h
#include errno.h
#include unistd.h
#include sys/types.h
#include sys/wait.h
//
#include stdio.h
#include stdlib.h
#include unistd.h
#include ctype.h
#include sys/socket.h
#include sys/stat.h
#include netinet/ip.h
#include fcntl.h
#include errno.h
#include net/if.h
#include string.h
#include sys/types.h
#include sys/ioctl.h
#include sys/io.h
#include linux/rtc.h
#include time.h
#include main.h
文档评论(0)