




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南工程职业技术学院 hunan engineering polytechnic毕业设计(论文)设计(论文)题目: 可编程彩灯控制器 系部: 信息工程系 专 业: 应用电子 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩 目 录第一部分 毕业设计开题报告第二部分 设计说明书2013届毕业设计(论文)资料第一部分 毕业设计(论文)开题报告湖南工程职业技术学院毕业设计(论文)开题报告 (2013届)系部: 信 息 工 程 系 专 业: 应用电子 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称: 2013年5月30日题目:可编程彩灯控制器1、综述1976年,intel公司诞生了世界上第一款8位单片机mcs-48。mcs-48单片机以其体积小、功能全、价格低等优点赢得了广泛的应用,为单片机的发展奠定了基础,成为了单片机发展史上重要的里程碑。现在,单片机可以说是百花齐放,百家争鸣的时期,世界上各大半导体公司都竞相研制推出了众多功能强大的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流c51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。当今社会,应用单片机的产品已经渗透到我们生活的各个领域,几乎很难在某个领域找不到单片机的足迹。以单片机为核心的设计系统已使用得如此广泛,如智能仪表、实时工控、无线通信设备、导航系统、家用电器、汽车、等等这些都离不开单片机。洗衣机、电冰箱、空调器、电子玩具、电饭煲、视听音响等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机的应用让我们的生活更加丰富多彩,智能化程度越来越高。单片机具有高集成度、体积小、高可靠性、控制功能强、低电压、低功耗、价格低等诸多优点。单片机将cpu、存储器、i/o接口电路等部件集成在一块半导体芯片上,实际上构成了一个完整的微型计算机。芯片本身是按照工业测控环境要求设计的,内部布线很短,其抗干扰性能优于一般通用的cpu。单片机的程序指令、常数及表格等固化在rom中不易被破坏,许多信号通道均在一个芯片内,故可靠性高。为了满足对对象的控制要求,单片机的指令系统有极丰富的分支转移能力,i/o口的逻辑操作及位处理能力非常适用于专门的控制功能。为了满足广泛使用于便携式设备,许多单片机内部的工作电压仅为1.8v3.6v,而工作电流仅为数百微安。单片机实质上是一块芯片,在实际应用中,通常很少将单片机和被控对象直接进行电气连接,而必须外加各种扩展接口电路、外部设备等硬件并写入软件,才能构成一个单片机应用系统。led发光二级管是一种经常用到的外围器件,用于显示系统的工作状态,报警提示等。用大量的发光二级管组成方阵就构成了一个led电子显示屏,可以显示汉字和各种图形,如体育馆内的大型显示屏。本文提出了一种基于at89c51单片机的简易彩灯控制系统,实现对点阵式led彩灯的控制。此系统又称为可编程彩灯控制器,它通过程序的执行高效地利用单片机的内部资源,如定时器、i/o口和寄存器等,从而达到它的控制要求。2、选题依据、主要研究内容、研究思路及方案自1879年美国科学家爱迪生发明白炽灯以来,便结束了人类“黑暗”的历史,给人类以光明,创造了巨大的财富。如今灯光已成为人们生活中必不可少的家用品。而相续发展起来的循环彩灯也成为时代前沿的时尚艺术,它以现代高科技为基础,随着高技术日新月异的发展,其艺术性和表现力都产生了质的飞跃,实现了艺术上的创新与突破,不断创造出令人惊叹、叫绝的视觉艺术效果,给人们带来了美的享受和心灵上的震撼。伴随着人们生活环境的不断改善和美化,在许多场合可以看到霓虹灯。led彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的 led彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点而且价格昂贵。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。 单片机通过内部编程实现控制每个引脚的高低电平状态。若将单片机的i/o口与led彩灯相连,则可以通过编程随意地控制led灯的亮灭状态,由此实现以单片机为核心的循环彩灯控制系统。由于单片机的可编程性,用户只需通过更改程序就可以实现不同的彩灯循环模式,从而获得良好的观赏效果。同时单片机具有控制功能强、体积小、功耗低和丰富的i/o口资源等诸多优点,因此由单片机设计的彩灯控制器电路结构简单,耗电少,功能多样,能满足不同用户的需求,实为彩灯控制器的不二之选。本次设计主要是通过运用at89c51单片机系统内部编程和led彩灯结合外围电路来设计完成对彩灯按设定的八种模式有规律的循环控制。目前市面上的单片机种类繁多,性能各异,故提出以两种方案:方案一:采用51单片机为控制器的led显示屏。51系列的单片机以其使用灵活、性价比高等优点,在单片机的应用中占有举足轻重的地位。 方案二:采用avr单片机为控制器的led显示屏。在综合了以上两种控制器的优缺点以及本次设计的要求后,我们决定采用51系列单片机中的at89c51作为主控制器。这样既能达到预期设计的功能,且性价比较高。 3、工作进度及具体安排。 5月23日25日 收集资料,确定设计方案和思路,做好准备工作。 5月25日26日 绘制硬件电路原理图和pcb图 5月26日27日 将pcb板图检查后,进行图形转移,并腐蚀电路板。 5月27日28日 将腐蚀后的电路板根据要求焊接元器件。 5月28日29日 通电对电路进行调试 5月29日31日 对所有资料汇总,完成毕业论文,交给老师检查4、 指导老师意见 指导老师:_ 年 月 日5、教研室意见 教研室主任:_ 年 月 日 2013届毕业设计(论文)资料第二部分 毕业论文湖南工程职业技术学院毕业设计(论文)可编程彩灯控制器设计系 (部): 信息工程系 专 业: 应用电子 学 号: 学生姓名: 指导教师: 2013 年 5月- 9 -湖南工程职业技术学院毕业设计(论文)摘 要 城市夜景中,变幻多姿的霓虹灯历来是一道亮丽的风景线。城市对彩灯的需求量越来越大,同时彩灯的花样也越来越多,彩灯控制技术也越来越高。单片机具有体积小、功能强、成本低、应用面广、可编程等优点,可以说,智能控制与自动控制的核心即是单片机。因此把单片机加入到彩灯控制系统中成为必然。led彩灯具有成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点,所以利用单片机作led彩灯控制器,不仅使控制花样、路数大大增加,而且成本低,电路实现简单,有着很大的发展前景。本文提出了一种基于at89c51单片机的可编程彩灯控制系统,实现对led彩灯的控制。本系统以at89c51单片机与独立按键组成核心主控制模块。显示模块由8行8列共64个彩灯构成。在主控模块上设有8个独立按键来控制显示模块上发光二级管的工作模式,用户根据需要可以编写若干种亮灯模式,还可以根据自己的喜好选择彩灯的循环形式。关键词:at89c51单片机,led彩灯,可编程目录第一章 课题研究背景和意义21.1 课题研究背景21.2 课题研究意义2第二章 总体设计方案及主控芯片介绍22.1 方案论证22.2 方案的总体设计框图22.3 主控芯片at89c5122.2.1 主要性能参数22.2.2 功能特性概述22.2.3 at89c51的主要特点22.2.4 引脚功能说明2第三章 硬件电路设计23.1 电源电路23.2 单片机最小应用系统及按键电路23.2.1 晶振电路23.2.2 复位电路23.2.3 按键电路23.3 显示电路2第四章 软件设计24.1 软件开发流程24.2 代码分析24.3 调试与仿真2第五章 硬件电路的制作与调试25.1 pcb板的制作25.2 装配与调试25.3 实验现象2结论2致谢2参考文献2附录2iii 湖南工程职业技术学院毕业设计(论文)第一章 课题研究背景和意义1.1 课题研究背景微型计算机(microcomputer)简称微机,是计算机的一个重要分支。人们通常按照计算机的体积、性能和应用范围等条件将计算机分为巨型机、大型机、中型机、小型机和微型机。微型计算机不但具有其他计算机快速、精确、程序控制等特点,而且还具有体积小、重量轻、功耗低、价格便宜等优点。个人计算机简称pc(personal computer),是微型计算机中应用最广泛的一种,也是近年来计算机领域中发展最快的一个分支。pc在性能和价格方面适合个人用户购买和使用。目前,它已经像普通家电一样深入到了家庭和社会生活的各个方面。而单片机又是pc的一个分支,随着信息技术革命的深入和计算机技术的飞速发展,单片机的应用越来越广泛,并逐渐成为一门关键的技术学科。单片机实际上是指集成在一个芯片上的微型计算机。它的各种功能部件,如cpu、ram、rom、i/o接口电路、定时/计数器等都制作在一块集成芯片上,构成了一个完整的微型计算机,可以实现微型计算机的基本功能。单片机具有一些突出的优点:体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度快、抗干扰能力强、可靠性高,所以在汽车等产品中都可以看到单片机的身影。1.2 课题研究意义循环彩灯在现代社会中有广泛的应用,如大型电子广告牌、霓虹灯、儿童玩具等都有循环彩灯的应用。基于单片机的循环彩灯控制系统的设计利用了单片机的内部资源并结合c语言编程 ,完成了单片机系统开发的基本流程,因此具有典型的代表意义,是学习和开发单片机的基本实验之一。第二章 总体设计方案及主控芯片介绍2.1 方案论证由于单片机的种类繁多,各种型号都有其一定的功能特性和应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说,在选取单片机时应从以下这些方面考虑:cpu、内部ram和rom、中断源的数量、i/o口、保密性、定时/计数器、串行接口、工作电压、功耗、封装形式以及价格等。本次设计中我们提出了以下两种方案。方案一:利用51单片机为控制器的led显示屏。mcs-51系列单片机是专为控制应用所设计的八位cpu,片内含有4kb(8kb/8052)的程序存储器(rom)和128字节可供存储数据的ram(8052:256字节),其rom、ram都可扩充至64k,具有全多工传输信号uart,内部有两组16位定时器(8052有3个)。at89c51隶属于51系列,是美国atmel公司生产的低电压、高性能cmos8位单片机。功能强大的at89c51单片机可为使用者提供许多高性价比的应用场合,可灵活应用于各种控制领域。采用at89c51单片机为本设计的主控芯片,利用单片机灵活的编程设计和丰富的i/o端口及其控制的准确性,可实现彩灯控制的基本要求。方案二:利用avr单片机为控制器的led显示屏。avr单片机是atmel公司推出的risc架构的工业专用单片机,其处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。他有通用寄存器一共32个,前16个寄存器都不能直接与立即数打交道,因而通用性有所下降。以avr单片机作为点阵显示器的控制器,可以明显地改善显示效果,同时可以减少外部电路设计的难度,相应地降低了硬件成本。因此,现在还有很大一部分电子屏使用avr作为控制器。因此,在综合了以上两种控制器的优缺点以及本次设计的要求后,我们决定用方案一,以at89c51单片机为控制器。这样既能达到预期设计的功能,且性价比高。2.2 方案的总体设计框图可编程彩灯控制器总体设计方框图如图1所示,主控制芯片采用单片机at89c51,用一个88led点阵式显示器通过i/o口传送数据实现丰富多样的彩灯循环效果。按键控制电路可改变彩灯循环模式。主 控 制 器 a t 8 9 c 5 1l e d 点 阵 显 示 电 路按键控制电路时钟电路复位电路图1 可编程彩灯控制器系统框图2.3 主控芯片at89c51at89c51是美国atmel公司生产的低电压,高性能的cmos8位单片机,片内含4kbytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度,非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器(cup)和flash存储单元,是当下广为流行的单片机之一。2.2.1 主要性能参数 与mcs-51产品指令系统完全兼容4k字节可重擦写flash闪速存储器1000次擦写周期全静态操作:0hz-24mhz三级加密程序存储器1288字节内部ram32个可编程i/o口线两个16位定时/计数器6个中断源可编程串行uart通道低功耗空闲和掉电模式2.2.2 功能特性概述at89c51提供以下标准功能:4k字节flash闪速存储器,128字节内部ram,32个i/o口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,at89c51可降至0hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。2.2.3 at89c51的主要特点 可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于pc机。系统软件(如:程序指令,常数,表格)固化在rom中,不易受病毒破坏。许多信号的通道均在一个芯片内,故运作时系统稳定可靠。 便于扩展:片内具有计算机正常运行所必需的部件,片外有很多可供扩展用的管脚,很容易组成一定规模的计算机应用系统。 控制功能强:具有丰富的控制指令:如:条件分支转移指令,i/o口的逻辑操作指令,位处理指令。 实用性好:体积小,功耗低,价格便宜,易于产品化。2.2.4 引脚功能说明vcc:电源电压gnd:地rst/vpd(9脚):复位信号/备用电源引脚。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。复位后影响片内特殊功能寄存器的状态,但不影响片内ram的状态。此外该引脚还有掉电保护功能,若在该引脚接+5v备用电源,一旦在使用中突然掉电则可以保护片内ram中的信息不丢失。p0 口:p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8个ttl逻辑门电路,对端口写“1”可作为高阻抗输入端用。 在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,p0 口作为原码输入口,接收指令字节,在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1 口:p1 口是一个带内部上拉电阻的8 位双向i/o 口,p1 的输出缓冲级能驱动(吸收或输出电流)4个ttl逻辑门电路。对p1 端口写“1”,内部上拉电阻把端口拉到高电平,此时可以作为输入口使用。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。flash编程和程序校验期间,p1接受低8位地址。p2 口:p2 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动(吸收或输出电流)4 个 ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉到高电平,此时可以作为输入口使用。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movxri指令)时,p2口线上的内容(也即特殊功能寄存器(sfr)区中r2寄存器的内容),在整个访问期间不改变。flash编程或校验时,p2亦接受高位地址和其它控制信号。p3 口:p3 口是一组带有内部上拉电阻的8 位双向i/o 口,p3口输出缓冲器能驱动(吸收或输出电流)4 个ttl 逻辑门电路。对p3 端口写入“1”时,他们被内部上拉电阻拉高并可作为输入端口。作输入口使用时,被外部拉低的p3口引脚由于内部上拉电阻的原因将输出电流(iil)。 p3口除了作为一般的i/o口线外,更重要的功能是它的第二用途,如下表所示:端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2(外中断0)p3.3(外中断1)p3.4t0(定时/计数器0外部输入)p3.5t1(定时/计数器1外部输入)p3.6(外部数据存储器写选通)p3.7(外部数据存储器读选通)p3口还接收一些用于flash闪存编程和程序校验的控制信号。ale/(30脚):地址锁存允许信号/编程脉冲输入端访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale无效。(29脚):外部程序存储器读选通信号当at89c51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次信号。/vpp(31脚):内部和外部程序存储器选择信号欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件可以使用12v编程电压vpp。xtal1:内部振荡电路反相放大器的输入端。xtal2:内部振荡电路反相放大器的输出端。 第三章 硬件电路设计3.1 电源电路本次设计为了电源的简洁,采用了usb接口为循环彩灯系统电路提供稳定的5v工作电压,这样能使整体电路更简洁,更节约成本,也在一定的程度上减少了硬件设计的复杂性。3.2 单片机最小应用系统及按键电路一个单片机嵌入式系统的核心,其实就是一个单片机的最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。图3-1为at89c51单片机的最小系统电路图。图3-1 单片机最小系统电路图由图可知单片机最小系统应由复位电路、振荡电路构成。另外需要注意对于31引脚(/vpp),当接高电平时,单片机在复位后从内部rom开始执行,当接低电平时,复位后直接从外部rom开始执行。at89c51单片机具有内部程序存储器,因此在使用中不需要再扩展外部存储器,这样在单片机应用电路中31脚可以总是接高电平。3.2.1 晶振电路本设计采用的是内部时钟振荡方式。at89c51中有一个用于构成内部震荡器的高增益反相放大器,引脚xtal1和xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体(或陶瓷谐振器)一起构成自激振荡器,振荡器电路参见下图32。外接石英晶体(或陶瓷谐振器)及电容c1、c2接在放大器的反馈回路中构成并联振荡电路。对外接电容c1、c2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性和起振的难易程度。本系统采用12mhz的晶振,主要是为了方便定时操作。外接电容c1、c2为。图3-2 时钟振荡方式此设计也可以采用外部时钟电路,如图35外部时钟方式所示。这种情况下xtal2接地,外部时钟脉冲接到xtal1端,即内部时钟发生器的输入端,为at89c51提供基准时钟信号。3.2.2 复位电路 在at89c51单片机复位引脚rst出现两个机器周期(24个振荡周期)以上的高电平时,单片机就执行复位操作。在本系统中采用简单的按键电平复位电路。它既可以实现上电复位,又能通过按钮复位。上电复位是利用电容器c1充电来实现。本系统采用的的电容即可满足10ms以上的高电平。按键复位是通过r1和r2形成回路,使reset端产生高电平,按键的时间决定了复位时间。如果rst持续为高电平,单片机就处于循环复位状态。单片机的复位操作使单片机进入初始化状态,其中也包括使程序计数器pc地址为0000h,这表明程序从0000h地址单元开始执行。单片机的复位电路如下图所示。3.2.3 按键电路本系统是在单片机能够维持工作的最小应用系统上,添加8个独立按键来构成核心主控制模块,每一个按键对应一种显示模式。单片机的p1口对按键进行检测来控制显示不同模式的循环效果。按键需要加上上拉电阻,在按键没按下时p1口能维持高电平。 图3-3为系统原理图,在最小系统的基础上添加了输入设备和输出设备。八组led灯即为输出显示设备,由p2口和p0口共同控制。 图3-3 系统原理图3.3 显示电路此显示部分时由一个个led发光二极管构成的,它具有单向导电性,一般通过5ma左右的电流即可发光,一般控制在3ma20ma之间。电流越大,其亮度越强,但若电流过大,会引起二极管或单片机i/o口引脚的烧毁。因此在设计硬件电路时,要在led二极管电路中串接一个限流电阻,阻值在3001之间,调节阻值的大小可以控制发光二极管的发光亮度。在使用数字集成电路时,拉电流输出和灌电流输出是一个很重要的概念,两者都是针对端口而言的,是衡量电路输出驱动能力的参数。由于数字电路的输出只有高、低(0、1)两种电平值,对一个端口而言,如果电流的方向是向其外部流动的则是“拉电流”,一般是对负载提供电流,其提供电流的数值叫“拉电流”。如果电流方向是向其内部流动的则是“灌电流”,一般是要吸收负载的电流,其吸收电流的数值叫“灌电流”。at89c51单片机i/o口内部结构决定了灌电流能力比较大,拉电流能力比较小。所以在实际设计中应当尽量采用灌电流。图3-4为可编程彩灯控制器显示部分。由于at89c51单片机p0口内部没有上拉电阻,呈现高阻状态,所以不能正常地输出高、低电平,因此该组i/o口在使用时务必要外接上拉电阻。本设计采用10k的排阻。显示元件采用88单色led点阵显示器。led点阵显示器单块使用时,既可替代数码管显示数字,也可显示各种中西文字及符号。在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字。 图3-4 显示部分为了保证各个数码管的显示效果不产生闪烁,则首先应保证在1s内循环扫描各行的次数大于25次。这里利用了人眼的视觉滞留效应。本例中选择40次,即至少每隔1000ms/40=25ms将8行循环扫描一次。第二,要注意的是,在25ms时间内,要逐一轮流点亮8行,而且每行点亮的持续时间要相同,这样亮度才能均匀。第三,在25ms内点亮每行的时间,如果这个时间长,则数码管的亮度高,反之则暗。 第四章 软件设计4.1 软件开发流程图4-1为系统主程序流程图,系统上电后初始化,进入按键扫描程序,当有相应按键按下时,执行相应显示方式。本系统共有8个按键,对应8种不同的显示方式。开始否否否否否否否否按键8按键7按键6按键5按键4按键3按键2按键1是是是是是是是是方式8方式7方式6方式5方式4方式3方式2方式1结束图4-1 主程序流程图4.2 代码分析本系统程序代码如下。(1) 函数声明及变量定义#ncludereg51.h void delay_ms(unsigned int); /函数声明void disp0(void);void disp1(void);void disp2(void);void disp3(void);void disp4(void);void disp5(void);void disp6(void);void disp7(void);unsigned char code biao0= /流动箭头方式0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x7e,0xdb,0x99,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;unsigned char code biao148=/渐大四边形0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x3c,0x24,0x24,0x3c,0x00,0x00,0x00,0x7e,0x42,0x42,0x42,0x42,0x7e,0x00,0xff,0x81,0x81,0x81,0x81,0x81,0x81,0xff;unsigned char code biao278=/圆边四边形0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x18,0x24,0x24,0x18,0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x24,0x18,0x00,0x18,0x24,0x42,0x81,0x81,0x42,0x24,0x18,0x24,0x42,0x81,0x00,0x00,0x81,0x42,0x24,0x42,0x81,0x00,0x00,0x00,0x00,0x81,0x42,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x81;unsigned char code biao38=/实体四边形0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff,0xff,0x7e,0x3c,0x18;unsigned char code biao4108=/流动雪花形0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x42,0xa5,0x42,0x18,0x18,0x42,0xa5,0x42,0x04,0x0a,0x44,0xba,0x5d,0x12,0x38,0x10,0x04,0x4a,0xa4,0x58,0x1a,0x25,0x52,0x20,0x04,0x4e,0xe4,0x58,0x1a,0x27,0x72,0x20,0x42,0xa5,0x42,0x18,0x18,0x42,0xa5,0x42,0x42,0xe7,0x42,0x18,0x18,0x42,0xe7,0x42,0x20,0x72,0x27,0x1a,0x58,0xe4,0x4e,0x04,0x10,0x38,0x12,0x5f,0xfa,0x48,0x1c,0x08,0x08,0x1c,0x48,0xfa,0x5f,0x12,0x38,0x10;(2) 主程序本系统主程序主要用来检测按键。当检测到键盘有键按下,经去抖确定为此键按下时,执行相应的功能程序。/*主程序*/void main(void)while (1)switch (p1) /检测按键case 0xfe:delay_ms(10);/去抖动if (p1=0xfe)/此键按下for (;)if (p1=0xfe)/确认此键按下continue;else break;for (;)/按键释放检测while (p1=0xfe);/如为干扰继续循环if (p1=0xfe) continue;else break;/正常释放跳出循环disp0();/执行此按键功能break;case 0xfd:delay_ms(10);/去抖动if (p1=0xfd)/此键按下for (;)if (p1=0xfd)/确认此键按下continue;else break;for (;)/按键释放检测while (p1=0xfd);/如为干扰继续循环if (p1=0xfd) continue;else break;/正常释放跳出循环disp1();/执行此按键功能break;case 0xfb:delay_ms(10);/去抖动if (p1=0xfb)/此键按下for (;)if (p1=0xfb)/确认此键按下continue;else break;for (;)/按键释放检测while (p1=0xfb);/如为干扰继续循环if (p1=0xfb) continue;else break;/正常释放跳出循环disp2();/执行此按键功能break;case 0xf7:delay_ms(10);/去抖动if (p1=0xf7)/此键按下for (;)if (p1=0xf7)/确认此键按下continue;else break;for (;)/按键释放检测while (p1=0xf7);/如为干扰继续循环if (p1=0xf7) continue;else break;disp3();/执行此按键功能break;case 0xef:delay_ms(10);/去抖动if (p1=0xef)/此键按下for (;)if (p1=0xef)/确认此键按下continue;else break;for (;)/按键释放检测while (p1=0xef);/如为干扰继续循环if (p1=0xef) continue;else break;/正常释放跳出循环disp4();/执行此按键功能break;case 0xdf:delay_ms(10);/去抖动if (p1=0xdf)/此键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石化三基考试试题及答案
- 国学知识考试题及答案
- 血管介入治疗在卒中中的应用-1
- 民警预测考试题及答案
- 汉字奇兵考试题及答案
- 外资药企面试题及答案
- 血友病管理的临床应用
- 山东省泰安市宁阳县四中2026届化学高二上期末监测模拟试题含答案
- 2020-2025年消防设施操作员之消防设备高级技能综合练习试卷B卷附答案
- 地理(辽宁卷)(参考答案)
- 房产租赁合同文本与房产租赁合同模板
- 2022年临沧市市级单位遴选(选调)笔试试题及答案
- 重庆市沙坪坝区人民医院消防安全整改工程施工方案
- 施工组织设计施工总体部署完整版
- 天津电网规划设计技术原则
- YY 0054-2010血液透析设备
- LY/T 2383-2014结构用木材强度等级
- GB/T 8017-2012石油产品蒸气压的测定雷德法
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
- DB32-T 3129-2016适合机械化作业的单体钢架塑料大棚 技术规范-(高清现行)
评论
0/150
提交评论