- 15
- 0
- 约3.69千字
- 约 12页
- 2020-05-26 发布于广东
- 举报
实验一:硬件,软件介绍以及闪烁灯和流水灯
一.实验目的
1.认识单片机以及外围硬件。
2.掌握KEIL软件的基本操作。
3.掌握单片机编程的一般流程。
二.实验内容
1.认识单片机开发板上的硬件,串口以及usb转串口线。
2.使用keil软件建立工程并编写闪烁灯程序,下载到开发板上进行验证。
3.改写闪烁灯程序,进一步熟悉操作。
3.编写流水灯程序并下载到开发板上进行验证。
三.实验设备
电脑,单片机开发板,串口线,usb转串口线。
四.硬件介绍
1.51单片机介绍
图1-1 开发板的硬件资源
图1-1为本实验中用到的单片机开发板,该开发板包含了较多的硬件资源。这里主要介绍一下主芯片stc89c52,其它大部分硬件在以后相应的实验中再做介绍。
上图中间最大的那个黑色长方块就是单片机,使用单片机就可以控制开发板上其他的硬件,此单片机全名为STC89C52RC,其中STC代表生产该单片机的厂家,8代表单片机是8051内核,9代表内部有EEPROM存储器,C表示该器件是CMOS产品,5是固定不变的数字,2表示单片机内部含有8KB的程序存储空间(如果是1表示4KB,如果是3表示12KB,以此类推。),RC表示内部的随机存储器RAM大小为512B。除了这些文字还有标明单片机的最大接入频率,产品级别,封装形式,生产日期,以及生产工艺的文字,这里就不一一说明。
2.串口线以及usb转串口线的介绍
图1-2 串口线
串口线如图1-2所示,串口线主要用来给单片机下载程序以及串口通讯时使用,其结构以及通讯方式将在串口通讯实验时介绍,开始只拿串口下载程序使用。一般的台式机都会有串口,将串口线一段插在台式机上一段插在单片机上,接上电源就可以给单片机下载程序。但是很多时候使用的是笔记本,笔记本上很少有串口,所以就需要使用usb转串口线,如图1-3所示。
图1-3 usb转串口线
usb转串口线将usb接口通过芯片和程序虚拟出一个串口来进行电脑与单片机的通讯,所以使用时还需给笔记本安装驱动,芯片一般为PL2303或者HL340,根据usb转串口使用的芯片不同安装不同的驱动。
3.led灯的硬件电路
图1-4 led灯的电路
如图所示,8个led灯的阳极通过排阻接到了电源上,阴极接到了74hc573锁存器的输出口,输入口与单片机的P1口连接,锁存器的锁存口L与单片机的P2.5连接。锁存器的功能如图1-5所示。
图1-5 锁存器功能表
如上图,为使能端口,低电平有效。L为锁存口,当锁存口L为高时,输入和输出口的状态一致,当L为低时锁存上一个L为高时的状态。
4.建立第一个工程
首先,在桌面新建一个文件夹,然后打开keil软件,显示如图1-6。
图1-6 打开keil
然后,单击菜单栏的project,在弹出的子菜单中点击new uvision project,在弹出的对话框中给工程命名(这里命名为闪烁灯或者其他)并将工程保存在刚才新建的文件夹之中。如图1-7。
图1-7
点击保存,会弹出选择单片机的对话框,选择STC89C52RC,单击OK,如图1-8。然后会弹出一个对话框问你是否添加启动代码,单击 是(Y)。
图1-8
下来,单击菜单栏的file在子菜单中单击new,此时会生成一个文本输入框text1,然后单击file—save,将该文件保存为 闪烁灯.c,如图1-9.
图1-9
在软件左侧project窗口中打开文件夹target,在子文件夹中右键单击source group 1,在弹出的菜单中单击add files to group ‘source group 1’
图1-10
图1-11
这样,一个工程就建立好了,如图1-12,接下来就是在闪烁灯.c中编写程序了。
图1-12 建立工程完毕
5.闪烁灯程序的编写
要想使led灯产生一明一暗的闪烁效果,根据电路图1-4,可以将锁存器的锁存端L置高电平,然后通过编程使片机的P1口每隔一段时间为高电平一段时间为低电平,而led灯的阳极接电源所以当P1口为低电平时led灯亮,P1为高电平时led灯灭。如图1-13.
图1-13 P1口的状态
在闪烁灯.c中输入程序如图1-14,(//以及后面的文字是注释,用来解释程序可以不输)。
图1-14
首先介绍头文件,reg52.h文件定义了stc89c52单片机内部的寄存器,为了使用方便将16进制地址的寄存器定义成了各种名称,例如P1,P2等。
sbit diola=P2^5; sbit是位定义,意思是说之后的diola对应于单片机的P2.5脚,要注意的是,这里的P2^5中间的^是异或的意思,是一个运算,不能直接使用。所以当使用单片机的一个引脚必须要对其重新定义。
下来是延时函数,延时函数主要是为了是单片机的引脚保持一种状态一段时间,执行一次
原创力文档

文档评论(0)