在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,并將程序燒入芯片。
上一篇:電子秤無法稱到滿載是什么原因
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.lfljgfsj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業博覽會
展會城市:合肥市展會時間:2025-09-20