基于arm32位单片机的机器人设计毕业设计(编辑修改稿)内容摘要:
下图所示的界面,在 Project Name下键入工程的名字,这里采用默认模式 Project1, 在 Project Directory下键入工程保存的路径: 设置好后,点击 OK,出现如下图: 16 四、 添加自己的源码 点击菜单 Project下的 Add File To Project„„ ,在弹出的窗口中,浏览自己的 Project文件夹下面的程序代码,将代码添加到创建的项目。 这时依次点击 ARMExecutale Image、debug、 Sources 前面的十字架,就会看到自己刚才添加成功的代码,双击任何一个代码文件就可以打开它进行编辑: 17 五、 改 Flash代码 先单击一下主程序窗口 ARMExecutale Image下的 Debug,然后点击如下菜单中的 set: 弹出如下窗口: 18 点击 Entry And Base,在 Read- only下面的框里面输入 0X0C000000,确认即可: 19 六、 编译项目生成初始化目标代码(放在 Flash中) 现在选择菜单 build或者点击快捷图标就可以编译代码,点击 Force build之后就生成了二进制 目标代码( *.bin),这可以在项目文件夹下面找到。 在主程序窗口下面的信息框可以看到编译的情况,包括警告和错误信息,最终代码生成的情况等等; 20 七、 开启 通过并口 JTAG进行硬件调试的,但实际上却是通过以太网的。 这里面有一个转换软件—— ,它把发送到以太网的数据拦截下来,遵从 JTAG协议,转换到并口上面,然后通过 JTAG接口板,控制 ARM板上面的 CPU,进行硬件 Debug。 双击 ,它就在后台运行了。 八、 Debug设置 使用这种方式仿真,还要进行一些设 置才行。 点击 Debug菜单或者快捷图标,出现 ARM Debugger程序窗口: 然后选择菜单 Options下面的 Config Debugger: 弹出如下窗口: 在 Target Environment下面选择 Remote_A,然后点击 Configure: 21 在 Heartbeat前面打勾,在 Ether后面输入你的计算机 IP地址并确认。 这里面肯定要你机子上面装有网卡,而且 IP地址要指定了,如果是自动分配 IP的话,就不太方便了,每次都要查找自己机子的 IP。 22 第四章、 S3C44B0X 内部资源编程 LED显示 (1)实现功能: 在开发板上实现两个 LED的轮流点亮。 (2)实现原理: S3C44BOX芯片上共有71个多功能的输入输出管脚,他们分为7组 I/O端口。 ● 两个9位的输入/输出口(端口E和端口F) ● 两个8位的输入/输出口(端口D和端口G) ● 一个16位的输入/输出口(端口C) ● 一个10位的输出口(端口A) ● 一个11位的输出口(端口B) 每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要。 在运行主程序之前,必须先对每一个用到的管脚的功能进行设置,如果某些管脚的复用功能没有使用,可以先将该管脚设置为 I/O口。 (3)硬件电路: (4)参考程序: void test_led(U8 dat) //dat= 10 ,对应开发板上的 IO 口 { while (1) { rPDATB=0x1dat。 //点亮 LED SMG_Delay()。 SMG_Delay()。 rPDATB=0x0dat。 //关闭 LED SMG_Delay()。 SMG_Delay()。 } } 23。 (1) 实现功能: 使用开发板上的两个键盘来实现对 LED的控制显示。 (2) 实现原理: 由于开发板上的两个键盘连接到 S3C44B0X的 I/O口上,通过读取I /O口的状态来检测键盘有无按下。 (3) 硬件电路: (4)参考程序: int ks() {int a。 a=rPDATG。 a=~a。 return(aamp。 0x0c0)。 //1_key。 0_nokey } //////////////返回键值 int key() {int a,k=0。 a=rPDATG。 a=~a。 if(aamp。 0x80) k=1。 if(aamp。 0x40) k=2。 return(k)。 } 24。 (1) 实现功能: 编写程序使开发板上八段数码管循环显示0到 9,A到 F. (2) 实现原理:。 嵌入式系统中经常使用八段数码管来显示数字或符号,由于它具有显示清晰、亮度高、使用电压低、寿命长、成本低的特点,因此广泛应用于系统设计中。 八段数码管有两中不同的形式:共阴和共阳。 由于开发板上为共阳的数码管,所以这里以共阳的数码管为例进行说明。 当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮; 有两种显示方式:静态显示和动态显示。 静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保持有效。 动态显示则是轮流点亮数码管的方式,由于点亮每个数码管的时间极短(约为 1ms) (3) 硬件电路: 25 硬件中 CS2的地址计算: A18 A17 A16 CS0 0 0 0 0+0x06000000=0x06000000 CS1 0 0 1 216+0x06000000=0x06010000 CS2 0 1 0 217+0x06000000=0x06020200 (4) 参考程序: define rSMG (*(volatile unsigned char *)0x06020200) void SMG_Test(void) { unsigned char i。 unsigned char st[10]={0x12,0x9f,0x31,0x15,0x9c, 0x54,0x50,0x1f,0x10,0x14}。 while(1) { for(i=0。 i10。 i++) { rSMG = st[i]。 SMG_Delay()。 } } } (1) 实现功能: 通过按键来产生中断,控制 LED的显示。 (2) 实现原理: 由于开发板上的两个键盘连在 S3C44B0X的中断口上, 因此可以通过按键来实现中断。 (3) 硬件电路: 26 (4) 参考程序: void Main(void) { /***Vectored interrupt test***/ rINTCON=0x1。 // rINTMOD=0x025|0x021。 /***Vectored interrupt test***/ pISR_EINT4567=(int)Eint4567Isr。 pISR_EINT2=(int)Eint2Isr。 // rINTMSK=~(BIT_GLOBAL|BIT_EINT4567)。 rPCONG=0xffff。 // rPUPG=0x0。 //pull up enable rEXTINT=0x22222222。 //Falling edge mode rINTMSK=~(BIT_GLOBAL|BIT_EINT2|BIT_EINT4567)。 //Service available } ///////////////////中断服务程序 void __irq Eint4567Isr(void) { int i,j。 count++。 if(count==2) count=0。 rEXTINTPND=0xf。 //clear EXTINTPND reg. rI_ISPC=BIT_EINT4567。 //clear pending_bit rPDATE=0x001。 for(i=0。 i200。 i++) //延时 for(j=0。 j10000。 j++)。 rPDATE=0x000。 if(count%2) rPDATB=0x019。 //打开 LED else rPDATB=0x09。 //关闭 LED } 27 第五章 机器人的设计 S3C44B0X开发板。 运用 S3C44B0X开发板自带的 LCD控制器来驱动 320*240的液晶。 运用 UART0来和 PC机进行通信来控制伺服电机。 具体说明如下: S3C44B0X开发板自带的 LCD控制器 液晶显 示屏( LCD:liquid Crystal Display) 液晶显示屏主要用于显示文本及图形信息。 液晶显示屏( LCD)具有轻薄、体积小、低耗电量、无辐射危险、平面直角显示以及影象不稳定不闪烁等特点,因此应用在很多电子应用系统中。 主要类型及性能参数 液晶显示屏按显示原理分为 STN和 TFT两种: STN( Super Twisted Nematic,超扭曲向列)液晶屏 TFT( Thin Film Transistor,超薄晶体管)彩色液晶屏 开发板上选用的液晶显示屏为( LRH9J515XA STN/BW) S3C44B0X 内置的 LCD 控制器。 S3C44B0X 中具有内置的 LCD 控制器,它具有将显示缓存(在系统存储器中)中的 LCD图象数据传输到外部 LCD 驱动电路的逻辑功能。 S3C44B0X 中内置的 LCD 控制器可支持灰度 LCD和彩色 LCD。 在灰度 LCD 上,使用基于时间的抖动算法( timebased dithering algorithm)和 FRC (Frame Rate Control)方法,可以支持单色、 4 级灰度和 16 级灰度模式的灰度 LCD,在彩色 LCD 上,可以支持 256 级 彩色。 对于不同尺寸的 LCD,其具有不同数量的垂直和水平象素、数据接口的数据宽度、接口时间及刷新率,而 LCD 控制器可以进行编程控制相应的寄存器值,以适应不同的 LCD 显示板。 内置的 LCD 控制器提供了下列外部接口信号: VFRAME: LCD 控制器和 LCD 驱动器之间的帧同步信号。 它通知 LCD 屏新的一帧的显示,LCD 控制器在一个完整帧的显示后发出 VFRAME 信号。 VLINE: LCD 控制器和 LCD 驱动器间的同步脉冲信号, LCD 驱动器通过它来将水平移位寄存器中的内容显示到 LCD 屏上。 LCD 控制器在一整行数据全部传输到 LCD 驱动器后发出 VLINE 信号。 VCLK: 此信号为 LCD 控制器和 LCD 驱动器之间的象素时钟信号, LCD 控制器在 VCLK 的上升沿发送数据, LCD 驱动器在 VCLK 的下降沿采样数据。 VM: LCD 驱动器所使用的交流信号。 LCD 驱动器使用 VM 信号改变用于打开或关闭象素的行和列电压的极性。 VM 信号在每一帧触发,也在编程决定数量的 VLINE 信号触发。 VD[3:0]:LCD 象素数据输出端口。 VD[7:4]:LCD 象素数据输出端口。 图 55 LCD 控制器逻辑框图 28 图 55 为 S3C44B0X 中内置的 LCD 控制器的逻辑框图,它用于传输显示数据并产生必要的控制信号,如 VFRAME,VLINE,VCLK,和 VM。 除了控制信号,还有。基于arm32位单片机的机器人设计毕业设计(编辑修改稿)
相关推荐
0x0 _ (0x2020001) ROM( Nandflash): K9F2G08,128字节 ; K9F2G08,256字节。 并没有映射到总线空间,近似认为是个外接 U盘。 在 nandflash启动模式下,上电后只有前 4K代码会自动运行(一般远远大于 4K),所以,其余部分要用户写程序复制到内存运行。 移植 Linux操作系统后,就选择这种模式。 SDRAM连接:地址线并联,数据线串联
算能力。 整体设计融合了 MMU、 AMBA BUS 和 Harvard(哈佛)结构。 具有独立的 16KB 指令 Cache 和 16KB 数据 Cache。 6 其内部结构框图见 图 11: 图 11 S3C2440A结构框图 7 硬件系统整体结构 体系结构: ( 1) 为手持设备和通用嵌入式应用提供片上集成系统解决方案。 ( 2) 16 或者 32 位 RISC 体系结构和 ARM920T
试、实现较难,系 统成本偏高。 视频采集芯片 +ARM 具有完整操作系统功能,拥有完备的网络协议栈和文件系统,功耗低,开发容易,成本较低。 缺少强大的运算能力,很难满足高实时性的场合。 根据上面的方案比较,对于网络视频监测系统来说,方案 1 由于没有强大的操作系统和网络协议栈,因此不太适合做网络视频监测系统;方案 2 是不错的选择,但是该方案采用了两个处理器,不但提高了成本,在设计
系统后,重启系统,将出现如下画面。 图 操作系统启动画面 Figure operating system to start screen 系统烧写成功 卫星接收测试 卫星接收测试的目的是检测接收到卫星的数量,以便在接收到相同卫星的情况下,检测 gps 信号。 测试位置:四川省成都市。 第一次测试:位置 — 室内 卫星数量 0 如下图: 20 图 第一次卫星接收测试 Figure The
远来说,希望操作人员只要给出要完成的任务,而机器能自动形成完成该任务的步骤,并自动完成它。 另一方面是,提高智能移动机器人的适应性,提高智能移动机器人适应环境变化的能力,这是就智能移动机器人与环境的关系而言,希望加强它们之间的交互关系。 智能移动机器人涉及到许 多关键技术,这些技术关系到智能移动机器人的智能性的高低。 这些关键技术主要有以下几个方面:多传感信息耦合技术
所需的宗地 取得费 用 默认值 ; 市场比较法、假设开发法中所需的 默认值 等 ,如表 1。 表 1估价参数数据库 字段 字段类型 字段长度 缺省值 必填 土地还原利率 双精度 10 0 是 地价指数 双精度 10 0 否 容积率修正系数 双精度 10 0 是 楼层分配比例 双精度 10 0 是 房屋的耐用年限 整型 10 0 是 重置价 双精度 10 0 否 残值率 双精度 10 0 否 (