智能化住宅小区安全服务系统
的振铃信号接到单片机的外中断口线上,中断服务子程序的功能是接收报警信息并予以存储和显示,主要软件流程如图4所示。系统设置的2个按键分别对应清除声光报警(亦即管理人员对报警作出响应)及申请和上位微机进行通信(包括将存储器内容读到微机中,利用微机校正系统的时钟芯片的时间设置和将保存在微机中的地址电话对应表写入闪速存储器中)的功能,主要软件流程如图5所示。
在闪速存储器28SF040中存放的是收到的报警信息和预先定入的地址电话对应表。报警信息包括报警时间(年、月、日、时、分、秒)、报警地点(栋、单元、楼层、房间)、警种和管理人员的处理时间(时、分、秒)。按BCD码存放,每1项点1个字节(其中“年”取后2位数字),合起来作为逻辑上的1个目录,共点14个字节,考虑到编程方便,以每16个字节为1个记录。另外,地址电话对应表设为每8个字节为1个记录,每个记录中电话号码和地址均以BCD码存放,各占4个字节。如有16KB存放地址电话对应表,共可记录2048个住户的地址电话信息和31743个警讯记录,其中存储的第1个记录用来存放存储器中最后1个警讯记录的第1个字节所在的地址,以便于存入新记录时的定位。
表1控制寄存器
寄存器类型I/O地址数据R/W特性No.
名称
A3A2A1A0D7D6D5D4D3D2D1D0R1模式寄存器0001DISPREVPANELORGRAY4/8LCDERAMSWR2每行字节数寄存器0010C/PWR3水平同脉宽寄存器0011LPWWR4总显示行数寄存器(纵向分辨率)0100SLTLWR50101SLTHWR6屏1显示开始地址寄存器0110SAD1LR/WR70111SAD1HR/WR8屏2显示开始地址寄存器1000SAD2LR/WR91001SAD2HR/WR10屏1显示行数寄存器1010SL1LWR111011SL1HWR13地址调节寄存器1101APAJDWR14GS1灰度寄存器1110GS1WR15GS2灰度寄存器1111GS2W
系统选用320×240点阵的LCD,标准的汉字为16×16点阵,字符为8×16点阵,即LCD上可显示15行20列的汉字。液晶显示控制和驱动器内置14个控制寄存器,控制显示器的工作状态,如表1所列。当IOCS为低电平时,其地址由AB0~AB3来控制。其中R1为模式寄存器,各位的功能如下。
(1)DISP:DISP=0,关显示;DISP=1,开显示。
(2)REV:REV=0,正显;REV=1,反显。
(3)PANEL:PANEL=0,驱动单LCD屏;PANEL=1,驱动双LCD屏。
(4)OR:OR=0,显示分成上下两屏,连接显示;OR=1,显示分成前后两层,叠加显示。
(5)GRAY:GRAY=0,黑白显示;GRAY=1,灰度显示。
(6)4/8选择驱动LCD时的数据宽度。
4/8=0,4位数据传输;4/8=1,8位数据传输。与数据总线无关,建议设置宽度,该选项设为0。
(7)LCDE:LCDE=0,LCD电源关;LCD=1,LCD电源开。
(8)RAMS:显示存储器(VRAM)地址线配置。RAMS=0,地址8K×8SRAM'S;RAMS=1,地址32K×8SRAM'S。建议设置为1。
例如,设置液晶屏为单模块、分屏、黑白模式,屏1定义为上半部,屏2定义为下半部,且屏幕分辨率为320×240。显示存储器与单片机内存统一编址,显示存储器由单片机直接寻址操作。屏幕初始化时,各寄存器的设置参数如下:
R1=83H,R2=27H,R3=7EH,R4=EFH,R5=0,R6=R7=0,R8=C0H,R9=12,R10=77H,R11=0,R13=R14=R15=0。
对于实际情况中的字符显示,通常可在坐标纸上画出字符的形状。根据它占用的每个字节的内容制作一个数值表(称点阵数据),将这个表放在ROM中,显示字符时,调用程序将这个表写入VRAM的相应位置中实现显示。ROM中的这个数值表称为字模。若字符很少,这样制作尚可。如果要显示全部ASCII码或者显示汉字,就要设法套用现成的字模。ASCII字符可选用UCDOS的ASC16文件做字模库,汉字字符可以选用UCDOS的HZK16文件做字模库。此外,还有一些基于UCDOS或Windows的字模提取软件,输入字符或汉字后就会得到相应的字模,这对于要显示的数目不大的字符或汉字是很方便的。本 《智能化住宅小区安全服务系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/171698.html
在闪速存储器28SF040中存放的是收到的报警信息和预先定入的地址电话对应表。报警信息包括报警时间(年、月、日、时、分、秒)、报警地点(栋、单元、楼层、房间)、警种和管理人员的处理时间(时、分、秒)。按BCD码存放,每1项点1个字节(其中“年”取后2位数字),合起来作为逻辑上的1个目录,共点14个字节,考虑到编程方便,以每16个字节为1个记录。另外,地址电话对应表设为每8个字节为1个记录,每个记录中电话号码和地址均以BCD码存放,各占4个字节。如有16KB存放地址电话对应表,共可记录2048个住户的地址电话信息和31743个警讯记录,其中存储的第1个记录用来存放存储器中最后1个警讯记录的第1个字节所在的地址,以便于存入新记录时的定位。
表1控制寄存器
寄存器类型I/O地址数据R/W特性No.
名称
A3A2A1A0D7D6D5D4D3D2D1D0R1模式寄存器0001DISPREVPANELORGRAY4/8LCDERAMSWR2每行字节数寄存器0010C/PWR3水平同脉宽寄存器0011LPWWR4总显示行数寄存器(纵向分辨率)0100SLTLWR50101SLTHWR6屏1显示开始地址寄存器0110SAD1LR/WR70111SAD1HR/WR8屏2显示开始地址寄存器1000SAD2LR/WR91001SAD2HR/WR10屏1显示行数寄存器1010SL1LWR111011SL1HWR13地址调节寄存器1101APAJDWR14GS1灰度寄存器1110GS1WR15GS2灰度寄存器1111GS2W
系统选用320×240点阵的LCD,标准的汉字为16×16点阵,字符为8×16点阵,即LCD上可显示15行20列的汉字。液晶显示控制和驱动器内置14个控制寄存器,控制显示器的工作状态,如表1所列。当IOCS为低电平时,其地址由AB0~AB3来控制。其中R1为模式寄存器,各位的功能如下。
(1)DISP:DISP=0,关显示;DISP=1,开显示。
(2)REV:REV=0,正显;REV=1,反显。
(3)PANEL:PANEL=0,驱动单LCD屏;PANEL=1,驱动双LCD屏。
(4)OR:OR=0,显示分成上下两屏,连接显示;OR=1,显示分成前后两层,叠加显示。
(5)GRAY:GRAY=0,黑白显示;GRAY=1,灰度显示。
(6)4/8选择驱动LCD时的数据宽度。
4/8=0,4位数据传输;4/8=1,8位数据传输。与数据总线无关,建议设置宽度,该选项设为0。
(7)LCDE:LCDE=0,LCD电源关;LCD=1,LCD电源开。
(8)RAMS:显示存储器(VRAM)地址线配置。RAMS=0,地址8K×8SRAM'S;RAMS=1,地址32K×8SRAM'S。建议设置为1。
例如,设置液晶屏为单模块、分屏、黑白模式,屏1定义为上半部,屏2定义为下半部,且屏幕分辨率为320×240。显示存储器与单片机内存统一编址,显示存储器由单片机直接寻址操作。屏幕初始化时,各寄存器的设置参数如下:
R1=83H,R2=27H,R3=7EH,R4=EFH,R5=0,R6=R7=0,R8=C0H,R9=12,R10=77H,R11=0,R13=R14=R15=0。
对于实际情况中的字符显示,通常可在坐标纸上画出字符的形状。根据它占用的每个字节的内容制作一个数值表(称点阵数据),将这个表放在ROM中,显示字符时,调用程序将这个表写入VRAM的相应位置中实现显示。ROM中的这个数值表称为字模。若字符很少,这样制作尚可。如果要显示全部ASCII码或者显示汉字,就要设法套用现成的字模。ASCII字符可选用UCDOS的ASC16文件做字模库,汉字字符可以选用UCDOS的HZK16文件做字模库。此外,还有一些基于UCDOS或Windows的字模提取软件,输入字符或汉字后就会得到相应的字模,这对于要显示的数目不大的字符或汉字是很方便的。本 《智能化住宅小区安全服务系统(第2页)》