#include #define LED P0 void delay();//延时一秒 void main() //按位操作点亮小灯 { unsigned int i; while(1) { for(i = 0;i<8;i++) { LED = ~(0X01< delay(); } } } void delay() //延时一秒 { unsigned int i,j; for(i = 0;i<83;i++) { for(j = 0;j<1000;j++) { ; } } } 由于博主寒假在家里,手里没有51单片机,于是我就用Proteus搭建好了简单的电路,用keil5编写好文件后生成.hex文件,然后添加到Proteus里面运行,具体操作如下: 然后勾选上下面的选项: 然后将写好的代码保存,最后打开Proteus软件。 搭建电路如下: 然后插入代码与电路结合: 选中.hex文件确认,然后左下角运行: 运行如下,蓝色代表小灯正常运行: 我们可以看到小灯从第一个灯循环到第八个灯。 细心的朋友可以看到,我们的delay()函数设定的延时时间是一秒,为什么是一秒呢?这里的控制比较巧妙,用了两个for()循环语句,外层循环执行83次,内层循环执行1000次,也就是总共执行了83 * 1000次,在c语言中执行一次语句的秒数可以通过在前后位置分别下断点观察到,为了深入理解为什么程序执行83*1000次就可以达到1秒,我们在这一语句前后分别下一个断点,通过观察两个端点之间的时间差来大致判断程序的指向时间:
上一篇:51单片机学习笔记———3.LED点亮的几种不同方式(数组形式)及其按键检测,延时消抖
下一篇:1天搞定单片机中断——基础知识大全
推荐阅读最新更新时间:2024-11-11 12:17
设计资源 培训 开发板 精华推荐
- 通用连续时间滤波器挑战分立设计
- 用于仪表的 8/10/12 位、1 通道 DAC
- NOIP1SE0480A-HEAD-BD-A-GEVK:PYTHON 480 成像评估板(彩色)
- RD-400,使用 FAN7382 100W、CCCV、多通道 LED 电源的参考设计,适用于工业照明应用
- DC2365A-D,基于 LTC2333-18 缓冲八进制、18 位、800 ksps 多路复用 SAR ADC 的演示板
- DC1410A-A,基于 LTC2498 称重传感器数字化仪应用的演示板
- LT3970IDDB-3.3 3.3V 降压转换器的典型应用
- LTC3110HUF 1.8V/300mA 输出的典型应用电路,单个电容器从 2.5V 放电至 1V,并具有低至 0.3V 的备用电源
- AT32F421C8T7最小系统板
- STM8L001J3,STM8L050J3,STM8S001J3 MCU的探索套件
- 逛工业自动化展TE Connectivity网上展厅,答题赢好礼!
- MPS商城小程序上线 注册、分享、下载干货都可赢好礼——下单还返现!
- 得捷第二季Follow me第2期来袭,一起解锁功能强大且灵活的【Arduino UNO R4 WiFi】
- 《射频技术 For Dummies系列》书籍读后感征集
- 3.5\"嵌入式主板给力开团 仅售599元包邮!
- 新书推荐《ARM Cortex-M0从这里开始 》
- 直播已结束【安森美和安富利物联网创新设计大赛颁奖典礼】
- 再见2019,你好2020!写下你的年终总结和新年计划
- 看是德科技利用校准降低仪器测量不确定度、提高测试精度 直播享好礼!
- 你评论,我送礼!《玩转TI MSP430 Launchpad》TI社区与EEWORLD联合首发!