


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一:硬件,软件介绍以及闪烁灯和流水灯一. 实验目的1认识单片机以及外围硬件。2掌握KEIL软件的基本操作。3掌握单片机编程的一般流程。二. 实验容1认识单片机开发板上的硬件,串口以及usb转串口线。2使用keil软件建立工程并编写闪烁灯程序,下载到开发板上进行验证。3改写闪烁灯程序,进一步熟悉操作。3编写流水灯程序并下载到开发板上进行验证。三实验设备电脑,单片机开发板,串口线,usb转串口线。四硬件介绍1.51单片机介绍申口漣仁壮 片hlAX】心申皿口Lh't 屯"仲示幻*ni44和枚悴糧斥口psi; rH*.Jim TV-KMHMi ”仙何,埔电器WUHiT-塔屯iSI
2、ffn.图1-1开发板的硬件资源图1-1为本实验中用到的单片机开发板,该开发板包含了较多的硬件资源。这里主要介绍一下主芯片stc89c52,其它大部分硬件在以后相应的实验中再做介绍。上图中间最大的那个黑色长方块就是单片机,使用单片机就可以控制开发板上其他的硬件,此单片机全名为 STC89C52RC,其中STC代表生产该单片机的厂家,8代表单片机是8051 核,9代表部有EEPROM存储器,C表示该器件是 CMOS产品,5是固定不变的数字,2 表示单片机部含有 8KB的程序存储空间(如果是1表示4KB,如果是3表示12KB,以此类推。),RC表示部的随机存储器 RAM大小为512B。除了这些文字
3、还有标明单片机的最大 接入频率,产品级别,封装形式,生产日期,以及生产工艺的文字,这里就不一一说明。2串口线以及usb转串口线的介绍图1-2串口线串口线如图1-2所示,串口线主要用来给单片机下载程序以及串口通讯时使用,其结构以及通讯方式将在串口通讯实验时介绍,开始只拿串口下载程序使用。一般的台式机都会有串口,将串口线一段插在台式机上一段插在单片机上,接上电源就可以给单片机下载程序。 但是很多时候使用的是笔记本,笔记本上很少有串口,所以就需要使用usb转串口线,如图1-3所示。图1-3 usb转串口线usb转串口线将usb接口通过芯片和程序虚拟出一个串口来进行电脑与单片机的通讯, 所以使用时还需
4、给笔记本安装驱动,芯片一般为PL2303或者HL340 ,根据usb转串口使用的芯片不同安装不同的驱动。3ed灯的硬件电路图1-4 led灯的电路如图所示,8个led灯的阳极通过排阻接到了电源上, 阴极接到了 74hc573锁存器的输 出口,输入口与单片机的 P1 口连接,锁存器的锁存口 L与单片机的P2.5连接。锁存器的 功能如图1-5所示。INPUTSOUTPUT QELDLHHHLHLLLLXQ0HXXz图1-5锁存器功能表如上图,E为使能端口,低电平有效。L为锁存口,当锁存口 L为高时,输入和输出口的状态一致,当L为低时锁存上一个 L为高时的状态。4建立第一个工程首先,在桌面新建一个文
5、件夹,然后打开keil软件,显示如图1-6。图 1-6 打开 keil 然后, 单击菜单栏的 project ,在弹出的子菜单中点击 new uvision project ,在弹出的对 话框中给工程命名(这里命名为闪烁灯或者其他)并将工程保存在刚才新建的文件夹之中。 如图 1-7 。图 1-7 点击保存,会弹出选择单片机的对话框,选择 STC89C52RC ,单击 OK ,如图 1-8 。然 后会弹出一个对话框问你是否添加启动代码,单击是( Y)。图1-8F来,单击菜单栏的file在子菜单中单击new,此时会生成一个文本输入框textl,然后单击file save,将该文件保存为闪烁灯.c,
6、如图1-9.图1-9在软件左侧project窗口中打开文件夹 target,在子文件夹中右键单击source group 1 ,在弹出的菜单中单击 add files to groupsource group 1 '在弹出的对话框中选择刚才保存好的流水灯.c点击add,然后点击close关闭对话框。如图1-10,1-11所示。图 1-10图 1-11这样,一个工程就建立好了,如图1-12,接下来就是在闪烁灯.c中编写程序了。图1-12建立工程完毕5闪烁灯程序的编写要想使led灯产生一明一暗的闪烁效果,根据电路图1-4,可以将锁存器的锁存端 L置高电平,然后通过编程使片机的P1 口每隔一
7、段时间为高电平一段时间为低电平,而led灯的阳极接电源所以当 P1 口为低电平时led灯亮,P1为高电平时led灯灭。如图1-13.rn池厂图1-13 P1 口的状态在闪烁灯.c中输入程序如图1-14,(II以及后面的文字是注释,用来解释程序可以不输)日审 |dit 刘"Propel 耳泸sbjg Prlpri?rsiE rods 鈕wre-o 申(p;m谋.送町 七 r巨巨丛佻ia去声也;空旦辿 !兰,m护丄,命豪洋存 p x团 ma«nrc英Id- 11027 STAKTUP.呵03c芒淒用到旳瓦虹程行宅.己F 百 naiiL i04.z尹 hU&-fJI(1R
8、tat07fQT(K-o0 My* ; 71一一>打鬲莹£口占8环用来洗行51时08forL :阳j11)11TOid min 仃"主用总1?r1?EElola= 1;M将锁存互置拘妄宅平14曾启1/7wni_Lw芜擔环茂程呼一直在里面运疔151 11&Pl-0 Jiff;口全麵直吕电平17dclaiij叱一段时KJiePl-0-"将F:飾!亍暮口全融置低电甲19a*lay 11;门廷眶一啓时叵曲2-JhlJ±rSnulniw图 1-14首先介绍头文件,reg52.h文件定义了 stc89c52单片机部的寄存器,为了使用方便将 16进制地址
9、的寄存器定义成了各种名称,例如P1,P2等。sbit diola=P2A5; sbit是位定义,意思是说之后的diola对应于单片机的 P2.5脚,要注意的是,这里的 P2A5中间的A是异或的意思,是一个运算,不能直接使用。所以当使用单 片机的一个引脚必须要对其重新定义。下来是延时函数,延时函数主要是为了是单片机的引脚保持一种状态一段时间,执行一次for循环大概使用1us,这里的两重for循环大概为0.5s。值得说明的是,每当单片机开始运行程序的时候是直接从主函数里运行的。diola=1;是将锁存器设置为非锁存状态,这样输入输出就会保持一致。下来进入while( 1 )死循环,进入死循环的好处
10、是防止重复运行不必要的程序( diola=1这句话执行一遍就够了)。接下来就是让led灯产生明暗变化,首先给 P1赋值Oxff,使得P1的8个引脚都为高 电平,此时灯是灭的状态,保持0.5s左右,给P1赋值0,这样8个引脚都变成了低电平,此时,led灯导通发光,延时保持一段时间后再运行P仁Oxff;让led灯熄灭,就这样一直运行下去,是8个led灯产生了闪烁灯的效果。6编译程序,并将程序下载到单片机开发板上运行程序编写完后,点击编译按钮如图1-15中被圈起的按钮。iif Efit w;、 Ern-T 円詩i jsojoPftrt軻祁取方-丄昏丄M AJ.一叢1kjerf u st園 maim-
11、1-tJ REG5ZM匚匕1101 iiEclnj d=<xc g 3 2 ,dSgurc Giejp t疋ijjSTMlTIT. A5E- 生 UTiai TL c04 void12) r*g52 h05:如果程序没有错误,那么会在窗口下方的build output窗口显示如图1-16.图 1-16如果出现错误,检查并修改程序,重新编译,编译成功后就要输出hex文件,hex文件是直接下载到单片机中的程序文件, 它是由keil软件根据刚才编好的程序生成的单片机可以 识别的16进制文件。点击target options如图1-17中被圈起的图标。图 1-17再打开的对话框中选择output
12、选项卡,将 creat hex file 前勾起,如图 1-18。图 1-18点击0K,然后再次点击编译按钮,重新编译程序,显示编译成功后,就会在工程所在 的文件夹中生成一个闪烁灯.hex的文件。接下来就是下载程序到单片机,首先用串口线将电脑与开发板连接,然后用usb线把电脑与开发板连接(usb线主要是提供电源)。按下开关电源指示灯亮说明没有问题,再次 按下开关关掉电源。打开stc-isp软件(),在mcu type中选择STC89C52RC,然后点击打开程序文件按钮,找到刚才生成的闪烁灯.hex文件,选择合适的串口( comx不同的电脑串口不一样)然后点击download/下载,如图1-19
13、.图 1-19如图1-19,当出现握手连接时,打开单片机开发板的电源,程序就会下载到单片机 里面,下载完后程序就会自动运行,观察程序运行状态。7修改程序,让闪烁灯产生不同的闪烁效果,这里列举两例。(1)改变延时时间将程序中delay函数中的时间减小,将500改成200,如图1-20.重新编译程序, 的频率变快了。生成hex文件,重复刚才的操作将程序下载到单片机当中,会发现闪烁(2)改变闪烁灯样式将程序中对P1的赋值改变,如图1-21.重复编译,下载步骤,发现8.流水灯的产生流水灯的原理与闪烁灯类似, 输入以下程序,如图1-22.图 1-218个led灯前四个与后四个交替闪烁。只不过是让8个le
14、d灯顺序的点亮。将闪烁灯的程序删掉,01. h>02 L03 void)040<05 :int06for(x-500;x07for;08 | !09 -vcid inaiE(w - <11Pl=OxGl;"给F2. 口赅初道12 ;wliile1314delay():"延时15"将P主口的数第左移16if (F工=0)"当M的值为。时翼新賦值171;ie19- 图 1-22这个程序的原理是,先给P1 口赋值0x01,这样就会使第一个灯灭,剩下七个灯亮,接下来进入while ( 1)死循环,先延时一段时间,然后对 P1的数据左移,最后一位
15、补零,这 样P1的数据变成了 0x02,然后判断P1是否为零,条件不满足,重新执行延时函数,再左 移,P1等于0x04,当P1左移变成0x00时,灯全亮,if条件满足,执行 P仁0x01,然后再 延时,左移,就这样就产生了流水灯。编译下载程序,观察实际状态。9.使用循环移动产生流水灯上面的流水灯比较容易理解,但是一个灯灭其他灯亮,不太好看,这里使用循环移动产生流水灯,程序更简单。这个程序需要用到库函数intrins.h中的函数_crol_(a,n),它表示将a的二进制值左移 n位。程序如图1-23.01丄ud亡 vr皀1,h>02include <inrrins*h>0304void delev()05 '1.06intt;07for(fin=0 2:OS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绥化学院《数据结构5》2023-2024学年第二学期期末试卷
- 吉林水利电力职业学院《短视频运营实训》2023-2024学年第二学期期末试卷
- 石家庄人民医学高等专科学校《汽轮机技术》2023-2024学年第二学期期末试卷
- 华中科技大学《粮油焙烤类综合技能训练》2023-2024学年第二学期期末试卷
- 山西同文职业技术学院《遥感地学应用》2023-2024学年第二学期期末试卷
- 和田职业技术学院《财务规划与控制》2023-2024学年第二学期期末试卷
- 碳钢有热套筒行业行业发展趋势及投资战略研究分析报告
- 乌海职业技术学院《小学数学教学设计与实施》2023-2024学年第二学期期末试卷
- 陕西理工大学《有机合成化学》2023-2024学年第二学期期末试卷
- 中国共享电单车行业运行态势及未来发展趋势预测报告
- 表冷器更换施工方案
- 沥青集料筛分反算计算表格(自动计算)
- 2023年国家护理质量数据平台
- 恶性高热课件
- 真空灭弧室基本知识课件
- 川教版四年级(上、下册)生命生态与安全教案及教学计划附安全知识
- 工龄认定文件
- 教师招聘考试历年真题(物理)及答案
- 给药护理 口服给药法
- 初中历史人教版八年级上经济和社会生活中国近代民族工业的发展
- YS/T 562-2009贵金属合金化学分析方法铂钌合金中钌量的测定硫脲分光光度法
评论
0/150
提交评论