基于Arduino单片机交通灯倒计时显示器设计.docVIP

基于Arduino单片机交通灯倒计时显示器设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Arduino单片机交通灯倒计时显示器设计

基于Arduino单片机交通灯倒计时显示器设计   摘 要:本文通过Arduino单片机对数码管的控制实现了交通灯倒计时显示器设计,使数码管可以循环显示数字9-1,并对运行中出现的问题进行分析、解决。   关键词:Arduino;数码管   中图分类号:TP273.5   电子产品智能化使人们可以在炎炎夏日躲在被窝里开启空调调节室内温度,茶余饭后坐在沙发上使用遥控器更换电视频道,开车迷路时可以打开GPS导航寻找出路……其实,生活中很多的电器或者设备的控制并不都需要使用高性能计算机实现,而是采用单片机来实现控制的。在众多的单片机开发工具中,你不需要关心程序的具体实现过程,只需要学会使用单片机提供的工具包即可,简化了开发过程。   1 开发平台及工具简介   1.1 Arduino单片机简介。Arduino是基于AVR指令集单片机的一种开发平台,相对于传统的单片机而言,Arduino基于C/C++这种入门级的程序设计语言基础上进行编程,大量库文件可以直接从网络中下载获得,价格也比普通单片机便宜,软硬件平台均开源,常用的计算机操作系统(Windows、Linux等)均支持Arduino软件。Arduino电路板提供6个模拟输入/输出端口,14个数字输入/输出端口,可以读取传感器、各种开关元件的信号来控制各种电子设备,实现时可以仅开发一个Arduino独立项目,也可以建立与PC机中程序的相互通讯。基于以上优势,Arduino具有很好的发展前景。   1.2 编程语言。要实现设备控制,少不了进行编写程序。在使用Arduino编程语言编程时,很多参数设置均已函数化处理了,只需要用户直接调用即可。要掌握好Arduino编程语言,就需要认真复习C语言语法。Arduino编程语言中运算符号、数据类型、流程控制语句均可参考C语言要求,而Arduino程序的主要结构包括初始化变量、设置管教模式的void setup()函数和类似于C语言中void main()函数功能的循环执行函数void loop()。Arduino编程语言提供数字I/O口输入输出模式的定义函数、模拟I/O输入输出函数、时间函数和数学函数等众多函数。   1.3 主要硬件设备――数码管。数码管是一种用于显示数字0-9(也可包含小数点)的可发光元件,按照段数分有七段数码管和八段数码管,八段数码管多一位小数点。若将数码管的8个发光二极管的阳极并接在一起,8个阴极分开,则为共阳极数码管;若将数码管的8个发光二极管的阴极并接在一起,8个阳极分开,则为共阴极数码管。实际的数码管引脚排列可按以下方法判别:从数码管正面看,左下角第一个引脚为1脚,以逆时针方向依次为1~10脚,其中3脚和8脚连通,称为公共脚。   2 功能和硬件材料简介   2.1 功能简介。通过数码管连线和程序编写,通过程序控制数码管连续循环显示数字9~1,每显示一个数字后间隔1s再显示下一个数字。   2.2 工作原理。通过对数码管特性的分析,将数码管的管脚通过限流电阻的一端连接到数字I/O接口中,公共极接5V(共阳极数码管)或者接GND(共阴极数码管)。对于共阳极数码管来说,通过程序给连接好数码管的数字口设置低电平时,数码管在该管脚和公共极之间就会产生压降,因此可以将数码管相应字段点亮。反言之,通过程序给连接好数码管的数字口设置高电平时,数码管在该管脚和公共极之间则不产生压降,数码管相应字段就不亮。   2.3 硬件材料清单。主要的硬件材料包括:1个Arduino 328控制板、1个原形开发扩展板、1个面包板、1个8位数码管、8个220欧电阻、5根多彩面包板实验跳线、1根USB连接线。   2.4 硬件线路连接。将Arduino 328控制板、原形开发扩展板和面包板连接好,并将USB线接入相应插口。按照数码管的接线规则,从数码管的正面看,将数码管的第10个管脚(即左上角的管脚)连接1个220欧电阻,电阻的另一端连接数字口的第9个引脚。同理,将数码管的第9、7、6个管脚分别通过1个电阻连接到数字口的第8、7、6个引脚。将数码管的第5、4个管脚分别通过1个电阻和1根跳线连接到数字口的第5、4个引脚,第8个管脚(公共极)通过1根跳线与5V接口连接,另一个数码管公共极即第3管脚不做连接。   3 驱动程序开发与运行情况   3.1 驱动程序设计。驱动程序中共定义了9个全局变量,分别对应数码管的各数字段;定义了9个用于显示9~1数字的子函数digital_9~digital_1供loop()函数调用;在执行loop()函数之前,先在setup()函数中设置数字口4~11引脚为输出模式。digital_1子函数代码如下:   void digital_1(void)   { unsigned cha

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档