第九集-数码管 1. 利用试验箱数码管模块做静态数字显示、动态数字显示的实验。 详细介绍HC595芯片的原来和引脚功能,以及编程对应的控制语句写法: 595是8位带锁存的串行转并行的转换接口,有时钟信号SCK;锁存信号RCK;数据信号SER。通过传输8位数据信号后再传输锁存信号得到了 8位并行输出; 数码管有共阳和共阴的区别,每一位都用7个段码组成一个8字。 通过建立段码数组和位码数组,利用一次传输8个位数据的函数,让HC595驱动数码管显示出来,想要显示什么都可以。只要是数组里面所包含的都行。 有注意的地方是:发送串行数据时,左移语句后,提取了一个CY进位标志,巧妙的做了数据发送的依据,非常的精妙! 动态输出时,要保证每一位刷新时的延时要保证在1~20ms之间,太快或者太慢都打不到显示效果,有可能会闪烁! 2. 利用ISP调试仿真接口做虚拟端口和虚拟数码管显示实验; 实验前需要先熟悉调试接口的说明和调取方法,程序使用方法等! 实验中采用擎天柱转换板做实物实验! 下载进单片机的程序通过USB串口与PC通讯,100%虚拟出了与实物端口一模一样的效果! 实验中,充分利用多任务运行函数: staticTASK_COMPONENTS Task_Comps[]= { {0, 1, 1 , Seg_Task}, /* task 1 Period: 600ms */ {0, 1000, 1000, TIMECOUNT_Task}, /* task 1 Period:600ms */ {0, 1000, 1000, PLED_40}, /* task 1 Period: 600ms */ {0, 1000, 1000, SEG_PC}, /* task 1 Period: 600ms */ }; 完美实验所有任务的同步高效运行。 3. 课后小练:简易10秒免单计数器 1.在前四位数码管上显示目标时间,即“ 10. 00 ”表示定时时间10秒钟 2.后四位显示当前的计时00.00,最小单位为10ms, 3.按下开始按钮后,每10ms最末尾的数字+1;直到按下结束按钮后停止计数。 下面是借助冲哥的代码修改后实现的功能,符合要求。
|