全球旧事资料 分类
编程定时计数器
时钟频率033MHz
全双工UART串行中断口线
256x8bit内部RAM
2个外部中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
看门狗(WDT)电路
软件设置空闲和省电功能
灵活的ISP字节和分页编程
双数据寄存器指针
8X8点阵LED工作原理说明8X8点阵LED结构如下图所示
从上图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如上图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。
第3节系统的软件设计
3.1主程序
在刚上电时对系统进行初始化然后读一次键开关状态由键标志位值00H、01H、02H决定显示的方式。主程序流程图如下:开始调用扫描子程序
f(KEYWORK)20H0120H1120H21转向左滚动显示程序(FUN2)转逐字显示程序(FUN0)转向上滚动显示程序(FUN1)YYYNNN
32初始化程序
在系统初始化时,对四个端口进行复位,将显示用的字符数据从ROM表中装入内存单元50H6FH中。“电子设计”中的每个字占用8个地址单元。
33显示程序
显示程序由显示主程序和显示子程序写成。显示主程序负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。显示子程序则负责对指定8个地址单元的数据进行输出显示,显示一个完整文字的时间约为8ms。在显示子程序中,1ms延时程序是用调用键扫描子程序的方法实现的。下图为逐字显示及向上滚动显示方式时的显示控制程序流程图;逐字或上移显示开始设1帧显示时间及换帧布距显示首址修改:(B)R5(B)
f调显示子程序(DISPLAY)寄存器B、R4、R5赋初值转START1(R4)10?(B)68H?YNYN
利用键扫描程序代替显示程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。对于多个文字的大屏幕显示,应该使用输出数据缓冲寄存器,才可以得到稳定的显示文字。
程序设计清单
SECOND
EQU30H
MINITE
EQU31H
HOUR
EQU32H
HOURK
BITP00
MINITEKBITP01
SECONDKBITP02
DISPBUFEQU40H
DISPBITEQU48H
T2SCNTAEQU49H
T2SCNTBEQU4AH
TEMP
EQU4BH
ORG00H
fLJMPSTART
ORG0BH
LJMPINT_T0
STARTMOVSECr
好听全球资料 返回顶部