单片机的最小系统(2)

2019-05-17 13:54

控制发光二极管D1 闪烁的C 语言源程序: 1. 程序详细说明

(1)头文件包含。程序接下来调用的P0_0 就是该头文件中定义好的一个寄存器地址。在对单片机内部的寄存器操作之前,应申明其来处,有兴趣的读者可以看看AT89X52.h 文件中的内容。

(2)宏定义led, 便于直观理解也便于程序修改,将P0_0 口命名为led, 这样在程序中就可以用led代替P0_0 口进行操作。

(3)延时函数声明。函数在调用之前必须进行声明,由于函数定义放在主函数之后,所以在主函数之前对延时函数进行了声明。

(4)主函数入口。主函数不传递参数也不返回值。 (5)死循环。

(6)输出高电平,led 不亮。

(7)延时一段时间,以便人眼能够直观看到。 (8)输出低电平,led 点亮。 (9)延时一段时间。 (10)延时函数定义。 (11)for 语句循环延时。 2. 程序流程图与实验现象

程序流程如图5 所示。经编译软件(keil)编译,生成单片机烧写文件,然后就可下载到单片机内部运行了,硬件电路板如图6 所示,本实验板上用的是STC89C52RC,可以用通过板载USB 转串口烧写程序。故将USB 线(本实验套件中有)连接电脑和实验板。供电电源可以从USB 取,也可以从外部电源取电。冷启动,即先点击下载,然后再上电。下载程序到单片机内运行后,可以看到实验板上P0_0 口外接的LED 灯(D1) 一亮一灭的闪烁。

五、总结

图5 程序流程图

图6 硬件电路板图

本讲主要介绍了51 单片机最小系统的设计以及编写第一个简单的程序。从过该实验,可以掌握单片机的开发流程,从而快速入门。在该讲中应该注意几个问题:

1. 本讲座中采用C 语言编写程序,因为C 语言的可读性和可移植性强。若读者没有学过C 语言,则应去了解和掌握相应的C 语言知识。C 语言易学易用,相信很快就能熟练。

2. 程序编译软件采用的是Keil。限于篇幅的原因,在这里就不对其进行讲述,如果读者有对其不明白的地方,可以到本刊论坛的单片机版面,作者制作了一个详细的Keil 入门教程。我们通过Keil编译程序,最终生成烧写单片机的Hex 代码文件。

Keil 软件界面如图7 所示, 中间空白区域为代码区,左侧为项目列表,最下面为消息窗口。

图7 Keil软件开发界面

3. 本实验板上所用的STC 单片机通过串口下载程序。其上位机软件界面如图8 所示(推荐使用V3.1 版本,最新版本可以到STC 主页上下载:

http://www.mcu-memory.com/), 烧写操作很简单,点击“Open File”按钮浏览找到所生成要烧写的Hex 文件后,单片机断电,点击“下载”按钮,单片机上电,程序就可下载到单片机中了。

图8 STC烧写软件界面

4. 产品组件

读者如果按照该讲内容进行理解并实践的话,可以说单片机就算入门了。下一讲将进一步深入,将要介绍单片机内部定时器和中断系统,敬请期待。


单片机的最小系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:SQL习题集

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: