您现在的位置:智能制造网>技术首页>应用案例

PIC开发板easypic_v7的GLCD128*64开发流程

2012年02月28日 11:02来源:广州虹科电子科技有限公司 >>进入该公司展台人气:2275

在mikroC PRO for PIC v.5.3.0中,点击菜单file->new->new project。选择器件PIC18F45K22,项目名MyLCD。Device Clock设为8MHz(因板上晶振为8MHz)。

Add file那步可以先跳过。Include Libraries选择Include None(Advance)。Open Edit Project window to set configuration bits前打钩,按Finish。


在弹出的Edit Project对话框中,



 

1、Oscillator selection选择HS oscillator(medium power 4-16 MHz)因晶振为8MHz。

2、4X PLL Enable选择Enable。这样系统时钟可达32MHz。

3、Primary clock enable bit选择Enable。总是使能主时钟。

4、Fail-Safe Clock Monitor选择Disable。不用启动故障保障时钟监视器。

5、Int/Ext Oscillator switchover选择Disable。禁止振荡器切换模式。

6、Power-up timer选择Disable。禁止上电延时定时器(PWRT)。

7、Brown-out Reset选择Brown-out Reset enabled in hardware only(SBOREN is disabled)。硬件使能欠压复位,禁止用软件控制欠压复位。

SBOREN:BOR 软件使能位(1)

如果BOREN<1:0> = 01:

1 = 使能BOR

0 = 禁止BOR

如果BOREN<1:0> = 00、10 或11:

该位被禁止并读为0。

8、Brown-out Reset Voltage选择VBOR set to 1.90V nominal。欠压复位门限为1.90V。

9、Watchdog Timer选择Disabled。禁用看门狗定时器。

10、Watchdog Timer Postscale选择1:32768。因为禁用了看门狗定时器,该设置没实际意义。

11、CCP2 MUX bit选择CCP2 input/output is multiplexed with RC1。CCP2(捕捉/比较/PWM模块2)输入输出口为RC1。

12、PORTB A/D选择Disabled。PORTB<4:0> 引脚在复位时被配置为数字I/O

13、P3A/CCP3 Mux bit选择P3A/CCP3 input/output is multiplexed with RB5。P3A(增强型CCP3 PWM 输出1)/CCP3输入输出口为RB5

14、HFINTOSC Fast Start-up选择Enabled。HFINTOSC开始为CPU 提供时钟而无需等待振荡器稳定下来

15、Timer3 Clock input mux选择T3CKI is on RC0。计数/定时器3输入口为RC0。

16、ECCP2 B output mux选择P2B is on RD2。P2B(增强型CCP2 PWM 输出2)输出口为RD2。

17、MCLR Pin选择MCLR pin enabled,RE3 input pin disabled。使能RE3输入引脚;禁止MCLR。

18、Stack Full/Underflow Reset选择Enabled。堆栈满/下溢导致复位。

19、Low Voltage Program选择Disabled。禁止单电源ICSP 编程。

LVP 配置位使能单电源ICSP 编程(原来称为低电压ICSP编程或LVP)。当使能单电源编程时,单片机可以在无需对MCLR/VPP/RE3 引脚施加高电压的情况下进行编程。

注1:通过将VIHH 施加到MCLR 引脚,就可以进行高电压编程,与LVP 位的状态无关。

2:默认情况下,使能对未编程器件(如Microchip提供的)和已擦除器件进行单电源ICSP 编程。

3:处于低电压ICSP 模式时,MCLR 总是使能,与MCLRE 位无关,并且RE3 引脚不能再用作通用输入。

LVP 位仅可在使用标准高电压编程时被置1 或清零(VIHH 被施加到MCLR/VPP/RE3 引脚)。一旦LVP 被禁止,只能使用标准高电压编程来对器件进行编程。不受代码保护的存储器可以使用块擦除或逐行擦除进行擦除,然后在任何的VDD 下进行写入。如果要擦除受代码保护的存储器,需要进行块擦除。

20、Extended Instruction Set选择Disabled。禁止指令集扩展和变址寻址模式(传统模式)。

21、Background Debug选项,在ICD Debug(在线调试)时选Enabled,否则选Disabled。

22、后面Code Protection Block的可选not code-protected。

23、之后的关于保护的都可选Disabled。

24、oscillator frequency[MHz]填32,000000。因8MHz(晶振)*4(4X PLL)=32MHz。


点击菜单view->windows,选择Library Manager。在Glcd与Glcd_Fonts前的框中打钩,以包含Glcd库。Glcd库中有各种Glcd操作函数。


点击菜单view->project manager。

打开项目管理器。


创建bitmaps.c与MyLCD.c文件,往source目录添加这两个*.c文件。

方法:右键“Souces”,点击Add files to Project。


在MyLCD.c中写入代码模板。

char GLCD_DataPort at PORTD;  //数据端配置

sbit GLCD_CS1 at LATB0_bit;   

sbit GLCD_CS2 at LATB1_bit;   

sbit GLCD_RS  at LATB2_bit;

sbit GLCD_RW  at LATB3_bit;

sbit GLCD_EN  at LATB4_bit;

sbit GLCD_RST at LATB5_bit;   //控制端配置

sbit GLCD_CS1_Direction at TRISB0_bit;

sbit GLCD_CS2_Direction at TRISB1_bit;

sbit GLCD_RS_Direction  at TRISB2_bit;

sbit GLCD_RW_Direction  at TRISB3_bit;

sbit GLCD_EN_Direction  at TRISB4_bit;

sbit GLCD_RST_Direction at TRISB5_bit;    //引脚方向

// End Glcd module connections 以上配置要与原理图匹配。

void delay2S(){                                    // 2 seconds delay function

  Delay_ms(2000);

}

void main() {

  ANSELB = 0;                        // 配置PORTB为数字I/O

  ANSELD = 0;                        // 配置PORTD为数字I/O

  Glcd_Init();                                   // 初始化GLCD

  Glcd_Fill(0x00);                               // 清屏GLCD

  while(1) {

    //自定义代码

  }

}

下图是GLCD接线图,请根据接线配置程序,如图可知,portD作数据线,portB各位作控制端



点击tool->GLCD Bitmap Editor,打开该编辑器。选KS0108选项卡。Compiler选mikroC PRO。



 

按Load Bitmap,载入128*64的BMP图像。

将generated code内的代码复制到bitmap.c文件中

之后在MyLCD.c文件中进行如下操作:


 

在文件开头加:

const code char phone[1024];       //声明外部数组


 

在循环体内加入

while(1) {

//自定义代码

    Glcd_Image(phone);                           // 绘图“phone”

    Delay2s(); Delay2s();                           // 延时4s

    Glcd_fill(0x00);                                //清屏

}


注意:数组bitmap.c中的常量数组名、MyLCD.c中声明外部数组名、Glcd_Image()函数参数名,这三个地方必须一致。

 

二、开发板设置:



1、开发芯片为PIC18F45K22,编程器跳线设置如下:



其原理图:



 

如上图:

mikroProg的MCU-VPP接至PIC芯片的MCLR-RE3脚。

mikroProg的MCU-PGC接至PIC芯片的RB6-MCU。

mikroProg的MCU-PGD接至PIC芯片的RB7-MCU。

mikroProg的BOARD-VPP接至复位电路的#RST。

mikroProg的BOARD-PGC接至板上RB6。

mikroProg的BOARD-PGD接至板上RB7。

mikroProg内部结构如下图:


 

编程时,MCU-PGD、MCU-PGC、MCU-VPP分别接到PGD、PGC、MCLR。

当编程完成时,MCU-PGD、MCU-PGC、MCU-VPP分别接到BOARD-PGD、BOARD-PGC、BOARD-VPP。

因此编程时,板上RB6与芯片RB6-MCU是断开的,板上RB7与芯片RB7-MCU是断开的,MCLR-RE3与复位电路的#RST是断开的,编程器不影响板上其它外设。

编程完成后,板上RB6接至芯片RB6-MCU,板上RB7接至芯片RB7-MCU,MCLR-RE3接至复位电路的#RST。

2、电源跳线设置


选择USB供电,选择5V板上电压。



原理图如下:






mikroProg Suite for PIC编程软件中,可设置有编程器提供板上电源,电压值可选(1.8V-5V),我们选择5V。



SW4.6开关推向ON,开启GLCD背光。



三、下载与调试

 

在线调试步骤:

点击Project->edit project。

在build type框中,选择ICD Debug。



 

点击菜单Build->build and program。编译器编译程序,并自动开启mikroProg Suite for PIC,并将程序烧入芯片。

点击菜单run->start debugger

若不需要调试,则

点击Project->edit project。

在build type框中,选择Release。

点击菜单Build->build and program。编译器编译程序,并自动开启mikroProg Suite for PIC,并将程序烧入芯片。
 

关键词:监视器振荡器
全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭