在程序中,采用个位COUNT1和十位COUNT10两个计数器变量。另外在每个LED点亮5次后,个位自动加1,然后判断个位是否是10,如果不是,则点亮个位和十位LED,如果是,则在查看十位是不是9,如果是,则全部清0,如果不是,则十位加1,个位清0,然后继续判断,依次循环下去。本实例程序的流程如图所示。
图 程序流程
程序清单如下。
(1)C语言程序.
①包含必要的头文件及定义程序屮需要的全局变量。
②端口初始化子程序,对端口的输入、输出进行设置。
③显示初始化子程序,对数码管控制的先后通断进行设置。
④数据转换子程序。
⑤显示子程序。
⑥中断服务子程序,通过定时器1的中断对端口C进行操作。
⑦开中断子程序。
⑧读第1帧子程序。
⑨主程序。
(2)汇编程序如下。
①主程序。
完成变量与端口定义,程序初始化,查表与循环显示。在显示时一定要注意个位和十位不能同时点亮,在点亮个位或十位显示后一定要有一个延时的过程,否则将看不到显示的数据。
②查表程序TABLE1。
个位数的显示用的是共阳极的LED。
③查表程序TABLE10开始。
典型应用及经验分享
LED的应用领域非常广,包括通信、消费电子、汽车、照明、信号灯等,可大体分为背光源、照明、电子设备、显丙、屏 汽车等5大领域。
LED己经被广泛应用于各种照明设备中,如电池供电的闪光灯、微型声控灯、安全照明灯、室内/室外道路和楼梯照明灯以及建筑物与标记连续照明灯,其封装和器件适合仪表板、空调、收音机和电子开关和汽车内部照明设备使用,还可以用于普通商业零售系统告知顾客收钱/找钱金额,以及纺织机械控制器。
下面是应用中的一些经验;
· 显示时间,每行小于15ms;
· 在显示的字比较多时,一定要注意发送子程序的代码效率,因为发送是一个循环,所以循环体内的处理越怏越好。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。