在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,并将程序烧入芯片。
上一篇:电子秤无法称到满载是什么原因
免责声明
- 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
- 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
- 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
- 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
2025第十一届中国国际机电产品交易会 暨先进制造业博览会
展会城市:合肥市展会时间:2025-09-20