LCD显示接口模块的元器件选型
同时,这种单片机指令多为单字节,大大提高了程序存储器的空间利用率,与传统的采用CISC结构的8位单片机相比,可以达到2∶1的代码压缩,速度提高4倍。
PIC16F877带8位Flash型数据寄存器,擦写次数达100万次,所以它非常适合于那些可能会经常改动程序编码的应用。PIC16F877有5组I/O口,2组8位计时/计数器TImer0、Timer2,及1组16位计时/计数器Timer1,支持14个中断。
1.程序存储器结构
PICl6F877有一个13位的程序寄存器,它的寻址能力达8K×14程序存储器空间。PlCl6F877有8K×14个Flash程序存储器字,PIC16F873/874有4K×14个Flash程序存储器字,寻址超出上面可执行的地址将导致回饶,复位向量在0000H,中断向量在0004H。
2.数据存储器结构
数据存储器被分成多块,它包括通用寄器(GPR)和特殊功能寄存器(SFR),位RP1和RP0是块选择位。
每个块的范围达到7FH(128bit),每个块的较低位存储单元保存SFRS,在SFRS上是GPRS,作为静态RAM来使用。所有执行的块包括SFRR。一些经常使用的SFRS可以从一个块镜像到另外一个块来减少代码和实现快速访问。
(1)通用寄存器。
通用寄存器组件可以通过选择寄存器直接或间接地访问。
(2)特殊功能寄有器。
特殊功能寄存器(SFRS)是通过CPU和外围模块来控制单片机运行的寄存器,这些寄存器是作为静态RAM使用的。
特殊功能寄存器被分成两类:一类是核心功能有关的特殊功能寄存器,另一类是与外围特性有关的外设寄存器。
(3)状态寄存器。
状态寄存器包括ALU的算术运算状态、复位状态和数据寄存器的块选择位。和其他任何寄存器一样,状态寄存器可以作为任一指令的目标寄存器。如果在一个影响Z、DC、C位的指令中,状态寄存器是一个目标寄存器,那么写入状态寄存器的字位是禁止的,这些字位可通过单片机的逻辑运算而清0或置1。
此外TO和PD位是不可写入的,因此,用状态寄存器作为目标寄存器,一条指令的执行结果可能与预想的不同。如CLRF、STATUS将清除高3位和将Z位置1,这将使状态寄存器成为000UU1UU(U表示未变)。因此推荐用BCF、BSF、SWAPF和MOVWF指令来改变状态寄存器,这些指令不影响状态寄存器的Z、DC和C位。
(4)选择寄存器。
OPTION-REG寄存器是一个可读写的寄存器,它包括各种控制位,用来设定TMRO/WDT预分频器,(作为预分频器的分配寄存器)外部INT中断。
(5)中断控制寄存器。
INTCON寄存器是可读写的寄存器,它包括各种TMR0寄存器溢出,RB端口变化和外部RB0引脚中断的使能维护标志位。
(6)PIE1寄存器。
PIE1寄存器包括进行外部中断的使能位
(7)PIR1寄存器。
PIR1寄存器包括进行外部中断的单个标志位。
(8)PIE2寄存器。
这个寄存器包括对于SSP总线冲突和低电压探测中断的使能位。
(9)PCON寄存器。
电源控制(PCON)寄存器括在一个上电复位(POR)、一个降压复位、外部MCLR复位、监视定时器(WDT)之间不同的标志位。
(10)PCL和PCLATH。
PC是13位字宽,它的低位字节叫做PCI寄存器,它是一个可读写的寄存器。它的高位PC12∶8>是不可读的,但可以通过PCLATH寄存器间接写。在任何复位PC的较高位将被清0。
设计中选用LCM12864ZK液晶显示模块作为人机界面。LCM12864ZK液晶显示模块字型ROM内含8192个16×16点中文字型和128个16×8点字母符号字型,内含CGRAM,提供4组软件可编程的16×16点阵造字功能,电源操作范围是2.7~5.5V。
同时,与单片机的接口界面灵活(并行8位/4位,串行3线趁线),可实现汉字、ASCII码、点阵图形的同屏显示,实现了本系统的各级参数选择菜单。LCMI2864ZK液晶显示模块电性能参数和模块引脚说明如表1和表2。
表1 LCM12864ZK液晶显示模块电性能参数所示。
表2 LCM12864ZK液晶显示模块引脚说明
续表
评论