欢迎来到天天文库
浏览记录
ID:47558442
大小:1.27 MB
页数:63页
时间:2019-09-19
《51单片机的基本外围电路设计以和相关C语言程序(免积分)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、....主要学习51单片机的外部引脚和内部结构等,叙述一下。本书任务驱动教学,引入案例有浅变深,循序渐进,给读者留下思考和发挥空间。3.1利用单片机的I/O口驱动LED3.1.1利用单片机的P0.0端口驱动1只LED闪烁编程的目的是利用C语言控制单片机I/O端口按要求输出矩形波脉冲信号,信号的周期由延时函数决定。一、电路原理STC-89C51单片机的P0口采用为OD门输出,不存在拉出电流,因此利用P0驱动负载时有两种接法:一种是加上拉电阻R2,见图3-1-1,既用1K电阻接电源正极,此时P0口输出高电平时LED亮;另一种电路为P0.7低电平驱动有效,在P0.
2、7输出低电平时,STC-89C51端口灌入电流达20mA,可直接驱动小负载。图3-3-1中的R3为限流电阻,限制LED2的工作电流。图3-1-1驱动LED电路原理单片机的最小系统包括晶体振荡电路,加电复位电路,同时要求单片机的31引脚接高电平。时钟频率主要由晶体CY决定,C1、C2为独石电容,用于微小调整单片机时钟的振荡频率;R1和C3组成加电复位电路,C3为电解电容器;整个电路由+5V电压供电。电路使用的元件参数见表3.1.1。表3.1.13-1-1电路元件表元件名称序号标称规格(封装,功率电压等参数)作用单片机ICSTC89C51DIP40核心芯片电容器
3、C130PF独石振荡电容器C230PF独石振荡电容器C310F点解电容器复位学习资料....晶振CY12MHzS型振荡电阻R11K1/4W,金属膜电容器C3放电电阻电阻R21K1/4W,金属膜端口电位上拉电阻电阻R31K1/4W,金属膜限流电阻发光二极管LED15红色高亮显示发光二极管LED25红色高亮显示二、程序设计1.程序设计平台程序设计采用keilC软件,为了养成一个良好的文件管理习惯,建议:编程前,在计算机的某个硬盘分区下建立一个目录,目录的名字为你编写程序的主题,然后把keilC产生的所有文件都放在该目录下。程序设计步骤如下:(1)运行keilC,
4、创建一个项目。利用keilC菜单栏中project-newproject创建,项目的名字为你编程的主题,如本案例可以用“LED_1.uv2”或“一个LED闪烁实验.uv2”,存放目录为你的主题目录下;(2)创建建一个文件,然后以“.c”后缀名,文件存放在你的主题目录下;(3)把c文件添加在你的项目中,在projectworkspace窗口利用addfiletogroup…实现。如果软件界面不显示这个窗口,运行keilC菜单栏中的view-projectwindow。(4)设置编译器,是编译过程中能生成“.hex”文件。默认文件名与主题名字相同。运行proje
5、ct-optionfor‘target1’-output窗口下点击createHEXfile。(5)在编程区域写你的程序,结束后存储文件并编译,要做检查,尽量避免警告出现,直到程序编译无误为止。(6)程序烧写并试运行。这个过程称为软件和硬件联合调试,如果实验板无误,程序编译通过,但在硬件上运行不成功是常用的事情,需要对程序进行多次调试。在没有实验板的情况下,可以利用proteus软件仿真调试,也可以检验你的程序设计结果。2.程序设计(1)利用P0.0口驱动LED闪烁,高电平有效/****************************************
6、*************************************/#include//包含头文件sbitLED=P0^0;//LED接P0.0。在kellC51软件中,定义P0.0为P0^0,voiddelay(unsignedcharx)//延时函数{unsignedchari,j;for(i=0;i7、约0.3秒,不精确LED=1;//P0.0输出高电平,LED亮voiddelay(100);}}/*****************************************************************************/(2)利用P0.7端口驱动LED闪烁,低电平有效/*****************************************************************************/#include//包含头文件,程序为小5号字sbitLED=P0^7;voiddel8、ay(unsignedcharx)//延时函数{学习
7、约0.3秒,不精确LED=1;//P0.0输出高电平,LED亮voiddelay(100);}}/*****************************************************************************/(2)利用P0.7端口驱动LED闪烁,低电平有效/*****************************************************************************/#include//包含头文件,程序为小5号字sbitLED=P0^7;voiddel
8、ay(unsignedcharx)//延时函数{学习
此文档下载收益归作者所有