分享
分销 收藏 举报 申诉 / 26
播放页_导航下方通栏广告

类型毕业设计---LED旋转灯.doc

  • 上传人:快乐****生活
  • 文档编号:3011002
  • 上传时间:2024-06-13
  • 格式:DOC
  • 页数:26
  • 大小:198.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    毕业设计 LED 旋转
    资源描述:
    LED旋转显示器的设计 摘要 基于视觉暂留原理,开发出了一种旋转式LED显示屏。在稳定旋转地载体上安装16个LED发光器件,静止时,各列发光管等间距分列排开,随着扫描速度的加快,在计算机软件精确的时序控制下,不断扫描出预设的文字,图案等。磁钢用来完成同步的。当霍尔传感器旋转到磁钢处,感应到它的存在就会恢复到最初状态,即使前一个过程没有显示完成。装在电机上的电路始终在高速旋转,我们就无法使用通常的方法来给电机供电,但可以通过对220V电压降压来完成。交流电压通过变压器降为9V,再通过桥式整流和7806降为6V,供直流电机使用。采用时钟芯片DS1302以及电池能准确显示时、分、秒。 关键字:视觉暂留,直流电机,桥式整流。 LED Rotating Display Abstract Based on the persistence of vision principle, developed a rotating LED display. Vector rotation in a stable way to install a LED light-emitting device, static when glibenclamide LED rows equally spaced points, with the scan rate speeds up, the computer software under the control of precise timing, and constantly scan the default text, patterns and so on. Magnet is used to complete the synchronization. When the Hall sensor to a rotating magnet Division, induction into its existence will be restored to its original state, even if the former does not show the completion of a process. Installed in the motor circuit is always in high-speed rotation, we can not use the usual method to give electrical power supply, but can be done step-down voltage of 220V. AC voltage through the transformer reduced to 9V, then through the bridge rectifier and 7806 fell to 6V, for the use of DC motors. It uses DS1302 to display hour, minute and second excellently. Key words: persistence vision, DC motor, Bridge rectifier. 目 录 摘要 I Abstract II 目 录 III 引言 1 1 系统硬件电路的设计 1 1.1 系统硬件框图 1 1.2 主控单元 2 1.3 驱动模块 5 1.4 霍尔传感器模块 6 1.5 显示模块 8 1.6 电源模块1 10 1.7 电源模块2 11 2 系统程序的设计 12 2.1 程序的分步完成 12 2.2 程序流程图 12 3 性能调试与分析 13 3.1 程序的检查与修改 13 3.2 硬件的焊接与检查 14 总结 15 参考文献 - 1 - 致谢 - 2 - 附录 - 3 - 附录一 元器件清单 - 3 - 附录二 硬件原理 - 4 - 附录三 程序 - 5 - 引言 目前,单片机技术如火如荼,蓬勃发展,其电子产品如雨后春笋地出现,正潮水般的涌入各个领域。其电子产品以灵敏、结构简单易制、成本低、可靠性强等优点迅速占领电子市场,给人们生活带来了极大的方便,深受人们的青睐。 此次作品以宏晶科技STC89C52RC单片机为主控单元,还有DS1302时钟芯片,利用视觉暂留效应,精确的显示北京时间。 论文共分为7个部分,主要内容包括:系统硬件电路的设计、系统程序的设计、性能调试与分析、结束语、参考文献、致谢、附录。 1 系统硬件电路的设计 1.1 系统硬件框图 系统硬件框图如图1.1所示。 3.2V 电源 6V 电源 DS1302时钟芯片 直流电机 单片机STC89C52 LED显示 4.5V 电源 霍尔传感器 图1.1 系统硬件框图 1.2 主控单元 单片机以其集成度高、功能强、可靠性高、体积小、功耗低、价格廉、使用灵活等一系列优点得到迅速的发展,渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统等,这些都离不开单片机。 此次设计主要采用宏晶科技的STC89C52RC单片机为主控单元。 STC89C52RC的芯片管脚图如图1.2所示。 图1.2 STC89C52RC的芯片管脚图 1 一个8位的微处理器; 2 片内数据存储器RAM,用以存放可以读/写的数据,如运算的中间结果、最终结果以显示的数据等; 3 片内程序存储器ROM/EPROM,用以存放程序、一些原始数据和表格; 4 四个8位并行I/O接口P0~P3,每个口可以用作输入,也可以用作输出; 5 两个(或三个)定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制; 6 五(或六)个中断源的中断控制系统; 7 一个全双工UART接口(通用异步接收发送器)的串行I/O,用于实现单片机之间或单片机与微机之间的串行通信; 8 片内振荡器和时钟产生电路,但石英晶体和微调电容须要外接。可以看出STC89C52RC系列单片机也是一款功能强大的单片机。 特点: l 1.增强型6时钟/机器周期,12时钟/机器周期8051CPU。 l 2.工作电压:5.5V-3.4V(5V单片机)/3.8V-2.0V(3V单片机)。 l 3.工作频率范围:0-40MHz,相当于普通8051的0-80MHz,实际工作频率可达48MHz。 l 4.用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节。 l 5.片上集成1280字节/512字节RAM。 l 6.通用I/O口(32/36个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是开路输出,作为总线扩展用时,不加上拉电阻,作为I/O口用时,需加上拉电阻。 l 7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片。 l 8.EEPROM功能。 l 9.看门狗。 l 10.内部集成MAX810专用复位电路(D版才有),外部晶体20M以下时,可省外部复位电路。 l 11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。 l 12.外部中断4路:下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒。 l 13.通用异步串行口(UART),还可用定时器软件实现多个UART。 l 14.封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44。 引脚功能说明: VCC——电源电压 GND——地 P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接“上拉电阻”。 P1口——P1口是一个内部带上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 P1.0和P1.1的第二功能: P1.0 T2(定时/计数器2外部计数脉冲输入),时钟输出 P1.1 T2EX(定时/计数2捕获/重装载触发和方向控制) P2口——P2是一个内部带上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。 FLASH编程或校验时,P2亦接收高位地址和一些控制信号。 P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。 P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通信号) P3.7 RD(外部数据存储器读选通信号) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。D0置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP——外部访问允许,欲使CPU访问外部程序存储器(地址0000H-FFFFH),EA端必需保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。 STC89C52RC/RD+系列单片机是STC mirco推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。 1.3 驱动模块 单片机的时钟有一个11.0592MHz的晶振和两个30PF的小电容阻成,它们决定了单片机的工作时间精度为1Us。单片机内各部件之间有条不紊地协调工作,其控制信号是在基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序,而产生这种基本节拍的电路就是振荡器和时钟电路。 STC89C52单片机内部有一个用于构成振荡器的单级反相放大器。 引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,够成一个自激振荡器。 内部振荡器等效电路图如图1.3所示。 图1.3 内部振荡器等效电路图 此振荡器由XTAL1端向内部时钟电路提供一定频率的时钟源信号。另外振荡器的工作还可以由软件控制,当对单片机内电源控制寄存器PCON中的PD位置1时,可停止振荡器的工作,使单片机进入省电工作状态,此振荡器称为内部振荡器。 单片机也可以通过外部振荡器向内部时钟电路输入固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时钟电路,而XTAL2端浮空即可。 片内振荡器频率是由外接石英晶体的频率决定的,其频率值可在0~24MHz之间。当频率稳定性要求不高时,可选用陶瓷振荡器。 片内振荡器对构成并联谐振电路的外接电容C1和C2要求并不严格。外接晶体时,C1和C2的典型值为30PF左右;外接陶瓷振荡器时,C1和C2的典型值为47PF左右。而且在设计印刷电路板时,晶体(或陶瓷)振荡器和电容应尽可能安装得靠近单片机,以减少寄生电容,保证振荡器的稳定性和可靠性。 1.4 霍尔传感器模块 霍尔传感器处于工作状态时,输出总是处于高电平状态,当磁钢N极接近传感器正面的有效距离,输出端变为低电平。当磁钢撤离传感器有效距离,输出端又显示低电平,从而产生下降边沿,使单片机中断口接收到下降沿,从而发出中断,使得电路能够同步。当霍尔传感器感应到N极时会回到原始状态,达到复位的功能。 霍尔传感器是一种磁传感器。它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔传感器以霍尔效应为其工作基础,是由霍尔元件和它的附属电路组成的集成传感器。霍尔传感器在工业生产、交通运输和日常生活中有着广泛的应用。此次实验中运用了AH3144单极性霍尔开关电路。 AH3144E、AH3144L是由电压调整器,霍尔电压发生器,差分放大器,施密特触发器和集电极开路的输出级组成的磁敏感电路,其输入是磁感应强度,输出是一个数字电压讯号。它是一种单磁极工作的磁敏感电路,适合于矩形或者柱形磁体下的工作。AH3144L的工作温度范围为-40~150℃,可用于汽车工业和军事工程中。它们有两种封装形式:TO-92UA和TO-92T。 霍尔传感器功能方框图如图1.4所示。 图1.4传感器功能方框图 霍尔传感器引脚解析图如图1.5所示。 图1.5引脚解析 如图1.6所示,其中Bnp为工作点“开”的磁感应强度,Bnp为释放点“关”的磁感应强度。 图1.6 霍尔传感器特性曲线 当外加的磁感应强度超过动作点Brp时,传感器输出为低电平,当磁感应强度超过动作点Brp时,传感器输出高电平,当磁感应强度降到动作点Bnp以下时,传感器输出电平不变,一直要降到释放点时,传感器才由低电平跃变为高电平。Brp与Bnp之间的滞后使开关动作更为可靠。 另外还有一种“锁键型”(或称“锁存型”)开关霍尔传感器,其特性如图1.7所示。 图1.7 锁存型霍尔传感器特性 特点: 电源电压范围宽。 开关速度快,无瞬间抖动。 工作频率宽(DC~100KHz)。 寿命长,体积小,安装方便。 能直接和晶体管及TTL、MOS等逻辑电路接口。 1.5 显示模块 LED显示器具有功耗低,接口控制方便等优点,而且模块的接口信号和操作指令具有广泛的兼容性,并能直接与单片机接口,可方便地实现各种不同的操作,在各类测量及控制仪表中被广泛的应用。当在LED上显示汉字时,应先取得汉字的点阵构成数据,然后将其写入显示存储器中进行显示。 旋转LED显示器是一种通过同步控制发光二极位置和点亮状态来实现图文显示的新型显示器,其结构新颖,成本低廉,可视角度达360°。 本设计采用16个并排发光二极管,利用人眼的“视觉暂留效应”显示文字及图案。 显示模块如图1.8所示。 图 1.8 显示模块框图 由于采用时钟芯片DS1302,可以准确的显示北京时间。 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM。通过简单的串行接口与单片机进行通信:实时时钟/ 日历电路提供秒、分、时、日、日期、月、的信息,每月的天数和闰年的天数可自动调整:时钟操作可通过AM/PM指示决定采用24或者12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES(复位);(2)I/O(数据线);(3)SCLK(串行时钟)。时钟/RAM的读/写数据以一个字节或多达31字节的字符组方式通信:DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。 主要性能指标: 实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。 31×8位暂存数据存储RAM。 I/O串行口方式使得管脚数量最少。 工作电压范围:2.0~5.5V。 工作电流:2.0V时,小于300mA。 读/写时钟或RAM数据时,有两种传送方式:单字节传送和多字节传送(字符组方式)。 8脚DIP封装或可选的8脚SOIC封装(根据表面装配)。 简单3线接口。 与TTL兼容:(Vcc=5V)。 可选工业级温度范围:-40℃~+85℃。 与DS1202兼容。 在DS1202基础上增加的特性: —对Vcc1有可选的涓流充电能力。 —双电源管用于主电源和备份电源供应。 —备份电源管脚可由电池或大容量电容输入。 —附加的7字节暂存存储器。 DS1302的管脚排列及描述如图1.9所示。 图1.9 DS1302引脚图 DS1302引脚描述如表1.1所示。 表1.1 管脚描述 引脚 说明 X1,X2 32.768KHz晶振管脚 GND 地 RST 复位脚 I/O 数据输入/输出引脚 SCLK 串行时钟 Vcc1,Vcc2 电源供电管脚 2 系统程序的设计 2.1 程序的分步完成 1.对于程序的编写有些茫然,所以上网搜了些资料经过仔细研究后大致知道程序可以分为几个模块,对于以后的编写有了一定的启发。 2.编写了程序显示了一个字,观察二极管是否能有规律的闪烁,从而确定硬件电路的准确性。 3.编写程序测试一次最多能显示多少字,以及测试霍尔传感器的转速。 4.对一些基本性能了解后开始程序的编写。 2.2 程序流程图 首先对所要编写的程序作一个系统的了解。 程序流程图如下图2.1所示。 初始化 送码表显示 标志位置0 标志位=0 等待 Y N 2.1 程序流图 3 性能调试与分析 3.1 程序的检查与修改 一个工程的完成不可能一步达成,正如俗话说“不积跬步,无以至千里”。所以整个程序的编写也是一步一个脚印,最后攀登上胜利的高峰。 程序是在Keil51让软件上编写的,它具有仿真、编译及检错的功能。 从一开始显示的乱码到一步一步的修改直至最后程序的出来我们付出了很多心血,终于皇天不负有心人。 在编写程序的时候遇到了两个比较大的问题:一个是送数,另一个是时间。 1.直流电机的转速决定了最多能显示多少个字,而且只有在霍尔传感器感应到N极的时候才能送数,否则就无效。 2.这次设计对于时间的控制很严格,时间决定我们是否能正确的显示汉字。因为是基于视觉暂留效应,如果延时太长就不能看清楚字,所以要控制显示的字的数目。 3.2 硬件的焊接与检查 1.晶振短路 万用板上插孔之间有的已经通过锡导通,在焊接时没有用电烙铁把锡挑掉,造成晶振短路,还好发现及时,并没有造成严重后果。 2.发光二极管共阴、共阳发生错误 原理图中二极管共阴连接。焊接完成后,芯片引脚出来的是低电平,二极管又共阴连接,导致二极管不亮,后来把二极管改成共阳的。 3.P0口未接上拉电阻 画原理图时没有考虑周全,P0口未接上拉电阻,焊接完成后,编写小程序时发光二极管不能正常显示。 4.霍尔传感器反接 由于网上下载的资料错误,外加对霍尔传感器知识的不扎实,导致霍尔传感器反接。多次检查之后,终于发现并改正了这个错误。 5.发光二极管顺序错误 芯片上P0口从上到下顺序为0~7,而P2口从上到下的顺序为7~0,由于焊接时的疏忽,只参照了原理图上芯片的引脚排布,没有注意到实际的,导致程序编写进去后,显示的是乱码,不是正常的汉字。 6.重新制作 整个作品完成后,基本功能都已完成,唯一的缺点是显示的字不好看。因为采用大的发光二极管,直径太靠近转轴,字体变形。电路布线合理且经过调试了,如果把大的二极管换成小的会影响整个布线,这样就比较麻烦了,为了追求更美观、完美,所以决定重新焊一个。 7.发光二极管亮度不够 重新焊接完成后,字形显示改观了,但又遇到一个新问题,发光二极管亮度不够,只有在黑暗条件下才能看清。所以最后换成了贴片的,现在效果明显好转,亮度均匀。 附录 附录一 元器件清单 元件名称 型号(大小) 数量 电阻 200 16个 电阻 1K 1个 电阻 2K 1个 电阻 10K 1个 排阻 1个 瓷片电容 30pF 2个 瓷片电容 104 2个 电解电容 10uF 1个 电解电容 1000uF 1个 电解电容 470uF 1个 发光二极管(贴片) LED 16个 二极管(NPN) In4007 4个 稳压管 7806 1个 霍尔传感器(开关) Ah3144 1个 单片机 STC89C52RC 1个 时钟芯片 DS1302 1个 普通开关 2个 复位开关 1个 晶振 12MHz 1个 晶振 32.768KHz 1个 万用板 1块 导线 若干 变压器 1个 插头 1根 杜邦头 若干 杜邦线 若干 芯片底座 1个 插针 若干 干电池底座 1个 干电池 1.5V 3节 电池 3V 1个 电池底座 1个 散热片 1个 直流电机 6V 1个 附录二 硬件原理 附录三 程序 #include<reg51.h> #include"time.h" #define uchar unsigned char #define uint unsigned int uchar a,b,c,g,e,f; uchar code shu[10][32]= {{0x00,0x00,0x00,0x00,0x00,0xFC,0x02,0x02,0x02,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00}, //0 {0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, //1 {0x00,0x00,0x00,0x00,0x00,0x0C,0x82,0x42,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00}, //2 {0x00,0x00,0x00,0x00,0x00,0x0C,0x02,0x22,0x22,0x52,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00}, //3 {0x00,0x00,0x00,0x00,0x00,0xE0,0x90,0x88,0xFE,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x04,0x04,0x00,0x00,0x00,0x00,0x00}, //4 {0x00,0x00,0x00,0x00,0x00,0x3E,0x22,0x12,0x12,0x12,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00}, //5 {0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x44,0x22,0x22,0x22,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00}, //6 {0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x02,0xC2,0x32,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, //7 {0x00,0x00,0x00,0x00,0x00,0x98,0x64,0x44,0x44,0x64,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00}, //8 {0x00,0x00,0x00,0x00,0x00,0x78,0x84,0x84,0x84,0x44,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00}}; //9 uchar code zi[]={ 0x00,0x00,0x10,0x10,0x10,0xFE,0x00,0x00,0xFE,0x40,0x20,0x10,0x08,0x00,0x00,0x00, 0x00,0x00,0x02,0x02,0x7A,0xCA,0x4A,0xCB,0x4A,0xCA,0x7A,0x02,0x02,0x00,0x00,0x00 0x00,0x00,0x00,0xFC,0x44,0x44,0xFC,0x08,0x28,0x48,0x08,0xFE,0x08,0x08,0x00,0x00, 0x00,0x00,0x00,0xF8,0x02,0x04,0xF0,0x52,0x52,0x52,0xF2,0x02,0xFE,0x00,0x00,0x00, 0x00,0x00,0x02,0x02,0x02,0x0F,0x00,0x00,0x0F,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0x04,0x02,0x01,0x04,0x04,0x07,0x00,0x00,0x01,0x02,0x04,0x00,0x00,0x00, 0x00,0x00,0x00,0x03,0x02,0x02,0x03,0x00,0x00,0x02,0x04,0x07,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0F,0x00,0x00,0x03,0x02,0x02,0x02,0x03,0x08,0x0F,0x00,0x00,0x00}; uchar code shi[]={ 0x00,0x00,0x00,0xFC,0x44,0x44,0xFC,0x08,0x28,0x48,0x08,0xFE,0x08,0x08,0x00,0x00, 0x00,0x00,0x00,0x03,0x02,0x02,0x03,0x00,0x00,0x02,0x04,0x07,0x00,0x00,0x00,0x00}; uchar code fen[]={0x00,0x00,0x20,0x10,0x2C,0x23,0xE0,0x20,0x20,0x23,0xEC,0x10,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x04,0x02,0x01,0x00,0x00,0x02,0x04,0x03,0x00,0x00,0x00,0x00,0x00}; uchar code miao[]={0x00,0x00,0x80,0x4A,0x2A,0xFF,0x29,0x48,0xBC,0x00,0x7F,0x00,0xC4,0x18,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x04,0x04,0x02,0x01,0x00,0x00,0x00,0x00}; bit s; uchar dat,m=0; void delay(void) //误差 -0.868055555556us { unsigned char a,b; for(b=1;b>0;b--) for(a=227;a>0;a--); } void init(void) { s=0; EA = 1; EX0 = 1; IT0=1; } void zhongduan(void) interrupt 0 { s=1; } void main(void) { init(); ds1302_write_time(); while(1) { P0=0XFF; P1=0XFF; ds1302_read_time(); a= time_buf1[6]; b= time_buf1[7]; c= time_buf1[8]; g= time_buf1[9]; e= time_buf1[10]; f= time_buf1[11]; while(s==1) { uchar j=64; uchar d,h; for(h=0;h<64;h++) { P0=~zi[h]; P1=~zi[j]; j++; delay(); } j=16; for(d=0;d<16;d++) { P0=~shu[a][d]; P1=~shu[a][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~shu[b][d]; P1=~shu[b][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~shi[d]; P1=~shi[j]; j++; delay(); } j=16; for(d=0;d<16;d++) { P0=~shu[c][d]; P1=~shu[c][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~shu[g][d]; P1=~shu[g][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~fen[d]; P1=~fen[j]; j++; delay(); } j=16; for(d=0;d<16;d++) { P0=~shu[e][d]; P1=~shu[e][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~shu[f][d]; P1=~shu[f][j]; delay(); j++; } j=16; for(d=0;d<16;d++) { P0=~miao[d]; P1=~miao[j]; j++; delay(); } s=0; } } } #include <reg51.h> #include<intrins.h> sbit SCK=P2^0; sbit SDA=P2^1; sbit RST=P2^2; /*复位脚*/ #define RST_CLR RST=0/*电平置低*/ #define RST_SET RST=1/*电平置高*/ /*双向数据*/ #define IO_CLR SDA=0/*电平置低*/ #define IO_SET SDA=1/*电平置高*/ #define IO_R SDA/*电平读取*/ /*时钟信号*/ #define SCK_CLR SCK=0/*时钟信号*/ #define SCK_SET SCK=1/*电平置高*/ #define ds1302_sec_add 0x80 //秒数据地址 #define ds1302_min_add 0x82 //分数据地址 #define ds1302_hr_add 0x84 //时数据地址 #define ds1302_date_add 0x86 //日数据地址 #define ds1302_month_add 0x88 //月数据地址 #define ds1302_day_add 0x8a //星期数据地址 #define ds1302_year_add 0x8c //年数据地址 #define ds1302_control_add 0x8e //控制数据地址 #define ds1302_charger_add 0x90 #define ds13
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:毕业设计---LED旋转灯.doc
    链接地址:https://www.zixin.com.cn/doc/3011002.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork