娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月27日(星期五)

2020年06月27日 | LCD12864子程序

發布者:美好的人生 來源: eefocus關鍵字:LCD12864  子程序  AVR單片機 手機看文章 掃描二維碼
隨時隨地手機看文章

/*********************************************************************         

目    的:   建立LCD12864操作庫

目標系統:   基于AVR單片機                                                 

應用軟件:   ICCAVR                                                      

版    本:   Version 1.0                                                           

*********************************************************************/


/*01010101010101010101010101010101010101010101010101010101010101010101

----------------------------------------------------------------------

----------------------------------------------------------------------

入口參數說明:

//#define OUT_LCD_CS sbi(DDRD,0)

//#define SET_LCD_CS sbi(PORTD,0)

//#define CLR_LCD_CS cbi(PORTD,0)


----------------------------------------------------------------------

待定參數說明:


---------------------------------------------------------------------- 

對外變量說明:


----------------------------------------------------------------------

對外函數說明:


----------------------------------------------------------------------

10101010101010101010101010101010101010101010101010101010101010101010*/


/*--------------------------------------------------------------------

接口定義:


LCD12864_ST7920 ATmega16

1.GND -------- GND

2.VCC -------- VCC

3.V0 -------- V0

4.RS(CS) -------- VCC

5.R/W(SID) -------- MOSI/PB5

6.E(SCLK) -------- SCK/PB7

7.D0 -------- NC

8.D1 -------- NC

9.D2 -------- NC

10.D3 -------- NC

11.D4 -------- NC

12.D5 -------- NC

13.D6 -------- NC

14.D7 -------- NC

15.PSB -------- GND

16.NC -------- NC

17.RST -------- NC

18.NC -------- NC

19.LED+ -------- VCC

20.LED- -------- GND


說明:

(1)使用ATmega16的硬件SPI操作LCD12864_ST7920

(2)PIN4/CS接VCC,其實也可接到特定的IO口,但外部程序需要指定

--------------------------------------------------------------------*/


#ifndef LCD12864_ST7920_H

#define LCD12864_ST7920_H


#include "D:ICC_HCmmIcc.h"


void SPI_init()

{

DDRB |= 0xB0;

SPCR = 0x50; //setup SPI

SPSR = 0x01; //setup SPI

SEI(); 

}


void lcd_wrByte(uint8 data)

SPDR = data; 

while ((SPSR & 0x80) == 0); 

}


void lcd_wrCmd(uint8 HC,uint8 LC)

{

lcd_wrByte(0xF8);

lcd_wrByte(HC); //傳輸高四位

lcd_wrByte(LC); //傳輸低四位

}


void lcd_wrDat(uint8 HD,uint8 LD)

{

lcd_wrByte(0xFA);

lcd_wrByte(HD); //傳輸高四位

lcd_wrByte(LD); //傳輸低四位

}


/*

x表示在第幾行顯示,y表示在第幾列顯示

*/

void lcd_set_xy(uint8 x,uint8 y) 

{

uint8 adr;


switch(x)

{

case 1: adr = 0x7F + y;

break; //在第1行y列顯示

case 2: adr = 0x8F + y;

break; //在第2行y列顯示

case 3: adr = 0x87 + y;

break; //在第3行y列顯示

case 4: adr = 0x97 + y;

break; //在第4行y列顯示

default: ;

}

lcd_wrCmd(adr&0xF0,(adr&0x0F)<<4);

}


void lcd_putc(uint8 x,uint8 y,uint8 ch)

{

lcd_set_xy(x,y);

delay50us(20); 

lcd_wrDat(ch&0xF0,(ch&0x0F)<<4);

}


void lcd_putd0(uint8 x,uint8 y,uint32 dat,uint8 length)

{

sint8 i;


speaData(dat,length);

lcd_set_xy(x,y);

delay50us(40);

for(i=length-1;i>=0;i--)

{

lcd_wrDat( (dataElem[i]+0x30)&0xF0 ,( (dataElem[i]+0x30)&0x0F )<<4 );

delay50us(40); 

}

}


void lcd_putd(uint8 x,uint8 y,uint32 dat,uint8 length)

{

sint8 i;

sint8 effectLen;


if(dat>999999)

effectLen=7;

else if(dat>99999)

effectLen=6;

else if(dat>9999)

effectLen=5;

else if(dat>999)

effectLen=4;

else if(dat>99)

effectLen=3;

else if(dat>9)

effectLen=2;

else

effectLen=1;

speaData(dat,effectLen);


lcd_set_xy(x,y);

delay50us(40); 

if(length>effectLen)

{

for(i=length-effectLen-1;i>=0;i--)

{

lcd_wrDat(' '&0xF0,(' '&0x0F)<<4);

delay50us(40); 

}

}

for(i=effectLen-1;i>=0;i--)

{

lcd_wrDat( (dataElem[i]+0x30)&0xF0 ,( (dataElem[i]+0x30)&0x0F )<<4 );

delay50us(40);

}

}


void lcd_puts(uint8 x,uint8 y,uint8 *str)

lcd_set_xy(x,y);

delay50us(20); 

while(*str)

{

lcd_wrDat((*(str))&0xF0,((*(str))&0x0F)<<4);

str++;

delay50us(20);

}


void lcd_puts_(uint8 x,uint8 y,uint8 *str,uint8 dlyMs)

lcd_set_xy(x,y);

delay50us(20); 

while(*str)

{

lcd_wrDat((*(str))&0xF0,((*(str))&0x0F)<<4);

str++;

delay50ms(dlyMs);

}


void lcd_clr()

{

lcd_wrCmd(0x00,0x10); //顯示右移

delay50us(200);

}


void lcd_init(void)

{

SPI_init(); 

//OUT_LCD_CS; //若LCD_CS

//SET_LCD_CS; 

delay50ms(1);

lcd_wrCmd(0x30,0x30); //使用8位控制界面,使用基本指令集

//lcd_wrCmd(0x00,0xF0); //整體顯示ON

lcd_wrCmd(0x00,0xC0); //整體顯示ON

lcd_wrCmd(0x00,0x10); //清屏

//lcd_wrCmd(0x10,0x00); //光標

lcd_wrCmd(0x00,0x60);

//lcd_wrCmd(0x00,0x70); //顯示右移

delay50ms(1); //不可省去!!!

}


#endif


關鍵字:LCD12864  子程序  AVR單片機 引用地址:LCD12864子程序

上一篇:AVR調試和下載官方平臺的建立
下一篇:AVR PS/2 硬件中斷控制程序

推薦閱讀

近日,全球無線通信與廣播基礎設施設計制造商安弗施無線射頻系統有限公司(RFS)宣布推出其全新有源無源天線(APA)系統,旨在幫助運營應對5G演進進程中的技術和經濟挑戰,并通過增強LTE-Advanced持續推動網絡現代化。此外,RFS將會參加6月27日-29日在上海舉辦的世界移動通信大會(N4-C40),APA將作為重點展示產品展出。 全新APA系統以交叉的方式獨特地將...
據外媒報道,大陸開發了首款超緊湊、高性能的HUD(平視顯示器)。該開發項目其開發與生產服務供應商大陸工程服務(Continental Engineering Services)。這款HUD適用于安裝空間有限的座艙,例如跑車座艙。它能在駕駛員視野范圍內顯示可靠的可視化信息。隨著我們向自動化駕駛邁進,駕駛功能越來越多地從駕駛員身上轉移到車輛上,包括跑車。交通擁堵時,跑...
分析流程圖:源碼源碼分析:;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks; Initialize C-variables; HISTORY:; 2002.02.25:kwtark: ver 0.0; 2002.03.20:purnnamu: Add some functions for testing STOP,Sleep mode; 2003.03.14:DonGo: Modi...
6月26日上午,合肥沛頓存儲科技有限公司一期項目封頂慶典圓滿舉行。據了解,深科技在與合肥市政府達成投資協議后,與國家大基金二期、合肥產投、中電聚芯于2020年10月30日注冊成立了合肥沛頓存儲科技有限公司,在各方的共同努力下,項目在不到4個月的時間里,取得了一期項目順利封頂的階段性成果。深科技消息顯示,為應對國際市場環境變化,積極響應國家發...

史海拾趣

問答坊 | AI 解惑

PCB設計方法與技巧〈一〉

PCB設計方法與技巧〈一〉 (提示:如果圖片顯示不完整,請保存下來再看就行了。) 1、如何選擇pcb板材? 選擇pcb板材必須在滿足設計需求和可量產性及成本中間取得平衡點。設計需求包含電氣和機構這兩部分。通常在設計非常高速的pcb板子(大于ghz的頻 ...…

查看全部問答∨

STM32DSPLib數字濾波FIR沒例子啊!

STM32 DSPLib 數字濾波FIR沒例子啊!不知到如何使用。;void fir_16by16_stm32(void *a, void *x, COEFS *c, u32 N) 哪位大蝦指教一下。謝謝!…

查看全部問答∨

TPS61059 可為作為相機閃光燈或電影照明燈的白光 LED 供電

使用白光 LED 的一個難題在于如何使用輸入電壓寬泛的電池為其供電。 德州儀器 (TI) 便攜式電源 DC/DC 應用部工程師Scot Lester為您答疑解惑。…

查看全部問答∨

L298N驅動電路中二極管的續流回路

本帖最后由 paulhyde 于 2014-9-15 03:26 編輯 L298N的續流回路分析就是不出來 還有續流二極管工作于續流狀態時是正向導通還是反向導通狀態,望有懂的大俠能夠指教下 [ 本帖最后由 electricsboy 于 2011-5-29 15:48 編輯 ]  …

查看全部問答∨

求活動通過名單啊~

不是說每周三有會公布審核通過的名單的嗎? 很想要C2000開發板啊~ 管理員給力啊!…

查看全部問答∨

實驗六:FSPAD_702平板串口通信實驗

【實驗內容】 基于FSPAD_702平板,實現串口通信。       【實驗目的】 熟悉FSPAD_702平板串口通信的整體流程。       【實驗環境】 Ubuntu 10.04虛擬機,FSPAD_702開源平板,usb轉網口模塊,usb轉串口數 ...…

查看全部問答∨

分享!通用數字電路

本帖最后由 qwqwqw2088 于 2014-9-2 17:30 編輯 通用數字電路 …

查看全部問答∨

IAR異常

    剛才用msp430 launchpad調試代碼,突然就不能仿真了,不知道是什么原因,希望遇到這種情況的朋友幫忙解答下,現象如下:     …

查看全部問答∨

FMC SDI接口板子

inrevium的TB-FMCH-12GSDI-Ehttp://solutions.inrevium.com/pr ... B-FMCH-12GSDI-E.pdf …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 睢宁县| 惠州市| 射洪县| 夏邑县| 榆社县| 谷城县| 弥渡县| 从化市| 合水县| 漳平市| 南江县| 循化| 巨野县| 桃江县| 巴南区| 台江县| 合水县| 怀仁县| 平陆县| 镇沅| 车险| 孝义市| 敖汉旗| 静海县| 平陆县| 南华县| 荔浦县| 公安县| 安达市| 海原县| 雷山县| 涡阳县| 文水县| 海南省| 从化市| 吉林市| 印江| 会东县| 如东县| 定西市| 万年县|