2
10
190
注册会员
使用道具 举报 送花
感觉和之前学51单片机,设置延时,做闹钟的原理类似。由其工作原理所决定的时钟。
11
1229
5962
论坛元老
这节课主要讲了IO口的输入与输出。以按键控制点灯为案例。
学会利用while循环隔断按键标志位一直翻转和加延时避免抖动是关键。
使用延时函数时,要初始化程序指令延时参数等数值。_nop_()函数需要添加 #include "intrins.h"头文件
_nop_()
#include "intrins.h"
TM0PS = 0x0F; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 ) AUXR &= 0x7F; //定时器时钟12T模式 TMOD &= 0xF0; //设置定时器模式 TL0 = 0xDC; //设置定时初始值 TH0 = 0x0B; //设置定时初始值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET0 = 1; //使能定时器0中断
2.学习到了一种中文乱码现象的原因和解决办法,如下图。
1.这接课主要讲了定时器的中断调度,以控制led灯闪烁和按键控制printf输出打印为离职。不使用 定时器时,按键按下会阻塞,导致灯光闪烁卡在当前状态。
2.还讲了如何通过普通变量定义、数组和结构体定义三种方式实现led等0.3、0.6、0.9秒间隔闪烁。
3.同时补充了数组,结构体,构建.c和.h文件的相关知识。
4.在判断按键按下时,避免阻塞,我们可以采用计数按键是否连续按下的形式来避免阻塞。
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-8-25 22:42 , Processed in 0.123950 second(s), 96 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.