Z2中的主循环体while和条件循环

学习单片机最主要的是学习写程序的方法,程序的功能千变万化,是学不完的,只有掌握了一定方法,才能用这种方法去写新的程序。以c语言写的单片机程序为例,程序总是从main程序开始,然后顺序执行到main结束。

以C语言编写的单片机程序为例,程序总是从主程序开始,然后依次执行,直到main。 可见,程序必须包含且只能包含一个主程序,通常称为主程序。

主要的()

主程序的内容。 。 。 。 。 。

在实际使用中,还需要在主程序中建立主循环体while或do while。 主循环体可以是无限循环,也可以是条件循环,如下:

main()2 I- l5 q。 e, B" t4 i) ~9 H: U

{" r h7 F) J5 G$ C5 C

同时(1)

无限循环中的程序会循环执行 * E& K) T7 c7 a7 u

/////////////////////////////////////////////////////////////////////////////////////////// /// ///////

主要的()

2 ep# y- J! 电压/输出

同时(标志)

{$ Z8 Y6 y' }$ m5 z( k

条件循环体中的程序将根据Flag值的变化执行循环或跳出循环。

}" J% @0 q* p0 ?: s& C

}4 Z2 E. ^* K2 [ u+ @. {

/////////////////////////////////////////////////////////////////////////////////////////// /// ///////。 u" D6 h!E( 米

main()& ?6 l7 i! x# q+ W/ u

程序将按顺序执行

同时(1); //停在这里

/////////////////////////////////////////////////////////////////////////////////////////// /// //////

一般来说,第一种是最常用的。 所有需要循环执行的程序都放在主循环体​​中,然后里面可以添加多个条件循环体。

主程序开始时一般做什么工作? 在单片机中,C语言在进入主程序入口时会自动添加一些单片机的初始化工作,使单片机处于准备状态。但是仅仅单片机内部所做的事情似乎并不一定是我们需要什么,所以在主程序的开始我们还需要一些初始化代码,比如开机时各个端口的状态,声明的一些变量的初始化值,定时器或者其他外设的初始化等等..,所有第一次需要设置的部分都在这部分完成。 然后就到了主循环的 while 部分。 既然是循环,就意味着循环体内的程序是顺序循环执行的。 需要什么语句将其放入其中呢? 即需要随时改变的端口数量、数值等,例如时钟。 时钟是不断变化的,所以需要循环读取时钟的值,然后将数据更新到显示设备(数码管)或者液晶屏或者电脑),我们再以按钮为例,因为我们不不知道按钮什么时候会被按下,所以最简单的方法就是不断检测按钮端口的变化。 这也必须放置在主循环体​​中以确保检测到按钮。 及时性

例如:通电后,P1.1 所连接的 LED 亮起,然后按下按钮 LED 熄灭,松开按钮 LED 又亮起。 设置P3.4端口按钮3

sbit LED=P1^1;* k/ ]- L( H.w: `1 B

sbit KEY=P3^4; //定义关键端口,可以根据不同的硬件连接改为其他端口) i* C; r* m" O- x! ~3 }

9 b9 Z, w* j3 ]

主要的()

{。 】! d& v6 [1 E7 z4 h& o

LED=0;//这里以低位照明LED为例。 该语句是初始化端口8 p+ h* Q4 B- m! @

同时(1)/e. a: u( Q1 O. @6 |8 _

{* w; W# F6 E+ ; r8 RP:我

if(KEY) //检测按键端口是否为1,如果为1则表示没有按下。 如果为0,则表示按键被按下 %Q% G4 e$ X* ]3 e% ` L

LED=0; //如果不按下,LED灯亮:['b8~)k&Q3h'Cr

别的

LED=1; //按下 LED 将关闭 + ]# L& U' D/ _) K' Y4 J

}% d) D6 g8 9 a2 s5 K1 |$ _* P! 哦

单片机

躬耕教坛,强国有我在这美好的金秋时节

2024-4-25 5:04:31

单片机

荷兰统计学教授查找一篇论文,就是下面这篇

2024-4-25 6:03:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索