1、为什么灯会亮
给LED1对应标号的P3^7一个低电平(接地),构成一个串联电路,就能点亮灯 。
给LED1对应标号的P3^7一个低电平(接地),构成一个串联电路,就能点亮灯 。
2、怎么做才会闪烁
让灯亮一下(给引脚低电平0),灭一下(给引脚高电平1),在亮和灭之间间隔一些时间( 使用STC-ISP自带延时函数 ),就能闪烁。
让灯亮一下(给引脚低电平0),灭一下(给引脚高电平1),在亮和灭之间间隔一些时间( 使用STC-ISP自带延时函数 ),就能闪烁。
3、按键控制灯
原理:按键和灯不是我们传统理解的思维,传统按键和灯是在同一个电路中的。而我们单片机编程按键
和灯是分开的两个电路,通过单片机作为媒介来处理数据,
通过逻辑来实现按键控制灯。
4、查询法按键控制灯
查询法,即字面意思,检查按键是否被按下
查询法,即字面意思,检查按键是否被按下
怎么知道sw1
按键被按下 ?
KEY1 位置和 GND 接通,表现为低电平,值为 0 ,即KEY1对应的IO口的值为0
KEY1 位置和 GND 接通,表现为低电平,值为 0 ,即KEY1对应的IO口的值为0
怎么知道
sw1
按键没有被按下 ?
KEY1 位置通过上拉电阻到 5V ,表现为高电平,值为 1 ,即KEY1对应的IO口的值为1
KEY1 位置通过上拉电阻到 5V ,表现为高电平,值为 1 ,即KEY1对应的IO口的值为1
总结: KEY1接到STC89C52RC的P2.1口,我们只要不断检测P2.1口的值(0-按下,1-松开)就知道按键是 否被按下。
5、软件消抖
6、按键按下一次,灯状态改变(状态翻转,亮的变成灭的,灭的变成亮的)
7、状态位来控制LED (好处:在代码量较多时如果出错了会比较方便修改)