单片机数码管消隐及中断
来源:互联网 发布:php api接口开发 json 编辑:程序博客网 时间:2024/06/05 17:04
一.什么是“鬼隐”
在数码管动态显示过程中,主要是在数码管位选和段选产生的瞬态造成的。数码管的不应该亮的地方有点微微发亮,这种现象就是“鬼隐”。
二.消除“鬼隐”的办法
1.延时(简单却拙劣)
利用延时函数,使得数码管该亮的地方亮的时间久一点,那么不该亮的地方就不会再亮了。
2.关闭段、位
关闭段:在改变值之前,使数码管全部熄灭。
关闭位:关闭数码管的位,等到赋值过程都做好了后,再重新打开。
三.中断的应用
1.中断使能寄存器
a).中断使能寄存器的位分配(地址0xa8、可位寻址)
b).中断使能寄存器的位描述
c).中断查询序列
2.中断优先级
a).中断优先级寄存器的位分配(地址0xB8、可位寻址)
b).中断优先级寄存器的位描述
3.中断程序的例子
#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit D1=P1^0;sbit wela=P2^7;sbit dula=P2^6;uint t=0;void main(){ D1=0; TMOD=0x01; EA=1; ET0=1; TR0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; while(1) { if(t==10) { t=0; dula=1; P0=0x7f; dula=0; wela=1; P0=0xc0; wela=0; } }}void temer() interrupt 1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; dula=1; P0=0x00; dula=0; wela=1; P0=0xc0; wela=0;}
0 0
- 单片机数码管消隐及中断
- 单片机数码管消隐问题
- 6.5 单片机数码管显示消隐
- 89C52单片机之数码管中断
- 中断+数码管
- C51学习笔记(二)---中断及数码管应用
- 20141108 【 单片机——万年历DS1302——中断 】 用DS1302模块 & 数码管显示万年历
- 20141109 【 单片机——串口通讯——中断 】 八段数码管显示通信内容
- 单片机:按键(使用中断)控制数码管的数字加减(c语言实现)
- 单片机==独立按键+数码管计数+中断法(9)
- PIC单片机-利用Timer2定时器的溢出中断实现动态扫描数码管
- 51单片机--数码管
- 单片机数码管动态显示
- 单片机——数码管
- 单片机数码管时钟显示
- 单片机数码管码段
- 单片机之静态数码管
- 51单片机之数码管
- LeetCode 143 Reorder List Add to List
- cnpm及vue的脚手架工具安装
- void指针
- windows下git的操作
- oracle 基础之表操作
- 单片机数码管消隐及中断
- OpenGL 入门5
- Unity独立开发的开始
- 深入理解计算机系统——PE文件(2)
- 网络协议的3次握手
- 【日志】log4j的使用配置与参数解析
- 图的遍历之深度优先
- pycharm的一些快捷键
- 二叉搜索树的实现