




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2 20 01 13 3年年滨滨州州学学院院大大学学生生电电子子设设计计竞竞赛赛: L LE ED D线线阵阵显显示示屏屏设设计计 设计报告设计报告 参赛队员:参赛队员: 张光飞张光飞 专业:专业: 1212应电专应电专4 4 参赛队员:参赛队员: 杨之建杨之建 专业:专业: 1212应电专应电专4 4 参赛队员:参赛队员: 袁袁 欢欢 专业:专业: 1212应电专应电专4 4 日期:日期:2013.05.062013.05.06 摘摘 要要 旋转 led 显示屏是利用机械转动扫描的一种方式,以 AT89C52 单片机为核心,由键盘、 驱动电路、LED 显示、语音模块、超声波、12864 液晶、点阵、红外控制等功能模块组成。 基于题目基本要求,本系统对驱动电路和字形显示进行了重点设计。本系统大部分功能由 软件来实现,吸收了硬件软件化的思想,使电路简单明了,系统稳定性大大提高。本系统 不仅成功的实现了要求的基本功能,发挥部分也得完全的实现,而且有一定的创能。矚慫润厲钐 瘗睞枥庑赖。 关键字:单片机 LED 旋转屏 字形显示 SUMMARYSUMMARY The rotating LED display is a way of using the mechanical rotation scanning, AT89C52 microcontroller as the core, function by the keyboard, drive circuit, LED display, voice module, ultrasonic, 12864 liquid crystal, lattice, infrared control module. Based on the basic requirements, the system is focused on the design of the driving circuit and the font display. This system most of the functions can be realized by software, absorbed the ideas of hardware and software, so that the circuit is simple, the stability of the system is greatly improved. This system not only to achieve the success of the basic functional requirements, play is fully realized, but also have a certain energy.聞創沟燴鐺險爱 氇谴净。 Keyword: MCU LED rotary screen font display 目目 录录 摘摘 要要 .2 2残骛楼諍锩瀨濟溆塹籟。 1 1 系统设计系统设计 .5 5酽锕极額閉镇桧猪訣锥。 1.11.1 设计背景设计背景.5彈贸摄尔霁毙攬砖卤庑。 1.21.2 结构的设计结构的设计.5謀荞抟箧飆鐸怼类蒋薔。 1.31.3 模块方案比较与论证模块方案比较与论证.5厦礴恳蹒骈時盡继價骚。 1.3.11.3.1 显示部分显示部分: :.6茕桢广鳓鯡选块网羈泪。 1.3.21.3.2 芯片的选择:芯片的选择:.6鹅娅尽損鹌惨歷茏鴛賴。 1.3.31.3.3 键盘选择:键盘选择:.6籟丛妈羥为贍偾蛏练淨。 1.3.41.3.4 电机驱动模块:电机驱动模块:.6預頌圣鉉儐歲龈讶骅籴。 1.3.51.3.5 液晶的选择:液晶的选择:.7渗釤呛俨匀谔鱉调硯錦。 1.41.4 创新点创新点.7铙誅卧泻噦圣骋贶頂廡。 2 2 系统的硬件电路设计系统的硬件电路设计.7 7擁締凤袜备訊顎轮烂蔷。 2.12.1 AT89C52AT89C52 单片机系统单片机系统.7贓熱俣阃歲匱阊邺镓騷。 2.22.2 键盘模块键盘模块 .8坛摶乡囂忏蒌鍥铃氈淚。 2.32.3 LEDLED显示驱动显示驱动.8蜡變黲癟報伥铉锚鈰赘。 2.42.4 电机驱动电机驱动.8買鲷鴯譖昙膚遙闫撷凄。 2.52.5 时钟和时钟电路时钟和时钟电路.9綾镝鯛駕櫬鹕踪韦辚糴。 2.62.6 电刷电刷.9驅踬髏彦浃绥譎饴憂锦。 2.72.7 复位电路复位电路.10猫虿驢绘燈鮒诛髅貺庑。 2.82.8 电源电路电源电路.10锹籁饗迳琐筆襖鸥娅薔。 2.92.9 数码管,锁存器数码管,锁存器.11構氽頑黉碩饨荠龈话骛。 2.102.10 超声波测距模块超声波测距模块.11輒峄陽檉簖疖網儂號泶。 3 3 软件系统设计及实现软件设计软件系统设计及实现软件设计 .1111尧侧閆繭絳闕绚勵蜆贅。 3.13.1 工作原理工作原理 .12识饒鎂錕缢灩筧嚌俨淒。 3.23.2 程序流程图程序流程图.12凍鈹鋨劳臘锴痫婦胫籴。 3.33.3 开发软件及编程语言简介开发软件及编程语言简介.13恥諤銪灭萦欢煬鞏鹜錦。 3.43.4 电路图电路图.13鯊腎鑰诎褳鉀沩懼統庫。 3.53.5 主要源程序主要源程序.13硕癘鄴颃诌攆檸攜驤蔹。 3.5.13.5.1 程序说明:程序说明:.13阌擻輳嬪諫迁择楨秘騖。 4 4、测量及其结果分析、测量及其结果分析 .1313氬嚕躑竄贸恳彈瀘颔澩。 4.14.1 基本部分测试与分析基本部分测试与分析 .14釷鹆資贏車贖孙滅獅赘。 4.24.2 发挥部分测试于分析发挥部分测试于分析 .14怂阐譜鯪迳導嘯畫長凉。 5 5 总结总结.1414谚辞調担鈧谄动禪泻類。 6 6、参考文献、参考文献 .1414嘰觐詿缧铴嗫偽純铪锩。 1 1 系统设计系统设计 1.11.1 设计背景设计背景 基于对视觉暂留效果的想象与发挥,在控制器的管理下,完成一些字形的转换与发挥 功能。以及初学者对控制器(单片机)的利用与实践的,以此来满足我对电子设计的热爱, 与好奇之心。熒绐譏钲鏌觶鷹緇機库。 1.21.2 结构的设计结构的设计 设计总体框图如图: 图一系统框图 1.31.3 模块方案比较与论证模块方案比较与论证 1.3.11.3.1 显示部分显示部分: : 显示部分是本次设计最核心的部分,对于 LED 线阵以及数码管显示有以下两种方案: 方案一:静态显示,将一帧图像中的每一个二极管的状态分别用 0 和 1 表示,若为 1 , 单片机 电 刷 电机驱动 13 个 Led 灯 超声波语音控制 键盘 12864 液晶 点阵显示屏 数码管 红外 语音模块 则表示 L ED 无电流,即暗状态;若为 0 则表示二极管被点亮。若给每一个发光二极管一个驱 动电路,一幅画面输入以后,所有 L ED 的状态保持到下一幅画。对于静态显示方式,所需的 译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。鶼渍螻偉阅劍鲰腎邏蘞。 方案二:动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方 式。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁 问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用 多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使 我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发 光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为 50Hz, 发光二极管导通时间1m s 时, 显示亮度较好, 无闪烁感.。 纣忧蔣氳頑莶驅藥悯骛。 经过上述两种方案比较, 我们采用方案二 。 1.3.21.3.2 芯片的选择芯片的选择: 方案一:采取并口输入,能更准确的控制到每一个 led。使 led 旋转屏能呈现更好的效 果。 方案二:选取串口输入,但驱动力弱,对于旋转 LED 显示屏来说不稳定。 经过上述两种方案比较, 我们采用方案一。 1.3.31.3.3 键盘键盘选择选择: 方案一:采用独立式键盘。由于各键相互独立,每个按键各接一根输入线,通过检测 输入线的电平状态可以很容易的判断哪个按键被按下。此种键盘适用于按键较少或操作速 度较高的场合。颖刍莖蛺饽亿顿裊赔泷。 方案二:采用行列式键盘。它由行线和列线组成,按键位于行列的交叉点上,行线信 号和列线信号分别通过两个接口和 CPU 相连,通过行列扫描法判定按键的位置。濫驂膽閉驟羥 闈詔寢賻。 方案三:采用并串转换。将口线数据输入到单片机的串行口,利用串行通信方式 0 扩 展键盘接口,这样节省了 IO 口,但牺牲了速度。銚銻縵哜鳗鸿锓謎諏涼。 综合考虑,采用方案一与方案二的巧妙结合。 1.3.41.3.4 电机驱动模块电机驱动模块: 方案一:使用高耐压复合晶体管芯片 ULN2003 来驱动电机。 方案二:使用 L298N 电机驱动模块。 ULN2003 最大工作电流为 500mA,对于本系统中的直流减速电机驱动能力不足。相反, L298N 电机驱动芯片工作电压高,最高工作电压可达 46V,内含两个 H 桥的高电压电流全 桥式驱动器可以很好的控制本系统中的直流减速电机。挤貼綬电麥结鈺贖哓类。 故采用方案二。 1.3.51.3.5 液晶的选择液晶的选择: 方案一:带中文字库的 128864 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口 方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;利用该模块灵活 的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。不论硬件电 路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块赔荊紳谘 侖驟辽輩袜錈。 方案二:12232 具有 2560 位显示 RAM(DD RAM) ,即 8084 位 具有与 68 系列 或 80 系列相适配的 MPU 接口功能,并有专用的指令集,可完成文本显示或 图形显示的功 能设置 塤礙籟馐决穩賽釙冊庫。 综合考虑,我们采用方案一的串口,既节省了 IO 口,和得到更多的显示信息。 1.41.4 创新点创新点 1.4.1 利用电刷合理巧妙的把单片机和 led 灯的连接; 1.4.2 利用键盘控制,红外遥控,语音控制多项控制模式; 1.4.3 开关控制; 1.4.4 超声波测距离语音提示功能(当人的距离离显示屏两米之内时系统自动提示“为 了您的视觉效果,请到两米以外观看,谢谢” ) ;裊樣祕廬廂颤谚鍘羋蔺。 1.4.5 数码管距离的显示以及转速的显示; 1.4.6 液晶、点阵、显示屏多功能显示的同步结合; 2 2 系统的硬件电路设计系统的硬件电路设计 2.12.1 AT89C52AT89C52 单片机系统单片机系统 系统包括晶体振荡电路、复位开关和电源部分。下图为 AT89C52 单片机。 系统实物 AT89C52片机仓嫗盤紲嘱珑詁鍬齊驁。 2.22.2 键盘模块键盘模块 键盘模块:为了使软件编程简单,每个按键都通过一个 4.7K 的上拉电阻接电源 VCC, 按键的另一端接地。当有键按下时,与该键相连的 P3 口的相应位变为低电平,单片机检测 到该变化后即转到相应的键处理程序,同时在程序中点亮 LED。模块电路如图绽萬璉轆娛閬蛏鬮 绾瀧。 键盘电路 2.32.3 ledled 显示驱动显示驱动 在单片机的 IO 口串联一个电阻与 led 相连,最后接到 VCC 上。当 IO 口为低电平时 点亮 led 灯。 2.42.4 电机驱动电机驱动 L298N 是直流电机和步进电机两用驱动器。分别为 M1 和 M2。引脚 A,B 可用于输入 PWM 脉冲调制信号对电机进行调速控制。实现电机正反转更容易,输入信号 IN1 接高电 平输入段接低电平,电机正传,反之反转。骁顾燁鶚巯瀆蕪領鲡赙。 2.52.5 时钟和时钟电路时钟和时钟电路 时钟是单片机的核心,相当于单片机的心脏,单片机中的晶振为 11.0592M。频率决定 了单片机的运行速度,波形的好坏取决于单片机的稳定性,需要在晶振两个引脚接两个电 容。瑣钋濺暧惲锟缟馭篩凉。 2.62.6 电刷电刷 在电机旋转部分与静止部分之间传导电流的主要部件之一。具有良好的滑动接触特性, 对电阻率和接触电阻等也有特殊要求。鎦诗涇艳损楼紲鯗餳類。 2.72.7 复位电路复位电路 为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第 一功能是上电复位。栉缏歐锄棗鈕种鵑瑶锬。 VCC 上电时,C 充电,在 10K 电阻上出现电压,使得单片机复位;几个毫秒后,C 充 满,10K 电阻上电流降为 0,电压也为 0,使得单片机进入工作状态。工作期间,按下 S,C 放电。辔烨棟剛殓攬瑤丽阄应。 S 松手,C 又充电,在 10K 电阻上出现电压,使得单片机复位。几个毫秒后,单片机 进入工作状态。 2.82.8 电源电路电源电路 由于单片机工作时有一定的电压范围,当外界电源电压波动时会引起单片机复位活不 正常工作。如果我们利用电池供电时,电池会随充电和放电而产生电压波动,因而不能直 接给单片机供电的。为了解决这个问题需要加稳压电路。在输入直流电压和负载之间串联 入一个三极管,用三极管的管压降代替稳压二极。峴扬斕滾澗辐滠兴渙藺。 电源模快 稳压电路 管电路中的稳压电阻 R。当 UI 或 RL 变化引起输出电压 UO 变化时,UO 的变化将反 映到三极管的发射结电压 UBE 上,引起 UCE 的变化,从而调整 UO,以保持输出电压的 基本稳定。詩叁撻訥烬忧毀厉鋨骜。 2.92.9 数码管,锁存器数码管,锁存器 码管是一种半导体发光器件,其基本单元是发光二极管。数码管要正常显示,就要 用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动 方式的不同,可以分为静态式和动态式两类。则鯤愜韋瘓賈晖园栋泷。 锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平 作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓 存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后 是解决一个 I/O 口既能输出也能输入的问题。胀鏝彈奥秘孫戶孪钇賻。 2.102.10 超声波测距模块超声波测距模块 一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可 以开定时器计时,当此口变为低电平时就可以读定时器的值。此时就为此次测距的时间。方 可算出距离.如此不断的周期测,就可以达到移动测量的值了。鳃躋峽祷紉诵帮废掃減。 3 3 软件系统设计及实现软件设计软件系统设计及实现软件设计 3.13.1 工作原理工作原理 利用 AT89C52 单片机作为本系统中的控制模块。LED 电子显示屏显示器为主要的显 示模块,把单片机内部的数据显示出来。在显示电路中,主要靠按键来实现各种显示要求 的选择与切换。本次旋转 led 可以归纳为动态扫描和机械旋转两部分,实质就是机械转动 配合起来的动态扫描技术。稟虛嬪赈维哜妝扩踴粜。 旋转扫描有不同的形式,但我们的显示器件只有一列,由机械转动到某一位置时就显 示该位置的状态,倒下一位置又显示下一位置的状态,即一列图像完成全部图像的显示, 扫描过程由电机转动更换位置来实现的。陽簍埡鲑罷規呜旧岿錟。 在显示转动时,显示内容的稳定与否取决于与 led 发光时间的配合精度,所以用到了 定时器和延时中断的程序的高度调节来得以实现,并且我们外加了 12864 液晶、点阵显示 屏等功能更能支直观的与旋转 LED 显示屏的高度配合得到了完美的效果。沩氣嘮戇苌鑿鑿槠谔應。 3.23.2 程序流程图程序流程图 3.33.3 开发软件及编程语言简介开发软件及编程语言简介 Keil uVision2 是德国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统, 使用接近于传统 c 语言的语法来开发,与汇编相比,C 语言在功能上、结构性、可读性、 可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还 能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51 标 准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境,同时保留了汇编代码高效,快速 的特点。C51 编译器的功能不断增强, 使你可以更加贴近 CPU 本身,及其它的衍生产品。 C51 已被完全集成到 uVision2 的集成开发环境中,这个集成开发环境包含:编译器,汇编 器,实时操作系统,项目管理器,调试器。uVision2 IDE 可为它们提供单一而灵活的开发 环境。钡嵐縣緱虜荣产涛團蔺。 C 语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特 点。它由美国贝尔研究所的 D.M.Ritchie 于 1972 年推出,1978 年后,C 语言已先后被移植 到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作 为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强 的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到 C 语言,适于编写系 统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发懨俠劑鈍触乐鹇烬觶騮。 3.43.4 电路图电路图 见附表一 3.53.5 主要源程序主要源程序 见附表二 3.5.13.5.1 程序说明:程序说明: 当程序开始运行的时候,首先是要程序进行初始化,主要作用就是让程序按照我们设计的 初始值去进行。初始化完成之后,进行数据的输入与接收工作,然后将该数据转换为信号, 再存入显示缓冲区,再根据霍尔元件检测的同步信号,对数据进行校对,如果有数据输入 的话就将数据进行清零。执行完毕后到初始化操作之后重复以上操作。謾饱兗争詣繚鮐癞别瀘。 如果传感器没有检测到数据输入,则直接检测霍尔元件是否有同步信号,有就返回初始化 操作,无就直接读取存储器提取字库,然后进行显示。随后返回到初始化操作之后进行循 环扫描。 呙铉們欤谦鸪饺竞荡赚。 4 4、测量及其结果分析、测量及其结果分析 4.14.1 基本部分测试与分析基本部分测试与分析 6.1.1 基本要求部分的测试与分析: (1)系统上电后,接着按键盘(语音提示,红外)后进入显示模式,当有 Key3、Key4 键按下时,电机可加速减速;莹谐龌蕲賞组靄绉嚴减。 (2)显示方式及内容与理论相符; 4.24.2 发挥部分测试于分析发挥部分测试于分析 (1)多种显示方式分别演示 ,与理论相符; (2) 可实现速度调节,实验结果与理论相符; (3) 可以实现字形左右移动,实验结果与理论相符; (4) 电机的转速的调节可通过随数码管的显示; (5) 键盘,与红外双向控制与理论相符; (6) 超声波语言提示准确; (7) 液晶跟踪显示完美; 5 5 总结总结 在整个设计中我们做了很多的实验,硬件电路出现了很多问题,我们自己制作电刷, 但存在材料的问题,而没有想象的那种效果。和程序转速与显示的时间的巧妙结合。我们 不惜麻烦又从新设计了方案。以此,我们总结出方案的选择的重要性。我们也体会到了团 队的力量。麸肃鹏镟轿騍镣缚縟糶。 在这次大赛中我们学到了很多东西,不单单是印证了时间是检验真理的唯一条件,我 们还见证了团队协作的力量和伟大。納畴鳗吶鄖禎銣腻鰲锬。 6 6、参考文献参考文献 1基于单片机结构的智能系统设计与实现 沈红卫 编 电子工业出版社 2单片机原理与接口技术 黄惠媛 编 海洋出版社 3单片机应用技术 周平 伍云辉 编 电子科技大学出版社 451 单片机入门、提高、开发全攻略 郭天祥 编 电子科技大学出版社 5单片机原理及应用张洪润 孙悦 张亚凡 编 清华大学出版社 5 5 参考文献参考文献 附录一附录一 附录二附录二 #include #define uchar unsigned char #define uint unsigned int #include sbit dianji=P07; sbit jia=P36; sbit jian=P37; sbit dula=P26; sbit wela=P27; sbit f=P23; void delay(uint) ; void shou(); void di1(); void di2(); void di3(); void di4(); void z1(); void z2(); void z3(); void z4(); void z5(); void di5(); /void di6(); void di101(); uint i,j,n,a,b,c; uchar num=0,di=100,gao=5; uchar code table100=祝:滨州学院 ; uchar code table200= 电子设计 ; uchar code table300= 大赛 ; uchar code table400= 圆满成功 ; sbit sclk=P00;/即 lcden sbit cs=P02; /片选信号,使用时 置 1 sbit sid=P01; /即 rw,sid 为串行数据,每次操作都由 3 个字节数据组成 sbit psb=P37; /串并口选择 uchar code table1= 0 xfc,0 x00,0 xfc ; uchar code table2= 0 xfc,0 x00,0 xfc ; /*工*/ uchar code table3= 0 x03,0 x49,0 x49,0 x00,0 x49,0 x49,0 x03,0 xff,0 xff,0 xdc,0 xdc,0 x0c,0 xd4,0 xd8風撵鲔貓铁频钙蓟纠庙。 ; uchar code table4= 0 xff,0 xff,0 xff,0 x00,0 xfe, 0 xfe,0 xf8,0 xff,0 xff,0 xfb,0 xfd,0 xfe, 0 xff,0 xff灭嗳骇諗鋅猎輛觏馊藹。 ; /*电子*/ uchar code table5= 0 xfc,0 x00,0 xfc,0 xf3,0 xf9,0 xf1,0 xef,0 xdf,0 xbf,0 x7f,0 xff,0 x7f,铹鸝饷飾镡閌赀诨癱骝。 0 xcf,0 xdf,0 xdf,0 xcf, 0 x7f,0 xff,0 x7f,0 xbf,0 xdf,0 xef,0 xf1,0 xf9,0 xf3 ; uchar code table6= 0 xfc,0 x00,0 xfc,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfb,0 xf9,0 xfb,攙閿频嵘陣澇諗谴隴泸。 0 xff,0 xff,0 xff,0 xff, 0 xfb,0 xf9,0 x0b,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff ; /*旋转 I*/ uchar code table7= 0 xff,0 xdb,0 xd5,0 x0e,0 xd5,0 xdb,0 xff ; uchar code table8= 0 xfe,0 xfd,0 xfb,0 xff,0 xfb,0 xfb,0 xfe ; /*小人*/ uchar code table10= 0 x03,0 x49,0 x49,0 x00,0 x49,0 x49,0 x03 ; uchar code table11= 0 xff,0 xff,0 xff,0 x00,0 xfe, 0 xfe,0 xf8 ; uchar code table12= 0 xfc,0 xf8 ; uchar code table13= 0 xfc,0 xf4,0 xf8 ; uchar code table14= 0 xdc,0 xdc,0 x0c,0 xd4,0 xd8 ; uchar code table15= 0 xdc,0 xdc,0 x0c,0 xd4,0 xd8 ; uchar code table16= 0 xfb,0 xfd,0 xfe, 0 xff,0 xff ; void delay(uint m) for (j=m;j0;j-) for (n=110;n0;n-); /*电改子*/ void matrixkeyscan() uchar temp; P3=0 xfe; temp=P3; temp=temp if(temp!=0 xf0) delay(10); temp=P3; temp=temp if(temp!=0 xf0 ) temp=P3; switch(temp) case 0 xee: di1(); break; case 0 xde: di2(); break; case 0 xbe: di3(); break; case 0 x7e: di4(); break; while(temp!=0 x10) temp=P3; temp=temp P3=0 xfd; temp=P3; temp=temp if(temp!=0 xf0) delay(10); temp=P3; temp=temp if(temp!=0 xf0 ) temp=P3; switch(temp) case 0 xed: di5(); break; / case 0 xdd: / key=5; / break; / case 0 xbd: / key=6; / break; / case 0 x7d: / key=7; / break; while(temp!=0 xf0) temp=P3; temp=temp P3=0 xf7; temp=P3; temp=temp if(temp!=0 xf0) delay(10); temp=P3; temp=temp if(temp!=0 xf0 ) temp=P3; switch(temp) case 0 xe7: shou(); break; / case 0 xd7: / key=13; / break; / case 0 xb7: / key=14; / break; / case 0 x77: / key=15; / break; while(temp!=0 xf0) temp=P3; temp=temp void di1() /*第 1 题*/ while(1) P1=0 xff ; P2=0 xff; delay(95) ; for(i=0;i3;i+) P1=table1i; P2=table2i; f=1; delay(7) ; di101() ; void di2() /*第 2 题*/ while(1) P1=0 xff ; P2=0 xff; delay(190) ; for(i=0;i14;i+) P1=table3i; P2=table4i; f=1; delay(3) ; void di3()/*第 3 题*/ while(1) P1=0 xff ; P2=0 xff; delay(90) ; for(i=0;i3;i+) P1=table5i; P2=table6i; f=1; delay(3) ; P1=0 xff ; P2=0 xff; delay(90); for(i=4;i12;i+) P1=table5i; P2=table6i; f=1; delay(3) ; P1=0 xff ; P2=0 xff; delay(90); for(i=12;i16;i+) P1=table4i; P2=table6i; f=1; delay(3) ; P1=0 xff ; P2=0 xff; delay(90); for(i=16;i25;i+) P1=table5i; P2=table6i; f=1; delay(3) ; void di4() /*第 4 题*/ while(1) z1(); z2(); z3(); z4(); z5(); void z1() P1=0 xff ; P2=0 xff; delay(940) ; for(i=0;i7;i+) P1=table10i; P2=table11i; f=1; delay(2) ; void z2() P1=0 xff ; P2=0 xff; delay(40) ; P1=0 xfc; delay(2) ; for( a=0;a2;a+ ) P1=table12i; f=1; delay(2) ; void z3() P1=0 xff ; P2=0 xff; delay(40) ; for( b=0;b3;b+ ) P1=table13i; f=1; delay(2) ; void z4() P1=0 xff ; P2=0 xff; delay(40) ; for( c=0;c5;c+ ) P1=table14i; f=1; delay(2) ; void z5() P1=0 xff ; P2=0 xff; delay(40) ; for(i=0;i5;i+) P1=table15i; P2=table16i; f=1; delay(2) ; void di5() /*第 5 题*/ while(1) P1=0 xff ; P2=0 xff; delay(30) ; for(i=0;i7;i+) P1=table7i; P2=table8i; f=1; delay(1) ; P1=_crol_(P1,8); P2=_crol_(P2,8); void key() /*键盘*/ if(jia=0) delay(5); if(jia=0) num+; if(num=4) num=3; while(jia=0) ; if(jian=0) delay(5) ; if(jian=0) if(num!=0) num-; else num=0; while(jian=0); void dispose() /*电机调速*/ switch(num) case 0: gao=5; di=100; break; case 1: gao=70; di=40; break; case 2: gao=100; di=20; break; case 3: gao=200; di=0; break; void qudong() uchar i; if(di!=0) for(i=0;idi;i+) dianji=0 ; for(i=0;igao;i+) dianji=1; void write_com(uchar com) uchar i; uchar i_com; i_com=0 xf8; /写指令发送 1111 1000 cs=1; sclk=0; for(i=0;i8;i+) /1 个字节有 8 位 sid=(bit)(i_com /*(bit)意思为将后面的数强制转换成位,将最高位提出来*/趕輾雏纨颗锊讨跃 满賺。 sclk=0; /sclk 上升沿有效 sclk=1; i_com=i_com1; /依次将 i_com 的每一位从高到低在 sclk 的作用下送给 sid i_com=com; /将所发送的字节高 4 位取出,低 4 位补 0 i_com for(i=0;i8;i+) sid=(bit)(i_com sclk=0; sclk=1; i_com
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生消防安全培训教案课件
- 重庆管理基础知识
- 铸造厂考试试题及答案
- 中级银行从业试题及答案
- 福安国企考试真题及答案
- 2025年成套认知测试题及答案
- 2025年环保型货物海运进口代理及绿色认证合同
- 公司股东股权协议书5篇
- 慢性病防御课件
- 实施指南(2025)《GB-T2828.4-2008计数抽样检验程序第4部分:声称质量水平的评定程序》
- 出资比例的协议合同
- GB/T 10345-2022白酒分析方法
- GB/T 19418-2003钢的弧焊接头缺陷质量分级指南
- 四川省参保单位职工社会保险费欠费补缴申报表
- GA 622-2013消防特勤队(站)装备配备标准
- 《C++语言基础》全套课件(完整版)
- 240农业政策学-张广胜课件
- 垄断经典案例课件
- HSK标准教程5下-课件-L2
- 《你看起来很好吃》剧本
- 毕业设计论文-计算机类
评论
0/150
提交评论