1. 引脚特别说明
1).osci/osco:晶体震荡32.768KHZ输入口,另外可以使用片内的震荡器,或外部提供的系统时钟信号
2).vcld:LCD电源控制,具体参数要看玻璃片的要求
3).上拉电阻:在部分引脚上手册上介绍需要接上拉电阻,其实没有这个必要
2. 堪误
1621B的参数手册上有错,英文板**页上的dip应为ddip,中文板上第四页上的供应电压-0.3V~0.5V,应为--0.3V~5.5V。
3.lcd的频率:时钟频率0.25khz COM0/1/2/3=0.256KZH/n (我们取n=4)
数据输入的时钟Fclk*大为500KHZ,无*小值和经典值
4. sysdis控制命令:其作用是停止系统的时钟和将SEG输出关闭,使用条件是1621使用片内RC震荡器或外部晶震。如果使用的外部时钟信号,就需要通过关闭该时钟信号来实现类似的功能。
5. 功耗计算: 5V电源
*大待机功耗 5V*0.6mA=3mW
每个COM口驱动的时候的功耗 5V*0.2mA*12=12mW
不开BEEP的时候*大功耗 15mW
BEEP功耗 *小典型值1.3V*2.6mA=3.38mW *大典型值4.5V*1.8mA=8.1mW
整个部分(计算)功耗是 6mW~23mW
6. LCD OFF关闭LCD显示输出
7.真值表
使用4位管的时候: 0AFH,0A0H,0CBH,0E9H,0E4H,06DH,06FH,0A8H,0EFH,0EDH,00H,040H,04FH,042H,00H
; 0 1 2 3 4 5 6 7 8 9 AN - E r AN
使用6位管的时候:
0EBH,60H,0C7H,0E5H,06CH,0ADH,0AFH,0E0H,0EFH,0EDH,10H,04H,08FH,06H,00H
; 0 1 2 3 4 5 6 7 8 9 dp - E r an
8.pin和seg的对应问题
使用4管的时候
SEG:31 30 29 28 27 26 25 24 23 COM0 COM1 COM2 COM3
PIN: 5 6 7 8 9 10 11 12 13 COM1 COM2 COM3 COM4
使用6管的时候
SEG: 31 30 29 28 27 26 25 24 23 22 21 20 COM0 COM1COM2COM3
PIN: 12 11 10 09 08 07 06 05 04 03 02 01COM1 COM2COM3 COM4
9.新旧系统占用I/O口资源
原考勤中使用到
rck_led p1.1 sclk_led p1.0 beep p1.4 ser_led p1.3 en_led p1.2
原水控中使用到
srclk p2.1 rrclk p2.2 ser p2.0 beep p3.6
新水控中对应的I/O (已经通过测试)
csb p2.0 datum p2.1 wrb p2.2 backcon p3.6 rb 暂时没有分配
新考勤对应的I/O (需要考虑走线的问题)
csb p1.1 datum p1.0 ser p1.4 backcon p1.3 rb p1.2
10.新开RAM以及使用到原有RAM的统计
考勤不详
水控中的情况如下:
复用:使用到待显示码存储区dispbuf0~4 (5B)从其中获得待显示的码,调用NEWDECODE获得显示玛。同时复用了rcount,disp_time其作用是计时,使的不取卡1.5S后关背光,连续待机10分钟后关显示。
新开:1)num0,num1测试显示的时候做存放初值使用,应用dispbuf0,dispbuf1代替 2)code_datum,code_count,seg_add_S 分别是待显示的码显示循环计数1621寄存器地址
3) f_closeback,f_closeLCD 分别是关背光标志和关LCD显示输出标志 11.新旧显示程序部分的主要不同之处
1)考勤不详
2)原水控中使用到显示的子程序有3个分别是:
disp_name :显示机器号 disp_money 显示消费金额和剩余金额 disp 显示错误代码
旧程序在获得显示数后进行BCD码转换,然后逐管读DECODE获得显示码,并调用write_595写如一个数码管只到全部写入。每次write_595执行过后需要对rrclk进行底跳变的操作。
3)新水控中仍然保留这个子程序的名字,使用相同的dispbuf也进行bcd转换,同样逐位读NEWdecode,并调用write1621写如一个数码管。基本流程是一致的。在写1621RAM的时候伴随着P2.0 P2.1 P2.2引脚电瓶的变化。
新水控中在开始的地方必须对1621进行初始化。调用inintial_B进行初始化,同时在需要关闭的时候调用close_B来关闭显示。当然在次打开显示的时候必须再次调用初试化程序。
(在初试化程序中插入了个插clrflash子程序将个ram都写成0*初显示暗码。这个是过程中的需要,目前仍然考虑这个子程序存在有必要没)
12.新水控常用子程序的简单介绍
1)initial_B写如1621的基本参数 close_B关闭1621显示 clr_flash清空所有的1621显示RAM test_loop显示板完整性的测试 write1621_test每次写多个管 write1621_testB显示1234 2345 3456 …… send_command写控制命令 write1621 写指定单元的显示RAM read1621读出指定单元的RAM