STC89C52入门第三课

2025-05-25 13:08:01

1、1:接线(使用开发板自带,请跳过,到步骤2)准备4个轻触按键,可以是2脚,或者4脚(4脚轻触按键一般1脚跟3脚是导通的,2脚跟4脚导通的,按下后,所有引脚导通,这个可以用万用表测试,详细请百度搜索下)把1脚连接到单片机第1脚,也就是P1.0这个I/O口,把2脚连接到单片机20脚,也就是GND引脚。同样接法,你想接多少个都可以,这里先接4个P1.0到P1.3(你们想接其他IO也是可以的,这里最好先照做)下面这个图只是画一个示意图

STC89C52入门第三课

2、照常,先新建工程—文件—保存文件—添加文件到源组闪存配置,把产生HEX文件那个勾,选上然后开始写程序#include <reg52.h> //包含reg52.h这个头文件sbit AN1=P1^0; //P1^0这里改成你们你们按键对应的I/O口sbit AN2=P1^1;sbit AN3=P1^2;sbit AN4=P1^3;void main() //主函数{ }

3、上面的程序中,出现的俩稍僚敉视个斜杠“//“表示斜杠后面的文字是备注,与编程无关,不会被编译然后,在主程序的大括号中,写入while(1){}如下图,while(1)这个指令必须在这里说明下,这是个循环指令while()是判断中括号内程序是否为1,如果为1,则进入循环执行while(1)下面大括号内程序如果while()这个中括号内不等于1,则不进入循环通俗的说我们写while(1)则一直进入循环我们如果写while(0)则跳到循环后面去

STC89C52入门第三课

4、再写一个延时程序,放在void main()主程序的上面此处注意,必须放在主程序上面,放在主程序后面,必须声明函数,这个以后再教,如图

STC89C52入门第三课

5、这个延时程序,在晶振11.0592MHZ时,大约延时1MS,就是1毫秒晶振12M时,大约是800US也就是0.8毫秒然后在#include<reg5.2.h>下面,加入LEDsbit LED1=P2^0;sbit LED2=P2^1;对应I/O口应该写你们LED对应的I/O口,这里我写P20和P21

STC89C52入门第三课

6、回到主程序while(1)的大括号内开始写程序,如下图,下图是1个按键的程序大家不妨把这1个按键的程序先拷进单片机测试下,看看效果

STC89C52入门第三课

7、现在写第二个按键的程序,原理相同如果你仔细看,你就会明白其中的原理

STC89C52入门第三课

8、这里应该认真注意几点:1.按键消抖按键消抖,是因为电路板抖动,会引起单片机以为你按下了按键2.LED是共阳或者共阴上节课有说过的,不明白也可以百度搜搜下3.else这个指令,是跟在if后面的这个指令是不可以单独存在的,它是必须跟着前面的if的4.是否每个if后面都必须带大括号呢?if跟else都可以不加大括号,不加大括号的情况下,只执行if下面的1条语句加大括号时,则执行大括号内所有语句

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢