资源描述:
《Protues中单片机驱动12864仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Protues中单片机驱动lcd12864液晶显示屏仿真:Protues中lcd12864是无字库的,要让它显示一个数字或者汉字或者图片,都需要先对其取模。那么首先介绍介绍一款比较好用的取模软件,百度搜索“zimoV2.2”就可以了。下面先介绍这个取模软件的使用方法:1.打开软件,界面如下:2.通常我们显示汉字用的是16×16的像素大小,而显示数字用的是16×8的格式,那么选择文字输入区字体选择,弹出的界面选择如下:2.其次在“其他选项”中,选择如下:3.上面设置好之后我们就可以在文字输入区输入汉字了,以“Ctrl”+“Enter”结束:2.然后点击“C51格式”,在点阵生成区就会出现相应的模
2、如下,我们可以把每个汉字对应的模存放在相应的数组中:上面为取模软件的使用方法,下面开始正式教给读者单片机驱动lcd12864液晶显示屏的方法,在这之前,需要对无字库lcd12864液晶显示屏有个基础的了解,相关引脚如下:管脚名称LEVER管脚功能描述VSS0电源地VDD+5.0V电源电压V0-液晶显示器驱动电压D/I(RS)H/LD/I=“H”,表示DB7∽DB0为显示数据D/I=“L”,表示DB7∽DB0为显示指令数据R/WH/LR/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DREH/LR/W=“L”,E信号下降沿锁存DB7∽DB0R/W=“
3、H”,E=“H”DDRAM数据读到DB7∽DB0DB0H/L数据线DB1H/L数据线DB2H/L数据线DB3H/L数据线DB4H/L数据线DB5H/L数据线DB6H/L数据线DB7H/L数据线CS1H/LH:选择芯片(右半屏)信号CS2H/LH:选择芯片(左半屏)信号RETH/L复位信号,低电平复位VOUT-10VLCD驱动负电压LED+-LED背光板电源LED--LED背光板电源通过控制CS1和CS2可以用来使能左半屏和右半屏,两个半屏的页和列都是相同的,如下图:根据上图,如果我们需要在某个位置显示相应内容,如在左半屏的第0页和第2页的第0列至第15列的区域里显示汉字“农”。按照上面的描述,
4、我们就不需要在深究lcd12864液晶显示屏的内部原理以及相关指令,我们需要一个封装好的C模块文件(API),直接调用对应的函数即可。具体如下:(1)假设有一个已经编写好的函数LCDWriteNum(charleftright,charpage,charcolumn,charnum[]),参数leftright用来使能左半屏或者右半屏(‘L’或者’R’),参数page用来选择在哪一页显示(0~7),参数column用来选择在哪一列显示(0~64),参数num[]即为待显示数字的模。这样我们要在12864的左半屏第2页和第3页的第3列至第10列的16×8区域里显示数字5,可以调用函数LCDWri
5、teNum(‘L’,2,3,num5[])即可(num5[]数组为数字5的模)。(2)假设有一个已经编写好的函数LCDWriteNumBlack(charleftright,charpage,charcolumn,charnum[]),参数leftright用来使能左半屏或者右半屏(‘L’或者’R’),参数page用来选择在哪一页显示(0~7),参数column用来选择在哪一列显示(0~64),参数num[]即为待显示数字的模。这样我们要在12864的左半屏第2页和第3页的第3列至第10列的16×8区域里以黑色背景来显示数字5,可以调用函数LCDWriteNumBlack(‘L’,2,3,nu
6、m5[])即可(num5[]数组为数字5的模)。(3)假设有一个已经编写好的函数LCDWriteChinese(charleftright,charpage,charcolumn,charchinese[]),参数leftright用来使能左半屏或者右半屏(‘L’或者’R’),参数page用来选择在哪一页显示(0~7),参数column用来选择在哪一列显示(0~64),参数num[]即为待显示汉字的模。这样我们要在12864的左半屏第2页和第3页的第3列至第10列的16×8区域里显示汉字“农”,可以调用函数LCDWriteChinese(‘L’,2,3,nong[])即可(nong[]数组为汉
7、字“农”的模)。(1)假设有一个已经编写好的函数LCDWriteChineseBlack(charleftright,charpage,charcolumn,charchinese[]),参数leftright用来使能左半屏或者右半屏(‘L’或者’R’),参数page用来选择在哪一页显示(0~7),参数column用来选择在哪一列显示(0~64),参数num[]即为待显示汉字的模。这样我们要在12