单片机c语言程序编写步骤,用c语言编写单片机流水灯程序详解

本文详细介绍了使用C语言编写单片机流水灯程序的步骤,包括硬件电路设计和软件编程。硬件部分主要涉及AT89C2051单片机及其上电复位和时钟振荡器电路。软件部分包含主函数和延时子函数,通过两个嵌套的for循环实现不同延时时间。文章还提供了软件仿真的方法和程序固化到单片机的流程。
摘要由CSDN通过智能技术生成

用C语言编写的流水灯程序

一、硬件电路

因为电路用单片机控制,所以电路非常简洁。其电路原理图见下图,印制板图如下图所示。

5cfb9bdde029eca9cf7cba027447ffba.png

fc8c4fafd814f9fb1a458bc4c2df49fd.png

电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,共8个引脚。图中Cl、R9组成典型的上电复位(即在加电时单片机复位)电路,XTAL、C2、C3与AT89C2051片内振荡电路组成时钟振荡器。值得注意的是,C2、C3的容量不能与图中数值偏差太大,否则可能引起不起振或振荡不稳定。XTAL的频率可以在4-20MHz之间,不过,频率的变化会导致程序运行速度的变化,这样就需要调整延时子函数的参数。事实上,不调整参数亦可,只是此时延迟时间不再是1秒,其延迟时间会随着XTAL频率的降低而增加。

二、软件部分

本程序包含两个函数,一个是主函数,另一个是延时子函数。源程序如下(为了便于讲解,我们为每行程序加上了编号):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值