www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]//FileName:delay.h#ifndef __LZP_DELAY_H_#define __LZP_DELAY_H_#define TRUE 1#define FALSE 0//設(shè)置波特率#define OSC_FREQ 11059200L#define BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255#defin

//FileName:delay.h
#ifndef __LZP_DELAY_H_
#define __LZP_DELAY_H_

#define TRUE 1
#define FALSE 0
//設(shè)置波特率
#define OSC_FREQ 11059200L


#define BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255
#define BAUD_57600 256 - (OSC_FREQ/192L)/57600L // 254
#define BAUD_38400 256 - (OSC_FREQ/192L)/38400L // 253
#define BAUD_28800 256 - (OSC_FREQ/192L)/28800L // 252
#define BAUD_19200 256 - (OSC_FREQ/192L)/19200L // 250
#define BAUD_14400 256 - (OSC_FREQ/192L)/14400L // 248
#define BAUD_9600 256 - (OSC_FREQ/192L)/9600L // 244
// Timer2
#define RCAP2_50us 65536L - OSC_FREQ/240417L
#define RCAP2_1ms 65536L - OSC_FREQ/12021L


void delay_ms(unsigned int num);
void delay_50us(unsigned char num);
void delay_us(unsigned char num);


#endif


//FileName:delay.c
/********************************************
** start51 study board
** delay function implementation
** author:bluehacker
** QQ:282074921
**********************************************/
#include "delay.h"
#include "reg52.h"



void delay_ms(unsigned int num)
{
RCAP2H = (RCAP2_1ms>>8);
RCAP2L=(RCAP2_1ms&0x00ff);
TH2=(RCAP2_1ms>>8);;
TL2=(RCAP2_1ms&0x00ff);;

ET2 = 0; // Disable timer2 interrupt
T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer

while (num--)
{
while (!TF2);
TF2 = FALSE;
}
TR2 = FALSE;
}


void delay_50us(unsigned char num)
{
RCAP2H=(RCAP2_50us>>8);
RCAP2L=(RCAP2_50us&0x00ff);
TH2=(RCAP2_50us>>8);
TL2=(RCAP2_50us&0x00ff);
ET2=0;
T2CON=0x04;
while(num--)
{
while(!TF2)
TF2=FALSE;
}
TR2=FALSE;
}


void delay_us(unsigned char num)
{
unsigned char i;
for (i=0;i {
}
}


//FileName:lcd.h


#ifndef __LZP_LCD_H_
#define __LZP_LCD_H_
#include "reg52.h"
/////////////////////////////
//定義LCD控制引腳
////////////////////////////
sbit LCDRS="P2"^0;
sbit LCDRW="P2"^1;
sbit LCDE="P2"^2;


void lcd_write_cmd(unsigned char cmd);
void lcd_write_data(unsigned char dat);
void lcd_clear(void);
void lcd_init(void);
unsigned char lcd_status(void);
void lcd_set_mode(unsigned charcursor, unsigned char text);
void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s);
void lcd_write_char(unsigned char x,unsigned char y, unsigned char d);
#endif


//FileName:lcd.c
/********************************************************
**本開(kāi)發(fā)板支持1602 字符型LCD
**這種LCD的接口資料可以用google找到很多
**引腳定義:
* 1---GND
* 2---VDD
* 3---VLCD:對(duì)比度調(diào)節(jié)
* 4---RS:寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器
* 5---R/W:讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。
當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平
RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。
* 6---E:使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
* 7~14---DB0~DB7數(shù)據(jù)線、
* 15---A:背光引腳,"A"接正
* 16---K:背光引腳,"K"接負(fù)

*********************************************************/
#include "lcd.h"
#include "delay.h"
#include "intrins.h"


/*向LCD寫(xiě)入命令*/
void lcd_write_cmd(unsigned char cmd)
{
unsigned char status;
P0=cmd;
LCDRS="0";
LCDRW="0";
LCDE="0";
delay_us(5);
do{
status="lcd"_status();
}while(status&0x80);

LCDE="1";

}


void lcd_write_data(unsigned char dat)
{
unsigned char status;


P0=dat;
LCDRS="1";
LCDRW="0";
LCDE="0";
delay_us(5);
do{
status="lcd"_status();
}while(status&0x80);

LCDE="1";

}


void lcd_clear(void)
{
lcd_write_cmd(0x01);
}



/*顯示屏字符串寫(xiě)入函數(shù)*/
void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s)
{

if (y == 0) {
lcd_write_cmd(0x80 + x);
}
else {
lcd_write_cmd(0xC0 + x);
}

while (*s) {
lcd_write_data( *s);
s ++;
}

/*
unsigned char i;
for(i=0;i<16&&s!=0;i++)
{
lcd_write_char(x+i,y,s);
}
*/
}


void lcd_write_char(unsigned char x,unsigned char y, unsigned char d)
{
if(y==0)
{
lcd_write_cmd(0x80+x);
}
else
{
lcd_write_cmd(0xc0+x);
}
lcd_write_data(d);
}
//光標(biāo)復(fù)位
void lcd_reset_cursor(void)
{
lcd_write_cmd(0x02);
}



//設(shè)置顯示模式
void lcd_set_mode(unsigned charcursor, unsigned char text)
{
unsigned char mode="0x04";
if(cursor){//光標(biāo)右移
mode|=0x02;
}
else{//光標(biāo)左移
mode|=0x00;
}
if(text){//文字移動(dòng)
mode|=0x01;
}
else{//文字不移動(dòng)
mode|=0;
}
lcd_write_cmd(mode);
}



void lcd_init(void)
{
P0=0;
LCDE="1";
delay_ms(500);
lcd_clear();
lcd_write_cmd(0x38);//設(shè)置lcd功能:8位總線,雙行顯示,5X7點(diǎn)陣字符
lcd_write_cmd(0x0f);//顯示開(kāi)關(guān)控制:顯示ON,光標(biāo)ON,閃爍ON
lcd_write_cmd(0x06);//光標(biāo)輸入方式增量移位
lcd_write_cmd(0x80);
//lcd_write_cmd(0x0c);
//lcd_clear();
}
//讀取狀態(tài),是否忙
unsigned char lcd_status(void)
{
unsigned char tmp="0";
P0=0xff;
LCDRS="0";
LCDRW="1";
LCDE="0";
_nop_();
LCDE="1";
//_nop_();
tmp="P0";
return tmp;
}


//FileName:test.c
/*******************************
** Start51 study board test software
** test 1602LCD
** author: bluehacker
** QQ:282074921
***********************************/


#include "lcd.h"
#include "delay.h"
#include "intrins.h"



void main(void)
{
//初始化串口
SCON="0x50";/*mode 1,1 start bit ,8 data bit ,1 stop bit,enable receive*/
PCON="0x80";/*SMOD=1, Baud Rate twice*/
TMOD="0x21";/*timer 0--mode 1 and timer 1 ---mode2*/
//set baud rate,use timer 1 as baud rate generator
TH1=BAUD_19200;
TL1=TH1;
TR1=TRUE;
ET1=FALSE;//disable timer 1 interrupt
EA="0";


//delay_ms(400);
lcd_init();
// lcd_set_mode(1,0);
//lcd_reset_cursor();
// lcd_write_char(3,1,'c');
lcd_write_str(2,0,"bluehacker");
lcd_write_str(2,1,"QQ:282074921");
while(1)
{
}
}


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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉