日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]三、ATMEGA16驅(qū)動16*2點陣字符液晶三—(01)、ATMEGA16驅(qū)動16*2點陣字符液晶這篇文章只是簡單的驅(qū)動并讓1602顯示,并沒有用到讀數(shù)據(jù)和讀狀態(tài)的部分,也沒有用到讀寫檢測(要是感興趣的話還是寫寫這里吧)1、那就是用

三、ATMEGA16驅(qū)動16*2點陣字符液晶

三—(01)、ATMEGA16驅(qū)動16*2點陣字符液晶

這篇文章只是簡單的驅(qū)動并讓1602顯示,并沒有用到讀數(shù)據(jù)和讀狀態(tài)的部分,也沒有用到讀寫檢測(要是感興趣的話還是寫寫這里吧)

1、那就是用什么樣的液晶,又該怎么驅(qū)動,現(xiàn)在把datasheet的部分圖片貼出來,看看,so easy~~的

1)就是它的引腳說明(個人感覺要想具體了解還是在網(wǎng)上搜搜吧~~我這里也就是簡單了解~)



這里也就三個引腳需要注意就是RS、R/W、E,這三個引腳,傳輸數(shù)據(jù)的必用引腳,別的就不用詳細介紹了吧~~(后面的程序就是根據(jù)這三個引腳的時序圖來寫的!

2)(說實話,我真的不太想詳細說,因為好多人對于驅(qū)動這個1602來說太簡單了~~所以我盡量簡潔)基本操作時序

1讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0~D7=狀態(tài)字

2寫指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=H輸出:無

3讀數(shù)據(jù):輸入:RS=H,RW=H,E=好輸出:D0~D7=數(shù)據(jù)

4寫數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖 輸出:無







注意,由于咱們不注重讀,所以上面重要看的就是寫時序,還有就是時序參數(shù)!?。。?/p>

(這里我就不用太多解釋了吧,但是要注意一點,1602嗎,咱就是讓它來顯示數(shù)據(jù)的,那些什么讀狀態(tài)啊,還有讀數(shù)據(jù)什么的,暫時是用不到的,所以,這里暫時就不予以介紹了,所以呢,咱就直接用寫指令和寫數(shù)據(jù),仔細看看會發(fā)現(xiàn)寫指令和寫數(shù)據(jù)就只有一點不一樣哦~~~~就是RS為低為寫指令;反之~~~)

3)狀態(tài)字說明



后面說的讀寫檢測什么的暫時是用不到的,那是因為咱們給它一個延時,不就哦了,不過要是想用那就好好看看datasheet嘍~~~~(大實話:狀態(tài)字還不怎么會用,要是會了,以后回帖~~哈哈)

4)RAM地址映射圖


5)指令說明(這里才是重點~~上面的只要找到datasheet就知道了~~~啊~~煩死了)

5.1初始化設(shè)置:

5.1.1顯示模式設(shè)置:



就是寫指令唄0x38

5.1.2顯示開關(guān)及光標設(shè)置




這個很簡單的,我還看過郭天祥老師的教學(xué)視頻~~他就是拿這個講的~~呵呵

5.2數(shù)據(jù)控制(累死了,真的不想寫了,直接上圖片吧~~)



圖片里面的讀數(shù)據(jù)和寫數(shù)據(jù)就是那個讀時序和寫時序,上邊都有了,我就不貼了~~

好了我仿真的圖片





最后就是程序了~~

//------------------------------------------------------------------------------
//LCD1602的顯示程序
#include"ioavr.h"
#include"intrinsics.h"
//------------------------------------------------------------------------------
typedef unsigned char uchar;
typedef unsigned intuint;
//------------------------------------------------------------------------------
//RS、RW、EN引腳輸出高低電平的宏定義
#define lcd_rs_1PORTB|=1
#define lcd_rs_0PORTB&=~1
#define lcd_rw_1PORTB|=2
#define lcd_rw_0PORTB&=~2
#define lcd_en_1PORTB|=4
#define lcd_en_0PORTB&=~4
//------------------------------------------------------------------------------
#define data_port PORTA
#define busy0x80
#define xtal8
//------------------------------------------------------------------------------
uchar __flash str0[]={"This is a LCD-!"};
uchar __flash str1[]={"Designed by ME"};
//------------------------------------------------------------------------------
//延時1ms函數(shù)
void delay_1ms()
{
uint i;
for(i=1;i<(uint)(xtal*143-2);i++);
}
//------------------------------------------------------------------------------
//延時nms函數(shù)
void delay_nms(uint n)
{
uint i=0;
while(i{
delay_1ms();
i++;
}
}
//------------------------------------------------------------------------------
//LCD寫數(shù)據(jù)函數(shù)
void lcd_write_data(uchar dat)
{
lcd_rs_1;
lcd_rw_0;
data_port=dat;
delay_1ms();
lcd_en_1;
delay_1ms();
lcd_en_0;
}
//------------------------------------------------------------------------------
//LCD寫指令函數(shù)
voidlcd_write_command(uchar com)
{
lcd_rs_0;
lcd_rw_0;
data_port=com;
delay_1ms();
lcd_en_1;
delay_1ms();
lcd_en_0;
}
//------------------------------------------------------------------------------
//LCD初始化函數(shù)
void lcd_init()
{
lcd_write_command(0x01);
delay_1ms();
lcd_write_command(0x38);
delay_1ms();
lcd_write_command(0x0c);
delay_1ms();
lcd_write_command(0x06);
delay_1ms();
}
//------------------------------------------------------------------------------
//LCD顯示函數(shù)
void lcd_display()
{
uint num;
lcd_write_command(0x80);
for(num=0;num<16;num++)
{
lcd_write_data(str0[num]);
delay_1ms();
}
lcd_write_command(0x80+0x40);
for(num=0;num<16;num++)
{
lcd_write_data(str1[num]);
delay_1ms();
}
}
//------------------------------------------------------------------------------
//main
void main()
{
delay_nms(100);
DDRA=0XFF;
PORTA=0X00;
DDRB=0XFF;
PORTB=0X00;

lcd_init();
lcd_display();
while(1);
}


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

我們的團隊創(chuàng)建了這個項目,因為我們經(jīng)常因為專注于學(xué)習(xí)或工作而錯過禱告時間。我們想要一個簡單的祈禱時間提醒,易于構(gòu)建,可以直接顯示信息,而無需查看智能手機。

關(guān)鍵字: Arduino UNO 點陣 MAX7219

北京2023年1月18日  /美通社/ -- 微云全息公司(納斯達克:HOLO)(以下簡稱為"HOLO"或"公司"),一家提供全息數(shù)字孿生技術(shù)服務(wù)提供商,開發(fā)多套算法支持...

關(guān)鍵字: NAS DAQ ASDA 點陣

引言   現(xiàn)場總線作為生產(chǎn)過程自動化發(fā)展的重點,對推動自動化技術(shù)起到巨大的推動作用,是現(xiàn)代化工業(yè)的標志。MODBUS作為現(xiàn)場總線的一種通信協(xié)議,它實現(xiàn)了PLC控制器、工控儀表與設(shè)備間的通

關(guān)鍵字: avr單片機 智能控制系統(tǒng) modbus協(xié)議

  正確理解LED省電的正確姿勢:   我們渡過了液晶取代純平的時期,但那個時期的液晶,無論是尺寸,功耗,其實還不那么優(yōu)秀,一個普通的15寸液晶,功耗也高達30W,雖然相比當時的純平還是

關(guān)鍵字: LED 二極管 點陣

一、項目概述 1.1 引言 溫室是一種可以改變植物生長環(huán)境、為植物生長創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙膱鏊?。它以采光覆蓋材料作為全部或部分結(jié)構(gòu)材料,可在冬季或其

關(guān)鍵字: avr單片機

一、項目概述 1.1 引言 隨著社會的發(fā)展,高層建筑和智能化建筑的不斷出現(xiàn),作為垂直運輸工具的電梯得到了越來越廣泛的應(yīng)用,人們對電梯服務(wù)質(zhì)量及可靠運行提出了越來越高的要求。在20

關(guān)鍵字: avr單片機 節(jié)能電梯

VR給人一種沉浸感,具有傳統(tǒng)娛樂方式不可比擬的優(yōu)勢。理想的VR讓人分不清現(xiàn)實和虛擬,VR領(lǐng)路人相信VR能夠改變?nèi)藗兊纳罘绞健? 過去的時間,那些VR領(lǐng)域的佼佼者們有兩件事做得非常好:一是

關(guān)鍵字: avr單片機

什么是AVR單片機?應(yīng)該如何取學(xué)習(xí)?學(xué)習(xí)單片機的小伙伴都知道,衡量單片機性能好壞的指標主要有:可靠性好、功能強、高速度、低功耗和低價位,依靠這幾點,作為單片機家族中性能較高的AVR,你真的能理解嗎?

關(guān)鍵字: AVR avr單片機 寄存器

近日,德國化工巨頭巴斯夫(BASF)表示旗下全資子公司Trinamix研發(fā)的新型人臉識別技術(shù)即將問世,通過引入創(chuàng)新性的3D傳感器及“活體皮膚”檢測系統(tǒng)來防止欺騙性攻擊,提高安全性。 Tr

關(guān)鍵字: 3D人臉識別 MIX INA 點陣

單片機誕生于20世紀70年代末,它是指一個集成在一塊芯片上的完整計算機系統(tǒng)。單片機具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外...

關(guān)鍵字: avr單片機 單片機
關(guān)閉