




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. 嵌入式系统原理与应用综合设计 模拟交通信号灯控制器设计 系 部:电子与信息工程系 专业班级:通信工程 10 秋 1 班 姓 名: 学 号: 小组成员: 指导教师: 完完 成成 日日 期期 2013 年年 6 月月 目录目录 1. 绪论绪论.1 2.课程设计要求及实验设备与器材课程设计要求及实验设备与器材.2 2.1 课程设计题目 2 2.2 课程设计目的 2 2.3 设计要求 2 2.4 实验设备与器材 4 3.硬件系统设计硬件系统设计.5 3.1 设计系统介绍及原理框图 5 3.2armlm3s2110 开发板.6 3.3 液晶屏显示系统 9 3.4 通用输入/输出端口(gpio) .12 3.5 管脚图 13 4.软件设计方案软件设计方案.14 4.1 程序流程图 14 4.2 方案论证 15 4.3 调试过程 15 4.4 运行结果 17 4.4.1结果分析17 4.4.2体会与收获19 参考文献 20 附录附录21 嵌入式系统原理与应用综合设计 0 1. 绪论绪论 嵌入式计算机系统的出现,是现代计算机发展历史山的里程碑。嵌 入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同, 形成了独立的单芯片的技术发展道路。由于嵌入式系统的诞生,现代计 算机领域出现了通用计算机与嵌入式计算机两大分支。不可兼顾的技术 发展道路,形成了两大分支的独立发展:通用计算机按照高速、海量的 技术发展;嵌入式计算机系统则为满足对象系统按照嵌入式智能化控制 要求发展。由于独立的分工发展,20 世纪末,现代计算机的两大分支 都得到了迅猛的发展。 近些年,城市的车流量日益增加,给城市交通带来了巨大的压力, 特别是十字路口的通行能力不足的问题,导致了交通拥堵严重,交通事 故频发等诸多问题,影响到了人们的日常生活和城市的经济发展。与此 同时,交通灯信号控制器作为一种交通控制工具,在疏导车辆,提高道 路导通能力方面的作用也越来越显著。但是,现行的交通灯信号控制器 却存在或多或少的问题,诸如交通灯信号控制器的功能不足、交通灯信 号控制信号控制器的智能化程度不足、不能满足日益增长的车流量控制 等问题,其中交通灯信号控制器的智能化程度则是最为重要的问题,其 程度主要取决于交通信号指挥控制系统的选择,所以如提高交通灯信号 控制器的智能化的关键就在于对交通灯信号指挥系统的选择上,即不同 的对信号控制器功能进行定义设计的电子装置的选择。 嵌入式系统原理与应用综合设计 1 2.课程设计要求及实验设备与器材课程设计要求及实验设备与器材 2.1 课程设计题目课程设计题目 模拟交通信号灯控制器设计 2.2 课程设计目的课程设计目的 通过本次综合设计,运用已学的课程知识,根据题目要求进行软硬 件系统的设计和调试,对嵌入式系统原理与应用课程中涉及的芯片 结构、控制原理、硬件和编程等方面有一定的感性认识和实践操作能力, 从而加深对本课程知识点的理解,使学生应用知识能力、设计能力、调 试能力以及报告撰写能力等方面有显著提高。 2.3 设计要求设计要求 利用实验系统的资源来设计一个“模拟交通灯控制器” 。 控制面板包括:液晶屏、2 组交通灯(每组交通灯包括红和绿 2 个 灯) 、电源按键、电源指示灯和一个运行键。 工作流程如下: (1) 按下电源键,电源指示灯亮; (2) 按运行键,模拟交通灯控制器工作; (3) led 实时显示当前的交通灯状态; (4) 红灯和绿灯的工作顺序如下: 嵌入式系统原理与应用综合设计 2 绿灯先亮50s绿灯闪烁5次 绿灯灭,同时红灯亮10s红灯闪烁5次 图 2.1 红灯工作顺序图 红灯先亮50s红灯闪烁5次 红灯灭,同时绿灯亮10s绿灯闪烁5次 图 2.2 绿灯工作顺序图 (5) 用 2 位数码管实时倒计时间,倒计时流程如下: 绿灯先亮50s绿灯闪烁5次 绿灯灭,同时红灯亮10s红灯闪烁5次 从50s倒计时到00s“00”闪烁 从10s倒计时到00s “00”闪烁 图 2.3 led 等结合数码管工作顺序图 (6) 运行过程中,若再按下电源键,则控制器停止工作,电源指示灯灭。 嵌入式系统原理与应用综合设计 3 2.4 实验设备与器材实验设备与器材 (1) 电源模块 (2) arm 开发板 lm3s2110 (3) 1602 液晶显示 (4) led 灯 嵌入式系统原理与应用综合设计 4 3.硬件系统设计硬件系统设计 3.1 设计系统介绍及原理框图设计系统介绍及原理框图 (1)接通电源时或系统复位后,系统按程序给定的时间工作,即 南北向通行 50 秒,东西向通行 10 秒,工作模式如表 1.1 所示。首先南 北向通行,然后东西向通行,如此循环。 (2)通行时间的设置:当需要更改主、次干道的通行时间时,可 以用“设置键、增加键、减少键”进行设置。 第一次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当 前南北向的通行时间,并且按每秒 2 次的频率闪烁(每秒亮 2 次暗 2 次) ,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和 “减少键”来改变南北向的通行时间。按一次“增加键”或“减少键” , 数码管的显示增加一秒或减小一秒,长按“增加键”或“减少键” (按 下的时间超过一秒钟以上)则数码管显示的时间按每秒钟增加或减少 10 的速度快速变化。 第二次按“设置键”时,南北向的红灯亮,南北向的数码管显示当 前南北向红灯点亮时间,并且按每秒 2 次的频率闪烁每秒亮 2 次暗 2 次) ,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和 “减少键”来改变南北向黄灯的点亮时间。 第三次按“设置键”时,东西向的绿灯亮,东西向的数码管显示当 前东西向的通行时间,并且按每秒 2 次频率闪烁,此时可以用“增加键” 和“减少键”来改变东西向的通行时间。 第四次按“设置键”时,东西向的红灯亮,东西向的数码管显示当 前东西向红灯的点亮时间,并且按每秒 2 次频率闪烁,此时可以用“增 加键”和“减少键”来改变东西向黄灯的点亮时间。 第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态, 嵌入式系统原理与应用综合设计 5 并且南北向先通行,东西向后通行。 “设置键”的功能表图 1.2 所示。 表 1.1 设置键的功能 按“设置 键”的次 数 第 1 次第 2 次第 3 次第 4 次第 5 次 调整内容南北向的 绿灯点亮 时间 南北向的 红灯点亮 时间 东西向的 绿灯点亮 时间 东西向的 红灯点亮 时间 恢复交 通灯工 作状态 调整范围050 秒010 秒010 秒050 秒 图 3.1 交通灯控制系统组成方框图 3.2armlm3s2110 开发板开发板 arm 建设选用 ti lm3s2110 芯片,便于设计和调试。 结构概述 非对齐式数据访问,使数据能够更为有效的安置到存储器中 精确的位操作(bit-banding) ,不仅最大限度的利用了存储器空间 而且还改良了对外设的控制 (1)内部存储器 嵌入式系统原理与应用综合设计 6 64 kb 单周期 flash 可由用户管理 对 flash 块的保护,以 2kb 为单位 可由用户管理对 flash 的编程 可由用户定义和管理的 flash 保护块 16 kb 单周期访问的 sram (2)通用定时器 3 个通用定时器模块(gptm),每个提供 2 个 16-位定时器。 每 个 gptm 可被独立配置进行操作: 作为一个 32 位定时器 作为一个 32 位的实时时钟(rtc)来捕获事件 用于脉宽调解器(pwm) 32 位定时器模式 可编程单次触发定时器 可编程周期定时器 当接入 32.768-khz 外部时钟输入时可作为实时时钟使用 在调试期间,当控制器发出 cpu 暂停标志时,在周期和单次触发 模式中用户可以使能中止。 16 位定时器模式 通用定时器功能,并带一个 8 位的预分频器 可编程单次触发定时器 可编程周期定时器 在调试的时候,当控制器发出 cpu 暂停标志时,用户可设定暂停 周期或者单次模式下的计数 16 位输入捕获模式 提供输入边沿计数捕获功能 提供输入边沿时间捕获功能 16 位 pwm 模式 lm3s2110 微控制器 简单的 pwm 模式,对 pwm 信号输出的取反可由软件编程决定 嵌入式系统原理与应用综合设计 7 兼容 arm firm 的看门狗定时器 32 位向下计数器,带可编程的装载寄存器 带使能功能的独立看门狗时钟 带中断屏蔽功能的可编程中断产生逻辑 软件跑飞时可锁定寄存器以提供保护 带使能/禁能的复位产生逻辑 在调试的时候,当控制器发出 cpu 暂停标志时,用户可以设定 暂停定时器的周期 (3)can 支持 can 协议版本 2.0 part a/b 传输位速率可达 1mb/s 32 个消息对象,每个都带有独立的标识符屏蔽 可屏蔽的中断 可禁止 ttcan 的自动重发模式 可编程设定的自循环自检操作 (4)同步串行接口(ssi) 主机或者从机方式运作 可编程控制的时钟位速率和预分频 独立的发送和接收 fifo,8x16 位宽的深度 可编程控制的接口,可与 freescale 的 spi 接口,microwire 或者 ti 器件的同步串行接口相连 可编程决定数据帧大小,范围为 4 到 16 位 内部循环自检模式可用于诊断/调试 (5)uart 完全可编程的 16c550-type uart,支持 irda 带有独立的 16x8 发送(tx)以及 16x12 接收(rx)fifo,可减 轻 cpu 中断服务的负担 可编程的波特率产生器,并带有分频器 嵌入式系统原理与应用综合设计 8 可编程设置 fifo 长度,包括 1 字节深度的操作,以提供传统的 双缓冲接口。 fifo 触发水平可设为 1/8, 1/4, 1/2, 3/4 和 7/8 图 3.2arm2110 开发板电路图 3.3 液晶屏显示系统液晶屏显示系统 1602 字符型 lcd 模块的应用非常广泛,而各种液晶厂家均有提供 几乎都是同样规格的 1602 模块或兼容模块,尽管各厂家的对其各自的 产品命名不尽相同;1602 字符型 lcd 模块最初采用的 lcd 控制器采用 的是 hd44780,在各厂家生产的 1602 模块当中,基本上也都采用了与 之兼容的控制 ic,所以从特性上基本上是一样的;当然,很多厂商提 供了不同的字符颜色、背光色之类的显示模块。 1602 液晶的基本的操作分为以下四种: 状态字读操作:输入 rs= 低、rw=高、ep=高; 输出:db07 读出为状态字; 数据读出操作:输 入 rs=高、rw=高、ep=高; 输出:db07 读出为数据; 指令写入操作: 输入 rs=低、rw=低、ep=上升沿; 输出:无; 数据写入操作:输入 嵌入式系统原理与应用综合设计 9 rs=高、rw=低、ep=上升沿; 输出:无。 图 3.3lcd 模块的结构尺寸示意图 图 3.4 读操作的时序图 图 3.5 写操作的时序图 1602 lcd 的另外一些特性 嵌入式系统原理与应用综合设计 10 (1)ac 地址指针计数器 地址指针计数器 ac 是可读可写的,它是 ddram(显存)和 cgram 区作 的地址指针计数器,指示当前 ddram 或 cgram 的地址。而指示着哪种存 储器的地址是由 mcu 对 1602 最近写入的地址设置指令的标识码决定的。 地址指针计数器 ac 可以设置成自动加一计数器或自动减一计数器。地 址指针计数器 ac 有两个作用,一是指示当前的 ddram 或 cgram 地址; 二是为光标和闪烁的位置地址指针,指示当前光标和闪烁的位置地址。 (2)显示存储器 ddram 1602 lcd 模块的控制器里拥有 80 个字节的显示 存储器 ddram。ddram 用于存储当前所要显示的字符的字符代码。ddram 的地址由地址指针计数器 ac 提供,mcu 可以对 ddram 进行读写操作。 ddram 各单元对应着显示屏上的各字符位。 (3)字符发生器与 cgram 1602 lcd 模块的控制器内部有两种字符发生器, 一种是 cgrom 即已固化好的字模库,见后面附上的字符表。mcu 控制 1602 时,只需要写入某个字符的字符代码,1602 将以其作为字模库的 地址将该字符输出给驱动器显示。 另一种为 cgram,即可随时定义的 字符字模库,1602 提供了 64 个字节的 cgram,地址为 0x000x3f。它 可以生成 8 个 5x8 点阵的自定义字符或 4 个 5x11 点阵的字模库。由于 1602 仅使用一行 5 位数据作为字符点阵,所以作主 cgram 字模库仅使 用存储单元字节的低 5 位,而高 3 位虽然存在但并不作为字模数据使用。 1602 的控制 ic 提供给 cgram 的字符码为 0x000x07 或 0x080x0f。作 为 5x8 点阵字符的字模库时,cgram 每 8 个字节为一个字符的字模数据, 字模数据的顺序是从上至下排列。每个字符代码都对应着 cgram 的 8 个 字节单元;作为 5x11 点阵的字符的字模库,cgram 每 16 个字节为一个 字符的字模数据,其中前 11 个字节为字模数据存储单元,后 5 个字节 与字模无关。当然,一般 1602 lcd 模块的字符点阵都为 5x8 的为多, 可以在指令中设置,但如 lcd 屏上的字符点阵本来就为 5x8 而无 5x11 时,选用 5x11 是没有意义的或者会出现意想不到的现像。 嵌入式系统原理与应用综合设计 11 3.4 通用输入通用输入/输出端口(输出端口(gpio) gpio 模块由 8 个物理 gpio 模块组成,每个对应一个独立的 gpio 端口(端口 a, 端口 b, 端口 c, 端口 d, 端口 e, 端口 f, 端口 g, 和 端口 h) 。gpio 模块遵循 firm 规范,并且支持 11-40 个可编程的输入/ 输出管脚,具体取决于正在使用的外设。 gpio 模块具有以下的特性: (1)可编程控制 gpio 中断 屏蔽中断发生 边沿触发(上升沿,下降沿,上升、下降沿) (高或低)电平触发 (2)输入/输出可承受 5v 电压 (3)在读和写操作中通过地址线进行位屏蔽 (4)可编程控制 gpio 引脚(pad)配置 弱上拉或下拉电阻 2-ma, 4-ma 和 8-ma 引脚驱动 8-ma 驱动的斜率控制 开漏使能 数字输入使能 嵌入式系统原理与应用综合设计 12 3.5 管脚图管脚图 图 3.6 lm3s2110 管脚图 嵌入式系统原理与应用综合设计 13 4.软件设计方案软件设计方案 4.1 程序流程图程序流程图 初始化lm3s2110 红灯全亮 绿灯全灭 绿灯led3亮 红灯led6亮 等待延时 50s是否到? 绿灯lde3闪烁 红灯lde6闪烁 y n led3、led6闪 烁5次? n y 红灯led4亮 绿灯led5亮 等待延时 10s是否到? n 红灯lde4闪烁5次 绿灯lde5闪烁5次 y 图 4.1 软件流程图 嵌入式系统原理与应用综合设计 14 4.2 方案论证方案论证 电源模块采用单片机控制模块提供电源。改方案的优点是系统简明 扼要,节约成本;缺点是输出功率不高。 显示模块用数码管与点阵 led 相结合的方法因为设计既要求倒计 时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况, 用数码管与 led 灯分别显示时间与提示信息。这种方案既满足系统功能 要求,又减少了系统实现的复杂度。 输入模块采用 4*4 矩阵键盘,由于单片机/嵌入式实践平台的试验 箱对于交通灯及数码管的控制,只用 lm3s2110 芯片本身与试验箱管脚 相连,通过程序就可实现。 综上所述,以 lm3s2110 芯片为核心器件,采用连接 8 段 led 数码 显示管,4*4 矩阵键盘电路组成。利用单片机的优势设计电路直接在管 脚上接上按键开关。因为设计的时候仅见和优化了电路,所以剩余的管 教资源还比较多。由于该系统对于交通灯以及数码管的控制,只需要单 片机本身就可以实现,所以选择这种方案。 4.3 调试过程调试过程 我们的程序分为 2 大部分,第一部分是嵌入式 lm3s2110 芯片上的 led 灯程序的调试;第二部分是试验箱上数码显示管与 4*4 矩阵键盘程 序的调试。 先把嵌入式 lm3s2110 芯片与 pc 机连接,在 pc 机上安装芯片的驱 动,路径为 c:program filesiar systemembedded workbench 5.4 kickstartarmdriversluminaryftdi,设定管脚为 gpiob口的 2 pin1pin4,即为芯片上的 led3led6。我们的程序是先让 led3 和 led6 点亮 50 秒,再闪烁 5 次,再让 led4 和 led5 点亮 10 秒。可是起 初是 led3 和 6 亮完之后就是 led4 和 5 亮,没有闪烁的过程,后来发现 是程序中的延时循环 嵌入式系统原理与应用综合设计 15 出现了问题,然后经过了一次次更改,一次次错误,最后终于成功 的让交通灯正确点亮。 第二部分是把试验箱与嵌入式 lm3s2110 芯片的管脚依次相连。这 次程序还没有调试就有一个大问题出现,就是管脚怎么连接。我们需要 的是 8 位显示管模块和矩阵键盘模块,8 位公阳显示管模块中的段和位 我们分别定义为 gpiod 口的 pin1pin7,gpioe 口的 pin0pin1;矩 阵键盘中的横向以及纵向分别定义为 gpioa 口的 pin2pin5,gpioc 口 的 pin4pin7。然后根据我们找到的资料 ychd-3 和 arm2110 的管脚图 依次相连,然后再连接地线。 第一次的问题是 8 个 8 位数码管一次只能显示一位,可是我们的倒 计时需要十位和个位同时显示,正当我们无从着手时候,有同学给了我 们一个建议:利用人眼的视觉暂留,让数码管不断地刷不断的闪,只要 时间足够短暂那我们看起来就像是 2 位数码管同时亮。改程序,1 秒内 十位个位互相闪烁 50 次,果然成功了。期间有许多失败的经历,就不 赘述了。 第二次的问题是按键与数码管没有互相作用,程序中的提示也是定 义按键为多余的警告。使能了按键后,虽然警告没有了,可是数码管依 然不受按键控制。找了许多同学寻求帮助,虽然找出了我们程序中存在 的问题,但是没有改变现状,又一次的束手无策。最后终于发现原来是 管脚的链接问题,我们忽略了矩阵键盘中的 j1 模块和 j3 模块的短接。 利用跳线帽短接 j1 模块的 2 个管脚和 j3 模块的两个管脚。连接之后重 新烧入程序,调试成功了。 当按下 k1 键时,倒计时 50 秒,按下 k2 键时,倒计时 10 秒,k3 键 40 秒,一次类推,一直到 100 秒。但是因为我们用了 2 位的 8 段数 码管,所以当到 99 秒时候,自动归零。 通过这次交通灯设计,本人在多方面都有所提高。通过这次交通灯 设计,培养综合运用所学知识、独立分析和解决实际问题的能力,培养 创新意识和创新能力,并获得科学研究的基础训练。了解所选择的 arm 芯片各个引脚功能,工作方式,计数/定时,i/o 口,中断等的相关原 嵌入式系统原理与应用综合设计 16 理, 并巩固学习嵌入式的相关内容知识。通过软硬件设计实现利用 arm 芯片 完成交通灯控制功能。首先查阅相关文献资料,熟悉所选 arm 芯片。第 二步总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间 均为 60s,切换时间为 10s,最后 5s 为黄灯闪烁。接下来 系统硬件设 计,熟悉 io 接口,定时器计数器工作原理。最后系统软件设计,包括 交通信号灯的工作流程软件实现,用 c 语言编程。提高了计算能力,绘 图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习, 独立思考的能力也有了提高。 在这次设计过程中,体现出自己单独设计模具的能力以及综合运用 知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发 现自己平时学习的不足和薄弱环节,从而加以弥补。 4.4 运行结果运行结果 4.4.1 结果分析结果分析 把 lm3s2110 芯片与 pc 机连接后,把 led 程序进行仿真,把程序烧 入芯片内,led1 和 led6 点亮(见图 3.7) ,亮 50 秒后,闪烁 5 次。让 led2 和 led5 点亮(见图 3.8) ,亮 10 秒后,闪烁 5 次。依次往复循环。 嵌入式系统原理与应用综合设计 17 图 4.2 模块运行整体图 图 4.3 led2 和 led5 亮 嵌入式系统原理与应用综合设计 18 4.4.2 体会与收获体会与收获 这次课程设计带给我们的不仅仅是对课本知识的加深的理解,也锻 炼了我们对于把书本知识运用到实践中的能力。平时在课堂上学到的东 西有的虽然明白了,但是毕竟没有实际操作经验,操作起来容易出错; 有的只是一知半解,用于实践中就出现了问题。对于知识的理解知识单 纯的停留在书本阶段,自己动手尝试了以后,这些知识对于我们言更加 鲜活生动起来了。 从刚刚开始的无从下手,到逐步的知道自己该做什么,该怎么做。 不断地遇到新的问题,不断地尝试各种方法解决,即使失败了也有了经 验。渐渐的发现问题,解决问题,遇到新问题,再解决问题,这种循环 让我们体会到了靠自觉解决问题的成就感。从实践中直接得到的知识会 比书本上老师传授所得到的知识更容易让我们掌握。 当然专业知识也收获不少,当初的 c 语言学的半吊子,考试阶段的 临时抱佛脚让我们到了关键时刻都不知道各种语句怎么用,可是又不得 不写出来。当然就网上收集资料,学习别人的程序,在别人的模板上逐 渐修改,渐渐地这段程序的绝大多数都是我们自己的成果了。还有一些 作图软件以前从未接触或者有少许接触的通过这次的锻炼也让我们熟练 掌握了它们的用法。 嵌入式系统原理与应用综合设计 19 参考文献参考文献 1周立功主编;arm 嵌入式系统基础教程m(第 2 版) ;北京:北京 航空航天大学出版社;2008. 2张崙编著;32 位嵌入式系统硬件设计与调试m;北京:机械工业出 版社;2005. 3马洪连,等编著;嵌入式系统设计教程m;北京:电子工业出版社; 2006. 4王田苗主编;嵌入式系统设计与实例开发m;北京:清华大学出版 社;2003. 5符意德编著;嵌入式系统设计原理及应用m;北京:清华大学出版 社;2004. 嵌入式系统原理与应用综合设计 20 附附录录 #include “systeminit.h“ #define lcden gpio_pin_0 /pb0; #define lcdrs gpio_pin_1 /pb1; #define led1_periph sysctl_periph_gpiof #define led1_port gpio_portf_base #define led1_pin gpio_pin_1 #define led3_periph sysctl_periph_gpioe #define led3_port gpio_porte_base #define led3_pin gpio_pin_0 #define led4_periph sysctl_periph_gpioe #define led4_port gpio_porte_base #define led4_pin gpio_pin_1 #define led6_periph sysctl_periph_gpiob #define led6_port gpio_portb_base #define led6_pin gpio_pin_3 unsigned char data; /pd0-pd7; unsigned int shi=48+5,ge=48; unsigned char num; unsigned char i; unsigned char ucval; void write_com(unsigned char com) /写命令 gpiopinwrite(gpio_portb_base,lcdrs,0x00); / lcdrs=0; gpiopinwrite(gpio_portd_base,gpio_pin_0|gpio_pin_1|gpio_pin_2| gpio_pin_3|gpio_pin_4|gpio_pin_5|gpio_pin_6|gpio_pin_7,com);/pd=com; sysctldelay(5 * (thesysclock / 4000); / 延时 5ms gpiopinwrite(gpio_portb_base,lcden,0xff); / lcden=1; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_base,lcden,0x00); / lcden=0; void write_data(unsigned char date) gpiopinwrite(gpio_portb_base,lcdrs,0xff); / lcdrs=1; gpiopinwrite(gpio_portd_base,gpio_pin_0|gpio_pin_1|gpio_pin_2| 嵌入式系统原理与应用综合设计 21 gpio_pin_3|gpio_pin_4|gpio_pin_5|gpio_pin_6|gpio_pin_7,date);/pd=date; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_base,lcden,0xff); / lcden=1; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_base,lcden,0x00); / lcden=0; void init() sysctlperienable(sysctl_periph_gpiod); /使能 a 端口 gpiopintypeout(gpio_portd_base, gpio_pin_0|gpio_pin_1|gpio_pin_2| gpio_pin_3|gpio_pin_4|gpio_pin_5|gpio_pin_6|gpio_pin_7); sysctlperienable(sysctl_periph_gpiob); gpiopintypeout(gpio_portb_base, gpio_pin_0|gpio_pin_1); gpiopinwrite(gpio_portb_base,lcden,0x00); / lcden=0; write_com(0x38); /8 位数据,双列,5*7 字形 write_com(0x0c); /显示功能开,有光标,光标闪烁 write_com(0x06); / write_com(0x01); / 开始清屏 void timer0a_isr(void) unsigned char ucval; ucval = gpiopinread(led1_port, led1_pin); / led gpiopinwrite(led1_port, led1_pin, ucval); ucval = gpiopinread(led6_port, led6_pin); / 翻转 led gpiopinwrite(led6_port, led6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); gpiopinwrite(led1_port, led1_pin, ucval); gpiopinwrite(led6_port, led6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void led2flash () unsigned char ucval; 嵌入式系统原理与应用综合设计 22 ucval = gpiopinread(led1_port, led1_pin); / led gpiopinwrite(led1_port, led1_pin, ucval); ucval = gpiopinread(led6_port, led6_pin); / led gpiopinwrite(led6_port, led6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); gpiopinwrite(led1_port, led1_pin, ucval); gpiopinwrite(led6_port, led6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void led3flash () unsigned char ucval; ucval = gpiopinread(led3_port, led3_pin); / led gpiopinwrite(led3_port, led3_pin, ucval); ucval = gpiopinread(led4_port, led4_pin); gpiopinwrite(led4_port, led4_pin, ucval); / 翻转 led sysctldelay(500 * (thesysclock / 3000); gpiopinwrite(led3_port, led3_pin, ucval); gpiopinwrite(led4_port, led4_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void display() write_com(0x80+0x00); write_data(shi); write_com(1); write_com(0x80+0x01);/数据指针 write_data(ge); sysctldelay(1000 * (thesysclock / 4000); ge-; if(ge=47) shi-; ge=57; / 主函数(程序入口) int main(void) clockinit(); / 时钟初始化: 晶振,6mhz sysctlperienable(led1_periph); / led 所在的 gpio 端口 gpiopintypeout(led1_port, led1_pin); / 置 led 所在管脚为输出 嵌入式系统原理与应用综合设计 23 sysctlperienable(led3_periph); / led 所在的 gpio 端口 gpiopintypeout(led3_port, led3_pin); / 置 led 所在管脚为输出 sysctlperienable(led4_periph); / led 所在的 gpio 端口 gpiopintypeout(led4_port, led4_pin); / 置 led 所在管脚为输出 sysctlperienable(led6_periph); / led 所在的 gpio 端口 gpiopintypeout(led6_port, led6_pin); / 置 led 所在管脚为输出 init(); int m=50,n=5,p=10,q=5; while(1) for (;) int sec2; /显示数据,分十位和个位 /总共延时 1s if (p=0) ucval = gpiopinread(led3_port, led3_pin); / led gpiopinwrite(led3_port, led3_pin, ucval); ucval = gpiopinread(led4_port, led4_pin); gpiopinwrite(led4_port, led4_pin, ucval); sysctldelay(100 * (thesysclock / 3000); for(i=0;i5;i+)/设置红灯闪 5 次。 (1 秒闪一下) /倒 计时 write_com(0x85); /设定上排的显示位置 sec0 = q/10; /取十位 sec1 = q%10; /取个位 for (int i=0;i2;i+) write_data(seci+48); /整型数据转换为 asc2 sysctldelay(100 * (thesysclock / 4000); sysct
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药店开药归谁管理制度
- 莆田小型仓库管理制度
- 薪酬管理体系管理制度
- 设备借用流程管理制度
- 设备实行集中管理制度
- 设备整机采购管理制度
- 设备点检维护管理制度
- 设备维护保养管理制度
- 设备防火安全管理制度
- 设计公司科室管理制度
- 2022-2023学年广东省广州市花都区四年级数学第二学期期末考试模拟试题含解析
- 星海音乐学院乐理试题A卷
- 2019年4月27日山东省纪委监委遴选公务员考试真题及答案
- ktv包房服务员岗位职责8篇
- 西安某大跨度钢桁架人行天桥结构设计分析
- 新疆全部及全国部分加气站分布情况6
- 初中学段劳动任务清单(七到九年级)
- 2023年中国各地磁偏角
- 六维领导力专题知识
- 【护士资格考试】云南省精神病医院模拟检测练习题
- 高温高压设备警示牌
评论
0/150
提交评论