基础知识_数码管动态显示,矩阵键盘
来源:互联网 发布:山西省建筑业企业网络 编辑:程序博客网 时间:2024/06/06 02:33
数码管动态显示:
回想一下lesson4最后那个exam,765432,每隔1s减减,与此同时流水灯,减到764398,停;数码管闪烁,3s后熄灭,同时数码管点亮HELLO
T0/T1定时器,中断是重点,也设置了标志位,最开始自己写程序的时候,主要卡在最后数码管如何点亮输出HELLO这里。是标志位没设置好。
1在中断里面判断跟在主函数里面判断是不一样的,判断啥?判断num_du与num_we的值
2消隐与动态显示效果
wela = 1;
P0 = 0xf7;
wela = 0;
P0 = 0;
dula = 1;
P0 = table_du[a/100];
dula = 0;
delay(2);
wela = 1;
P0 = 0xef;
wela = 0;
P0 = 0;
dula = 1;
P0 = table_du[(a%100)/10];
dula = 0;
delay(2);
(1)
这里的P0 = 0用于dula(段选)开启的时候P0的上次初始值为0(共阴极数码管给0x00,即数码管什么也不显示),不然就是wela(位选)打开的时候送的0xf7这个值
(2)
delay(2)在这里是控制两个数码点亮的间隔,即动态显示效果,看起来就像同时控制几个数码管一样。delay(2)人眼看着已经没有闪烁感了,delay(5)稍微还有一点;在显示6位数765432的时候还调小了delay(uchar z)里面的x值,使其闪烁更快
可以尝试拉长这个值,比如延时1s/delay(1000),那么第一个数码管点亮1s之后,熄灭,同时第二个数码管亮;第二个数码管点亮1s之后,熄灭,同时第3个数码管亮
矩阵键盘:
key_scan()函数,带return 值的写法,以前没有完整写过,自己写的时候主要卡在无键按下的时候,数码管上有输出;然后是松手检测不会写:
while( temp != 0xf0)
{
temp = P3;
temp = temp & 0xf0;
}
以上就是松手检测的思路:键盘按下的时候temp肯定不等于0xf0,while表达式为真,始终在循环内部,一旦松手,此时读到P3口的值(因为松手了,读到的P3^7~P3^4全为高)送给temp再与0xf0相与,值肯定就等于0xf0了,此时,while(0xf0 !=0xf0)为假,跳出while循环
自己写的时候,不知道display()写哪里?
- 基础知识_数码管动态显示,矩阵键盘
- 51_定时器扫描矩阵键盘_数码管显示
- 数码管显示矩阵键盘扫描程序
- 51单片机STC89C52 矩阵键盘数码管显示
- 7.矩阵键盘读取键值 数码管显示
- 4×4矩阵键盘,控制数码管显示
- 矩阵键盘 数码管
- 用矩阵键盘使数码管显示不同的值
- 矩阵键盘在数码管上显示1-16
- C51单片机学习(三):数码管动态显示和键盘
- 51单片机开发系列三_数码管动态扫描显示
- 基础知识_晶振,复位,数码管
- 数码管动态显示字符
- 单片机数码管动态显示
- 动态数码管显示
- 动态数码管显示
- 数码管动态显示
- 数码管动态显示
- 求n的阶层中含有某个因子个数的方法
- Spring Security中在Controller中获得用户信息
- Html5和Css3的基础标签及常用属性
- 求1~n中0~9出现的次数
- Light Bulb
- 基础知识_数码管动态显示,矩阵键盘
- 校招准备系列:每天一道算法题(14)-合并两个排序的链表
- JVM(一)
- JavaScript的基础
- spring in action 学习笔记(一)
- CSS清除浮动大全共8种方法
- python pandas (ix & iloc &loc) 的区别
- ANTLR教程(四)语法树遍历机制
- eclipse实现整体缩进