7,下面的代碼是控制液晶全屏顯示圖片,代碼如下://程序功能:在12864液晶上顯示兩幅圖片,一個(gè)為陰碼圖片,一個(gè)為陽(yáng)碼圖片
本文引用地址:http://www.ex-cimer.com/article/201611/322840.htm//*本程序我已經(jīng)試過(guò),調(diào)通,可以使用液晶是有兩根線WREN串行控制的
//*這里是液晶的串行連接控制,可以大大節(jié)省單片機(jī)的IO口,但是數(shù)據(jù)處理起來(lái)要比并行連接的要慢,所以如果要求顯示內(nèi)容數(shù)據(jù)較大,
//*對(duì)顯示的實(shí)時(shí)性要求較高的話(比如連續(xù)顯示多幅圖畫(huà),演示動(dòng)畫(huà)等),應(yīng)該考慮并行連接。如果單片機(jī)的IO口不夠,或?qū)︼@示內(nèi)容的容
//*量和實(shí)時(shí)性要求不高的話,可以考慮用串行連接的方式
//有可能是因?yàn)?strong>msp430g2553的處理能力較強(qiáng),我現(xiàn)在用串行連接方式,顯示下面的幾幅圖畫(huà),顯示效果很好,看不出有什么數(shù)據(jù)傳輸速度慢的問(wèn)題
//msp430g2553有16K的flash512B的RAM所以可以存放的下幾張圖片的數(shù)據(jù)的
#include"msp430g2553.h"
#include"ser_12864.h"
#include"qq.h"//要顯示圖片的數(shù)據(jù)信息
voidmain(void)
{
WDTCTL=WDTPW+WDTHOLD;//關(guān)狗
BCSCTL1=CALBC1_12MHZ;//設(shè)定cpu時(shí)鐘DCO頻率為12MHz
DCOCTL=CALDCO_12MHZ;
P2DIR|=BIT5+BIT4;//液晶的兩條線
init_lcd();//初始化液晶
Clear_GDRAM();//清除GDRAM中的隨機(jī)數(shù)據(jù)
//Draw_PM(qq1);
for(;;)
{
//wr_lcd(comm,0x34);//打開(kāi)擴(kuò)展功能模式,繪圖顯示關(guān)閉
////反白命令
//wr_lcd(comm,0x04);//同時(shí)反白1、3行
//wr_lcd(comm,0x05);//同時(shí)反白2、4行
//wr_lcd(comm,0x36);
//
//delay_ms(1000);
//
//wr_lcd(comm,0x34);
//wr_lcd(comm,0x04);//再次反白1、3行,相當(dāng)于關(guān)閉1、3行反白
//wr_lcd(comm,0x05);//再次反白2、4行,相當(dāng)于關(guān)閉2、4行反白
//wr_lcd(comm,0x36);
//delay_ms(1000);
Draw_PM(qq1);//顯示圖畫(huà)顯示陰碼格式的圖形
delay_ms(1000);//延遲觀察液晶屏幕顯示
Draw_PM(qq2);//顯示陽(yáng)碼格式的圖形
delay_ms(1000);
Draw_PM(zhu);
delay_ms(1000);//顯示可愛(ài)豬的圖片
Draw_PM(zifu);//顯示漢字的圖片
delay_ms(1000);
Draw_PM(monkey1);//顯示猴子的陰碼圖片
delay_ms(1000);
Draw_PM(monkey2);//顯示猴子的陽(yáng)碼圖片
delay_ms(1000);
Draw_PM(QQ);//顯示Q哥Q妹形象
delay_ms(1000);
Draw_PM(zhangbin);//顯示我自己制作的字符圖片
delay_ms(1000);
Draw_PM(dianxin0903xiaolian1);//顯示我自己制作的字符圖片陰碼圖片
delay_ms(1000);
Draw_PM(dianxin0903xiaolian2);//顯示我自己制作的字符圖片陽(yáng)碼圖片
delay_ms(1000);
}
}
//本程序的功能實(shí)現(xiàn)了,是陰碼格式的圖形和陽(yáng)碼格式的圖形交替循環(huán)顯示
//我本想是用反白的方法實(shí)現(xiàn)這種效果的,但是沒(méi)有成功,估計(jì)是因?yàn)榉窗撞荒芡瑫r(shí)整屏反白的緣故吧
8,好了,上面的代碼是msp430g2553串行控制液晶的,是可以直接用的。把上面的代碼看明白,液晶的基本功能應(yīng)該就掌握了,下面就在貼出一些常用的顯示函數(shù),這些函數(shù)都是我經(jīng)常用的,很不錯(cuò):
////
{
ucharpos=0;//初始化
ucharcnt=0;//傳遞過(guò)來(lái)的是指針,cnt為偏移量,然后一個(gè)字符一個(gè)字符的寫(xiě)入。
switch(y0)
{
case0:pos=0x80+x;break;
case1:pos=0x90+x;break;
case2:pos=0x88+x;break;
case3:pos=0x98+x;break;
default:break;
}
wr_lcd(comm,pos);//寫(xiě)地址
while(*(p+cnt)!=看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();