单片机实现发光二极管的循环点亮控制
XXXX 电子科技大学电子科技大学 指导老师指导老师 . 单片机最小应用系统单片机最小应用系统 设设 计计 报报 告告 吴 兆 华 学学生生钟 静 茹 学学号号0921020209210202 机电工程学院机电工程学院 20102010 年年 6 6 月月 单片机最小应用系统设计报告单片机最小应用系统设计报告 目录目录 一、设计题目 3 二、设计容与要求 3 三、设计目的意义 3 四、系统硬件电路图 4 五、程序流程图与源程序5 5.1 流程图 5 5.2 源程序 6 5.2.1 程序设计思想 6 5.2.2 源程序清单 6 六、系统功能分析与说明9 6.1 系统主要组成部分 9 6.2 指示灯显示部分 10 6.3 电路板的制作 10 6.3.1 PCB 图的制作 11 6.3.2 电路板的腐蚀、钻孔和元器件的焊接12 七、设计体会 11 . 八、参考文献 12 一、设计题目 用 8031 单片机实现发光二极管的循环点亮控制。采用 3 个按键分别控制发光二极 管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制。 二、设计容与要求 用 8031 单片机控制 8 个发光二极管循环点亮。要求用按键控制点亮时间(如每个 灯点亮 0.5 秒或者 1 秒等,各灯点亮时间相同) 。按启动键开始循环点亮;按停止键后停 止。 三、设计目的意义 1、掌握单片机系统中扩展简单 I/O 接口的方法。 2、掌握单片机的硬件接口电路、8031 单片机的部结构及其编程方法。 3、掌握单片机的最小系统的设计。 4、掌握电路板的设计与制作。 。 5、了解程序编写与调试的方法和技巧。 6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开 发。 . 四、系统硬件电路图 系统硬件图图 1包括单片机最小系统(复位电路、晶振电路和相关的控制信号) 、 外电路接通显示部分、及电源显示部分。 设计硬件电路图时,其基本思想先通过万能板搭建试验平台,将编好的程序下载 到 51 中,等可以达到预期要求后,最后在 PROTEL 中设计原理图与 PCB,做出电路板。 图 1 系统硬件图 . 五、程序流程图与源程序 5.1 流程图 开始 结束 是 判断是否进 入循环 否 初始化 判断选择循 环间隔时间 延迟 500ms 控制二极管延迟 500ms 循环亮 延迟 1000ms 控制二极管延迟 1000ms 循环亮 . 5.2 源程序 5.2.1 程序设计思想 单片机通入电源后,一直让单片机对 8031 的 P1 和 P3 口进行采集,将 8031 的 P3 口开关信号送入 8031,以控制流水灯的亮灭及时间。 5.2.2 源程序清单 include define uchar unsigned char define uintunsigned int sbit KEY1 P32; sbit KEY2 P33; sbit KEY3 P34; uchar Count 0,i,k; uchar code table[8] {0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f}; void Delayuint del { } void Time0_Init . uint i,j; fori0; idel; i forj0; j1827; j ; { } void Time0_Int interrupt 1 { } void Outside1_Initvoid { } void Outside1_Intvoid interrupt 0 { EX0 0; Delay3; IT0 1; EX01; EA1; TH0 0 x4c; TL0 0 x00; Count; TMOD 0 x01; TH0 0 x4c; TL0 0 x00; TR0 1; IE0 x82; . } ifKEY1 0 { while1 { P0 table[k]; ifKEY20 { break; } } } Delay30; EX0 1; void Mainvoid { uint i 0,j0; Time0_Init; Outside1_Init; while1 {fori0;i8;i { P0 table[i]; . ki; ifKEY3 0 { Delay1; ifKEY3 0 } . { j; } Delay50; } ifj21 { while1 { ifCount 20 { Count 0; break; } } else { } while1 { ifCount 10 { Count 0; break; } } } } } 六、系统功能分析与说明 6.1 系统主要组成部分 (1)单片机的最小系统部分包括晶振电路、复位电路、主电源引脚Vss 和 Vcc、控 制引脚/EA。 (2)晶振电路为单片机正常工作时提供的时钟信号,由两个 30pf 的无极性电容和 晶体压电瓷片组成外部振荡电路,把单片机的 XTAL1 和 XTAL2 分别接到外晶体的两端, 使电容的另外一端接地就完成了单片机的晶振电路部分的设计。 (3)复位电路,当振荡器正常工作时,在单片机的复位引脚连续保持出现两个机 器周期以上的高电平时,就会使单片机复位。AT89S51 单片机复位电路主要有上电复手 动复位和自动复位两种,在本次试验中我采用手动复位。按键手动复位的工作原理是 当按下按键时,电源对外接电容进行充电,使RST 端为高电平,复位键松开后,电容通 过部下拉电阻放电,逐渐使 RST 端恢复低电平。具体电路见图 2 复位电路。 . 图 2手动复位电路 6.2 指示灯显示部分 输入信号由 3 个开关提供,信号的输出采用8 个发光二极管显示,相应的信号灯对 应相应的开关,用共阴极的连接方法,输入低电平导通。 电源上电显示部分用一个 1K 的电阻串联一个发光二极管来显示,灯亮表示有电, 反之,则电路板没电。 6.3 电路板的制作 6.3.1 PCB 图的制作 采用了 PROTEL DXP 电路绘图软件进行原理图和 PCB 图的制作, 首先, 安装此软件, 安装完成后,打开该软件,新建工程(DOCUMENT)文件,而以后所建立的原理图文件 (*.SCH) 、PCB 文件(*.PCB)及生成的网路文件(*.NET)都在此工程。建立原理图文 件时,首先,调用库文件中常用的元器件库文件(MISCELLANEOUS DEVICES.LIB)可以 调入常用的电阻、电容、开关、晶振、继电器等常用的电器元件,通过ADD/REMOVE 按 钮可以调入库文件(以INTEL 为开头的库文件 ) ,从而调入80S51 芯片以及其它电子元 件。 原理图建立后,再生成网路图,这一步骤只要通过DESIGN---CREATE NETLISTS 即 可生成网络图。 建立 PCB 图,首先应按照原理图的要求认真准确地填好每一个电器元件的封