单片机实现发光二极管的循环点亮控制
- 格式:docx
- 大小:276.42 KB
- 文档页数:11
51单片机二极管发光程序
51单片机(STC89C52)可以通过控制IO口来驱动二极管发光。
下面我将为你提供一个简单的例子,演示如何在51单片机上使用C
语言编写程序来控制二极管发光。
首先,我们需要连接一个二极管到单片机的IO口上。
假设我们
将二极管连接到P1口的第0个引脚上。
然后,我们可以使用C语言编写如下的程序来让这个二极管发光:
c.
#include <reg52.h> // 包含51单片机的寄存器定义文件。
void main() {。
P1 = 0xFE; // 将P1口的第0个引脚拉低,使二极管发光。
while(1) {。
// 这里可以添加你需要的其他操作。
}。
}。
在这个简单的例子中,我们使用了reg52.h头文件来包含51单
片机的寄存器定义。
然后在main函数中,我们将P1口的第0个引
脚拉低,使二极管发光。
接着使用一个无限循环来让程序持续执行。
需要注意的是,具体的连接方式和引脚的控制可能会根据具体
的硬件电路设计而有所不同。
在实际的项目中,你可能需要根据具
体的硬件连接情况和需求来编写相应的程序。
另外,如果你需要实现更复杂的功能,比如控制二极管的闪烁、呼吸灯效果等,你可能需要使用定时器中断、PWM控制等技术来实现。
这需要更深入的学习和了解51单片机的相关知识。
希望这个简
单的例子能够帮助你入门。
单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验内容1、编写延时子程序,延时时间为0.1S。
代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。
成绩实验名称:单片机系统简单扩展实验
一、实验目的
1、了解单片机系统的扩展方法
2、熟悉8255A在单片机系统扩中的使用方法。
3、熟悉仿真软件Proteus以及编程软件Keil的使用。
二、实验仪器
三、实验内容
四、实验原理
实验报告
五、实验步骤
步骤:
1、根据给定的实验要求,分析实验的目的以及实验要求。
2、通过计算机仿真软件Proteus,根据实验目的设计电路,并且绘制电路原理图。
3、根据自己设计的电路,编写控制程序。
4、调试所编写的控制程序,直至程序没有语法及语意错误,可以通过编译。
5、将所编写的无错误的程序下载至仿真软件,并进行调试,根据仿真结果修改程序。
6、重复上一步骤,知道仿真效果达到实验要求,即可完成。
六、实验程序
#include <reg51.h>
#include<absacc.h>。
实验三LED指示灯循环控制一、实验目的:熟悉uVision3编译软件,掌握C51编程与调试方法。
二、实验原理:图A.32为LED指示灯循环控制电路原理图。
图中LED指示灯外接于P0口。
由于P0口作为I/O口使用时是漏极开路的,需要外界上拉电阻,因而图中还加有8只100欧的电阻。
图中的时钟电路和复位电路与实验1相同。
程序启动后,8只发光二极管做循环点亮控制,其中灯亮顺序为P0.0-->P0.1-->P0.3-->.......-->P0.7-->P0.6-->P0.5-->.......-->P0.0,无限循环,两次LED亮的时间间隔约0.5s。
三、实验内容:(1)熟悉uVision3编译软件,了解软件的结构组成与功能;(2)学习C51语言的程序设计方法;(3)学会在uVision3中进行C51程序录入、编译、和调试;(4)理解Proteus与Keil联合的仿真原理,实现LED指示灯循环控制功能。
四、实验步骤:(1)在ISIS中绘制电路原理图,按照表A4.1将元件添加到编译环境中;(2)在uVision3中编写C51程序;(3)利用uVision3的编译调试功能检查语法和逻辑错误;(4)下载可执行文件,在Proteus中观察仿真结果,检查程序的正确性。
五、实验要求:提交的实验报告中应包括电路的原理图和实验结果分析。
Category Reference V alue Microprocessor ICs U1 80C51 Miscellancous X1 CRYSTAL Capacitors C2~C3 CAP Capacitors C1/22uF CAP--ELEC Resistors R2~R8/200 RES Resistors R10~R17/100 RES Optoelectronics D1~D8 LED--YELLOW六、原理图程序运行结果:实验结果分析:由于P0口作为I/O口使用时是漏极开路的,需要外界上拉电阻,因而图中加有8只100欧的电阻。
单片机实验报告班级:09050541学号:0905054116姓名:王昆鹏实验1 P1口实验一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:CPU挂箱、8051CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
软件延时,如果用c编程时,通过使用keil的软件模拟,调试观察子函数(delay)延时时间。
(具体延时可以自行设定)使用汇编语言的软件延时,可以计算其指令的周期数,大概估算其软件延时。
五、实验原理图:P1口输出、输入实验六、实验步骤:执行程序:P1.0~P1.7接发光二极管L1~L8。
七、程序框图:循环点亮发光二极管(具体延时可以自行设定)八、程序代码NAME T1_1ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEH //将1111 1110赋给A LOOP: RL A //A循环左移MOV P1,A //把A赋给端口P1LCALL DELAY //延时0.16sJMP LOOP //循环;延时函数DELAY: MOV R1,#200DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验2 中断口实验一、实验目的:1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
二、实验设备:CPU挂箱、8051CPU模块三、实验内容:通过设定两个中断使能和触发方式,并编写相应的中断服务子函数,改变led灯的变化情况。
当按下KEYBOARD的按键时8个led都灭,当把k1向上拉再复位后,4个led亮,4个灭。
四、实验原理:参考《单片机原理及接口技术》第三版,北京航空航天大学出版社。
三个发光二极管的循环点亮1611020110陈珏本一,系统设计分析本系统为最小单片机系统+三个LED核心处理器采用c51系列单片机AT89C51。
整个系统在系统软件的控制下工作。
开始时将P1端口全部置1,在单片机内,经识别、延迟等环节实时发出控制LED1、2、3闪烁的控制信号。
左侧电路使起完成相应的动作。
二,系统原件AT89C51、CAP 30pf、CRYSTAL 12MHZ、RES、BUTTON、LED三,系统原理图设计四,源程序设计ORG 0030HMOV A,#0FFHMOV P1,A LOOP:CLR P1.0LCALL DELAYCPL P1.0CLR P1.1LCALL DELAYCPL P1.1CLR P1.2LCALL DELAYCPL P1.2LCALL DELAYAJMP LOOP DELAY:MOV R7,#200D1:MOV R6,#248D2:DJNZ R6,$DJNZ R7,D1RETEXIT:NOPEND五,keil仿真创建“三个发光二极管的循环点亮”项目,选择单片机型号为AT89C51,输入汇编语言程序,保存为“三个发光二极管的循环点亮.asm”。
将源程序添加到项目中,编译源程序,创建“三个发光二极管的循环点亮.hex”。
六,prutues仿真成果图七,调试结果分析第一次仿真失败,请教王初韩同学后找出问题,是我使用了另外一个之前做的HEX文件,修改后三展灯循环点亮,实验成功。
八,想对老师说的话老师您好,是这样的,这次实验的编程语言我是从网上搜的,因为我完全不会编程语言,但是我的确照着网上的步骤一步步的把实验做成功了,也算是花了一番心血,至于其他的缺陷的部分,我会在之后的日子里向同学请教也好一点点的学的,希望老师给个高点的分数(注:文档可能无法思考全面,请浏览后下载,供参考。
可复制、编制,期待你的好评与关注!)。
实验一P1口亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。
二、实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
三、实验预备知识(1)P1口为准双向口,可定义为输入,也可定义为输出。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHZ)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
四、程序框图五、实验步骤1、实验连线P1.0~P1.7用插针连至L1~L82、PC环境在与PC联机状态下,打开桌面图标“MCS-51集成开发环境”,下载PH51\he01.asm,编译、连接、装载,用连续方式运行程序。
3、观察运行结果在连续运行方式下,观察发光二极管闪亮移位情况。
4、终止运行按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。
六、思考修改延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管闪亮移位方向改变。
七、实验电路八、实验程序ORG 0790H;----------------------------------------------------------SE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环;----------------------------------------------------------SE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RET;----------------------------------------------------------END教你如何用W ORD文档(2012-06-27 192246)转载▼标签:杂谈1. 问:W ORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。
嘉应学院物理与光信息科技学院单片机原理及应用实验学生实验报告实验项目:指示灯循环控制实验地点:工A310班级:姓名:座号:指导老师:实验时间:年月日一、实验目的掌握uVision3编译软件,掌握C51编程与调试方法。
二、实验原理实验原理图如图所示:图中中8只LED指示灯接于P0口,且都接有上拉电阻。
时钟电路、复位电路、片选电路与前面的实验电路相同。
在编程软件的配合下,要求实现如下功能:8只发光二极管做循环点亮控制,且亮灯顺序为D1,D2,D3,---D8,D7,---D1 ,编程原理为:首先使P0.0 1,其余端口0,这样可使D1灯亮,其余灯灭;软件延迟0.5s后,使P0口整体左移1位,得到P0.1 1,其余端口0,这样可使D2灯亮其余灯灭:照此思路P0整体左移7次,再右移7次,如此无限往复即可实现上述功能。
三、实验内容:(1)熟悉μVision3编程软件,了解软件结构与功能;(2)完成实验3的C51语言编程;(3)掌握在μVision3中进行C51程序开发方法。
四、实验步骤1、提前阅读与实验3相关的阅读材料;2、参考书本实验3,在ISIS中完成电路原理图的绘制:(1).启动ISIS模块从Windows的“开始”菜单中启动Proteus ISIS模块,可进入仿真件的主界面,如图所示可以看出,ISIS的编辑界面是标准的Windows软件风格,由标准工具栏、主菜单栏、绘图工具栏、仿真控制工具栏、对象选择窗口、原理图编辑窗口和预览窗口等组成。
(2).元件和电源的选取、摆放及属性编辑,总线与标签的画法等内容元件的选取:单击左侧绘图工具栏中的“元件模式”按観和对象选择按観“P”,弹出“PickD evices”元件选择窗口,如图:单击对象选择列表中的元件名称,预览窗口中出现的图形单击编辑窗口,元件以红色轮廓图形出现(选中状态),拖动鼠标使元件轮廓移动到所需位置,再次单击可固定摆放位置,同时也撤销选中状态(变为黑色线条图形)。
桂林电子科技大学单片机最小应用系统设计报告指导老师:***学生:钟静茹学号:09210202机电工程学院2010年6月单片机最小应用系统设计报告目录一、设计题目 (3)二、设计内容与要求 (3)三、设计目的意义 (3)四、系统硬件电路图 (4)五、程序流程图与源程序 (6)5.1流程图 (6)5.2源程序 (7)5.2.1程序设计思想 (7)5.2.2源程序清单 (7)六、系统功能分析与说明 (9)6.1系统主要组成部分 (9)6.2指示灯显示部分 (10)6.3 电路板的制作 (10)6.3.1 PCB图的制作 (11)6.3.2 电路板的腐蚀、钻孔和元器件的焊接 (13)七、设计体会 (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流程图5.2源程序5.2.1程序设计思想单片机通入电源后,一直让单片机对8031的P1和P3口进行采集,将8031的P3口开关信号送入8031,以控制流水灯的亮灭及时间。
运用proteus软件进行仿真,设计一个单片机应用系统,要求至少要有I/O扩展。
编写相应程序仿真出结果。
另加上文档说明,设计的内容,功能及思路。
发光二极管的循环闪亮一.设计任务如下图所示,AT89C51扩展I/O接口芯片8255A端口A 的PA0-PA7接8个发光二极管D1- D8。
编写程序使8个二极管循环闪亮。
二.设计内容实现发光二极管的循环闪亮。
三.设计思路1.根据题目要求设计出程序;2.在proteus中设计硬件,设计出要仿真的电路图;3.在proteus中把设计好的程序加载到单片机芯片上;4.运行仿真,看结果四.硬件设计1.系统硬件连线单片机的P0.0~P0.7接在8255的数据端的D0~D7上,把8255A端口A的PA0- PA7连接8个发光二极管。
2.Proteus仿真图五.软件设计1.流程图2汇编源程序ORG 0000HLJMP STARTORG 1000HSTART:MOV A,#80H ;设置控制字MOV DPTR,#0300H ;给控制端口地址:0300HMOVX @DPTR,A ;将控制字写到控制端口的控制寄存器中LOOP:MOV A,#00H ;将A中的设置为00HMOV DPTR,#0000H ;将PA端口地址给DPTRMOVX @DPTR,A ;将A中内容传送到PA,点亮发光二极管LCALL DELAY ;延时MOV A,#0FFHMOVX @DPTR,ALCALL DELAY ;延时SJMP LOOP 循环跳转DELAY:MOV R7,#1DH ;延时0.4秒DL1:MOV R6,#46HDL0:MOV R5,#61HDJNZ R5,$DJNZ R6,DL0DJNZ R7,DL1RETEND。
一、系统功能要求设计以AT89C51为核心并用它来控制发光二极管双灯点亮循环的实验装置,用AT89C51单片机控制8个发光二极管发光,实现亮点以12HZ频率又高到低位两两循环移动。
通过PROTEUS软件设计、仿真,并能从中掌握通过软件控制发光二极管的思路和技巧。
二、系统硬件电路设计(一)设计思路本系统电路由四部分组成:时钟电路、复位电路、输出部分、89C51芯片首先介绍图1其中主要部分电路功能如下图所示:①时钟电路用于产生单片机工作时所需的时钟信号,在芯片的外部通过19脚、18脚接晶体振荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡器。
电路中的C1、C2 一般取30pF左右,而晶体振荡器的频率范围通常是1.2-12MHZ,晶体振荡器的频率越高,震荡频率就越高。
②本部分电路起上电复位的作用。
③输出部分采用红、绿、蓝、黄四种颜色的二极管,让流水灯在移动的时候色彩鲜明、便于观察,该系统采用8个发光二极管,两两从高位到地位流水移动。
RN1排阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。
④在设计图中,89C51芯片是核心,P0,P1,P2,P3口均可以作为I/O口使用。
本电路中使用P1口作为输出口。
(二)单片机原理8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
?三个发光二极管的循环点亮10陈珏本$一,系统设计分析本系统为最小单片机系统+三个LED核心处理器采用c51系列单片机AT89C51。
整个系统在系统软件的控制下工作。
开始时将P1端口全部置1,在单片机内,经识别、延迟等环节实时发出控制LED1、2、3闪烁的控制信号。
左侧电路使起完成相应的动作。
二,;三,系统原件AT89C51、CAP 30pf、CRYSTAL 12MHZ、RES、BUTTON、LED 四,系统原理图设计五,源程序设计ORG 0030HMOV A,#0FFHMOV P1,A)LOOP:CLRLCALL DELAYCPLCLRLCALL DELAYCPLCLRLCALL DELAYCPLLCALL DELAY |AJMP LOOP DELAY:MOV R7,#200D1:MOV R6,#248D2:DJNZ R6,$DJNZ R7,D1RETEXIT:NOPEND六,keil仿真、创建“三个发光二极管的循环点亮”项目,选择单片机型号为AT89C51,输入汇编语言程序,保存为“三个发光二极管的循环点亮.asm”。
将源程序添加到项目中,编译源程序,创建“三个发光二极管的循环点亮.hex”。
七,prutues仿真成果图—八,调试结果分析第一次仿真失败,请教王初韩同学后找出问题,是我使用了另外一个之前做的HEX文件,修改后三展灯循环点亮,实验成功。
九,想对老师说的话老师您好,是这样的,这次实验的编程语言我是从网上搜的,因为我完全不会编程语言,但是我的确照着网上的步骤一步步的把实验做成功了,也算是花了一番心血,至于其他的缺陷的部分,我会在之后的日子里向同学请教也好一点点的学的,希望老师给个高点的分数。
桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:钟静茹学号:09210202机电工程学院2010年6月单片机最小应用系统设计报告目录一、设计题目。
错误!未定义书签。
二、设计内容与要求。
错误!未定义书签。
三、设计目的意义........................................................... 错误!未定义书签。
四、系统硬件电路图,错误沬定义书签。
五、程序流程图与源程序..................................................... 错误!未定义书签。
5. 1流程图,错误!未定义书签。
5. 2源程序,错误!未定义书签。
5。
2. 1程序设计思恩■错误!未定义书签。
5.2。
2源程序淸单................................................. 错误!未定义书签。
六、系统功能分析与说明 (9)6。
1系统主要组成部分 (9)6。
2指示灯显示部分 (10)6. 3电路板的制彳乍..................................................................... 1 06。
3。
1 PCB图的制作............................................................. 1 16. 3. 2电路板的腐蚀、钻孔和元器件的焊孩,错误!未定义书签。
七' 设计体会11,八、参考文献................................................................................ 1 2一、设计题目用8 031单片机实现发光二极管的循环点亮控制.釆用3个按键分别控制发光二极管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制.二、设计内容与要求用8031单片机控制8个发光二极管循环点亮。
要求用按键控制点亮时间(如每个灯点亮0。
3秒或者1秒等,各灯点亮时间相同)。
按启动键开始循环点亮;按停止键后停止。
三、设计目的意义1、掌握单片机系统中扩展简单I/O接口的方法。
2、掌握单片机的硬件接口电路、8031单片机的内部结构及其编程方法。
3、掌握单片机的最小系统的设计。
4、掌握电路板的设计与制作。
5、了解程序编写与调试的方法和技巧。
6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开发.四、系统硬件电路图系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外电路接通显示部分、及电源显示部分。
5o 2源程序5o 2. 1程序设计思想单片机通入电源后,一直让单片机对8031的P1和P3 口进行釆集,将8 0 3 1的P3 口开关信号送入8 031,以控制流水灯的亮灭及时间.5.2. 2源程序清单#i n c 1 nd e < r e g 5 2o h >#d e f i ne uc h ar unsigne d ch a r# defin e uin t u n s i gned i n tsbit KEY1 =P3A2:s b it KEY2 = P3 八3;s bit KEY3 = P3A4;u ch a r C o u nt = 0, i ,k;uc h ar code t a b 1 e[8] = {Oxfe, 0 x fd,Oxf b , Oxf 7 ,0x e f , Oxdf, Oxbf, Ox7f); v o id Dela y (uin t d e 1 ){°uin t i, j;°f o r ( i =0; i (de I ; i++)for (j=0: j <1827;j + +)}void Time 0 _Ini t (){oTMOD = 0 xOl;oTHO = 0x4c;T LO = Ox 0 0 ;T R0= 1;4E=0x8 2 ; o void T ime 0 _ I n t () in t e r rupt 1THO = 0x4c;oTLO 二OxOO;oCount++; 6}void Outs i del Ini t ( v o i d ){o I T 0 = 1;®EXO=1;oEA= 1 ;}v oid Outs idel」n t ( v o i d ) interrupt 0 {oEXO = 0:°D e lay (3):if ( KEY1 ==0){w h ile (1){o6 P 0 = t a b le [k];o if(KEY2==0)}°D e 1 ay( 3 0);oEX 0 二1 ;}v o id M a in (voi d ){ui n t i = 0, j =0:TimeO Init();O u tsidel_Init ();wh i le(l)o { for( i =0: i<8: i++){P0 = ta b le [i];k=i;aoif (KEY3 = 0)00 {a Delay( 1 );g if(KEY3== 0)0 {02 i++.o} 0 {o D e lay (50);° }oif (j%2==l)00 {wh i le(l){0i f (Count == 20) '{0 Count = 0;a b r eak;0 }00 }0 0 }0 els e{0 whi 1 e(l)00 {0if ( Count == 1 0) Qo o {0 C o unt = 0;b r eak; o o }}六、系统功能分析与说明6・1系统主要组成部分(1)单片机的最小系统部分包括晶振电路、复位电路、主电源引脚Vss 和Vcc 、 控制引脚/EA 。
(2)晶振电路为单片机正常工作时提供的时钟信号,山两个3 Opf 的无极性电容和 晶体圧电瓷片组成外部振荡电路,把单片机的XTAL1和XTAL2分别接到外晶体的两 端,使电容的另外一端接地就完成了单片机的晶振电路部分的设计。
(3 )复位电路,当振荡器正常工作时,在单片机的复位引脚连续保持出现两个机 器周期以上的高电平时,就会使单片机复位.AT89S 5 1单片机复位电路主要有上电复手 动复位和自动复位两种,在本次试验中我釆用手动复位。
按键手动复位的工作原理 是:当按下按键时,电源对外接电容进行充电,使RST 端为高电平,复位键松开后, 电容通过内部下拉电阻放电,逐渐使RST 端恢复低电平.具体电路见图2复位电路.6. 3电路板的制作6・3.1 PCB 图的制作采用了 PROTEL DXP 电路绘图软件进行原理图和PCB 图的制作,首先,安装此 软件,安装完成后,打开该软件,新建工程(DOCUMENT )文件,而以后所建立的原理 图文件(*.SCH )、PC B 文件(*。
PCB )及生成的网路文件(*。
NET )都在此工程内. 建立原理图文件时,首先,调用库文件中常用的元器件库文件(MISCELLANEOUS DEVICE So LIB )可以调入常用的电阻、电容、开关、晶振、继电器等常用的电器元 件,通过ADD/REMOVE 按钮可以调入库文件(以INTEL 为开头的库文件),从而调入80 S5 1芯片以及其它电子元件.原理图建立后,再生成网路图,这一步骤只要通过DESIGN ------------------ CREATE NETLISTS 即可生成网络图。
建立PCB 图,首先应按照原理图的要求认真准确地填好每一个电器元件的封装, 系统没有R2〔 OK 目应的信号灯 壬表示有电, 6・2指示输入信号 对应相应的开 电源上电 反之,则电路 C3RESETC封装的,必须根据实物画出特别元件的封装,而且,注意元器件的管脚号必须与封装的管脚号相同(比如说,三极管发元器件的管脚是B、E、C,而封装库中的管脚却是】、2、3,必须改变其中之一,使两者一致),否则出错,生成的PCB图不正确。
通过检查PCB图,如果没有元器件丢失、管脚丢失和网络连接正确便可以合理地布线,最终生成和覆铜板尺寸一致的PCB图。
最终生成的PCB图如下图所示。
图3 PC B电路图6o 3o 2电路板的腐蚀、钻孔和元器件的焊接将生成好的PCB图,用电熨斗印刷在基板上,再用FECL3进行腐蚀、钻孔、焊接相对应的元器件。
便完成了电路板的制作.七、设计体会1、通过此次单片机最小系统的应用开发,增加了我对电路控制专业的兴趣,尤其是通过单片机进行自动控制方面,在设计及单片机最小系统中,加深了对所学过的知识认识(主要是编程指令的灵活应用、单片机最小系统的理解和PROTEL DXP软件的灵活使用),还提高了自己的分析问题和解决问题的能力和方法(主要是在调试程序),最后提高了动手能力(主要是在电路板的制作上面),尤为可贵的是学会了查阅相关的资料,并进行独立的原理图设讣,电路板的制作和程序的独立调整,以及出现问题时候,独立思考分析解决问题的能力.虽然很辛苦,但是最终能够达到设计课题的要求。
2、初步学会了独立设计•电路图的能力。
我首先在图书馆查找并综合与课题相关的资料,在头脑中形成一个感性的认识,并渐渐地用所学过的单片机指令(主要是汇编语言)编程,然后再借助试验台,将自己编好的程序一步一步地调试出来,用能够成功程序所需要的硬件电路来返回来设计自己的电路板.初步养成了自己独立解决问题的方法与能力。
八、参考文献[1] 张毅刚彭喜元姜守达乔立岩新编MCS- 5 1单片机应用设计•.哈尔滨工业大学出版社,2003.[2 ] 黄海萍汇编语言与微机接口技术实验教程.国防工业出版社,2 007.[3]何光明童爱红王国全C语言实用培训教程.人民邮电岀版社,20 0 3.11/10。