亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

FZH119 數(shù)碼管 驅(qū)動(dòng)程序 修改初始化可支持51 32等多平臺(tái)單片機(jī)

waltr / 2193人閱讀

摘要:數(shù)據(jù)的輸入總是低位在前高位在后傳輸數(shù)據(jù)輸入的開(kāi)始條件是為高電平時(shí),由高變低結(jié)束條件是為高時(shí),由低電平變?yōu)楦唠娖健?/p>

概述
FZH119 是一種LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制與用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、 LED 驅(qū)動(dòng)等電路。本產(chǎn)品性能優(yōu)良,質(zhì)量可靠。主要應(yīng)用于電子產(chǎn)品LED顯示屏驅(qū)動(dòng)。采用SOP28的封裝形式。
特性說(shuō)明
? 采用CMOS工藝
? 顯示模式(8 段×16 位)
? 輝度調(diào)節(jié)電路(占空比 8 級(jí)可調(diào))
? 兩線串行接口(SCLK,DIN)
? 振蕩方式:內(nèi)置RC 振蕩
? 內(nèi)置上電復(fù)位電路
? 封裝形式:SOP28 ,TSSOP20
接口說(shuō)明
微處理器的數(shù)據(jù)通過(guò)兩線總線接口和 FZH119 通信,在輸入數(shù)據(jù)時(shí)當(dāng) CLK 是高電平時(shí),DIN 上的信號(hào) 必須保持丌變;只有 CLK 上的時(shí)鐘信號(hào)為低電平時(shí),DIN 上的信號(hào)才能改變。數(shù)據(jù)的輸入總是低位在前,高位 在后傳輸.數(shù)據(jù)輸入的開(kāi)始條件是 CLK 為高電平時(shí),DIN 由高變低;結(jié)束條件是 CLK 為高時(shí),DIN 由低電平 變?yōu)楦唠娖健?
?指令數(shù)據(jù)傳輸過(guò)程如下圖:

?寫 SRAM 數(shù)據(jù)地址自動(dòng)加 1 模式:

Command1:設(shè)置數(shù)據(jù)
Command2:設(shè)置地址
data1~N:傳輸顯示數(shù)據(jù)(最多 16 字節(jié),丌能多寫)
Command3:控制顯示
寫 SRAM 數(shù)據(jù)固定地址模式:

Command1:設(shè)置數(shù)據(jù)
Command2:設(shè)置地址
data1:傳輸顯示數(shù)據(jù)
CommandN:設(shè)置地址
dataN:傳輸顯示數(shù)據(jù)(最多 16 字節(jié),丌能多寫)
Command3:控制顯示
程序:
IIC驅(qū)動(dòng)參考
#include "my_iic.h"#include "sys.h"#include "intrins.h"#define out_H 1#define out_L 0void myI2C_delay_us(unsigned int us){  while(us--){	      _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();	      _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();    _nop_();_nop_();_nop_();_nop_();	    }}#if(1)/************************************************************************************************函數(shù)名 :*函數(shù)功能描述 :*函數(shù)參數(shù) :*函數(shù)返回值 :*作者 :*函數(shù)創(chuàng)建日期 :20210928*函數(shù)修改日期 :*修改人 :*修改原因 :*版本 :*歷史版本 :***********************************************************************************************/void myI2c_Start(void){  MY_SCL_Port = out_H;	  myI2C_delay_us(2);	  MY_SDA_Port = out_L;	  myI2C_delay_us(2);			}/************************************************************************************************函數(shù)名 :*函數(shù)功能描述 :*函數(shù)參數(shù) :*函數(shù)返回值 :*作者 :*函數(shù)創(chuàng)建日期 :20210928*函數(shù)修改日期 :*修改人 :*修改原因 :*版本 :*歷史版本 :***********************************************************************************************/void myI2c_Stop(void){//	myI2C_delay_us(200);	MY_SCL_Port = out_L;//	myI2C_delay_us(2);	MY_SDA_Port = out_L;	myI2C_delay_us(2);		MY_SCL_Port = out_H;// 	myI2C_delay_us(2);		MY_SDA_Port = out_H;    myI2C_delay_us(2);	}/************************************************************************************************函數(shù)名 :*函數(shù)功能描述 :*函數(shù)參數(shù) :*函數(shù)返回值 :*作者 :*函數(shù)創(chuàng)建日期 :20210928*函數(shù)修改日期 :*修改人 :*修改原因 :*版本 :*歷史版本 :***********************************************************************************************/void myI2c_sendByte(unsigned char dat){   char i=0;	for(i=0;i<8;i++){			   MY_SCL_Port = out_L;	   myI2C_delay_us(1);	  if(dat&0x01){	    MY_SDA_Port = out_H;	  }		else {		 MY_SDA_Port = out_L;		}		myI2C_delay_us(1);	     MY_SCL_Port = out_H;			 dat>>=1;				 myI2C_delay_us(2);	}	MY_SCL_Port = out_L;	myI2C_delay_us(2);}#endif#if(0) //2021-09-29 20:00void myI2c_Start(void){  MY_SDA_Port = out_H;  MY_SCL_Port = out_H;    _nop_();	_nop_();  MY_SDA_Port = out_H;    _nop_();	_nop_();  MY_SDA_Port = out_L;	_nop_();	_nop_();	_nop_();	_nop_();  MY_SCL_Port = out_L;	_nop_();	_nop_();	}void myI2c_Stop(void){	MY_SCL_Port = out_H;//	_nop_();	_nop_();	MY_SDA_Port = out_L;	_nop_();	_nop_();	MY_SDA_Port = out_H;//	_nop_();	_nop_();	MY_SCL_Port = out_L;	_nop_();	_nop_();	MY_SDA_Port = out_L;	}void myI2c_sendByte(unsigned char dat){   char i=0;	for(i=0;i<8;i++){			   MY_SCL_Port = out_L;	  if(dat&0x01){	    MY_SDA_Port = out_H;	  }		else {		 MY_SDA_Port = out_L;		}		_nop_();		_nop_();		_nop_();		MY_SCL_Port = out_H;			dat>>=1;			}		MY_SCL_Port = out_L;		_nop_();		_nop_();		_nop_();		MY_SDA_Port = out_L;		}#endifvoid myI2c_cmdSend(unsigned char cmd){  myI2c_Start();  myI2c_sendByte(cmd);  myI2c_Stop();} void myI2c_nbByte(unsigned char cmd,unsigned char *str,unsigned char len){  unsigned char i=0;    myI2c_Start();	  myI2c_sendByte(cmd);	 for(i=0;i

顯示驅(qū)動(dòng)

#include "FZHxxx.h"#include "my_iic.h"#include "intrins.h"uint8_t code SEG_CODE[16]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint8_t  fzh_light_grade = 0x8c;int8_t fzh_WriteSram( uint8_t cmd1,uint8_t cmd2,uint8_t* str,uint8_t len,uint8_t cmd3 ) {    if( ( len==0 )||( len>16 ) ) {        return -1;    }    myI2c_cmdSend( cmd1 );    myI2c_nbByte(cmd2,str,len );    myI2c_cmdSend( cmd3 );    return 0;}int8_t fzh_cmdWrite( uint8_t cmd ) {    myI2c_cmdSend( cmd );    return 0;}int8_t fzh_cmdWriteDat( uint8_t cmd,uint8_t dat ) {    myI2c_nbByte( cmd,&dat,1 );    return 0;}void fzh_desplay( uint8_t nb2,uint8_t nb1, uint8_t nb0 ) {    uint8_t temp_buff[8];    uint8_t Nunber_Size;    Nunber_Size =sizeof( SEG_CODE );    if( Nunber_Size>(nb0&0x7f)) {		nb0 &= ~0x7f;        nb0 |= Nunber_Size;    }    if( Nunber_Size>nb1 ){		nb1 &= ~0x7f;        nb1 |= Nunber_Size;    }    if( Nunber_Size>nb2 ) {		nb2 &= ~0x7f;        nb2 |= Nunber_Size;    }	(nb0>=0x7f)? temp_buff[0] = (SEG_CODE[nb0]|0x80):SEG_CODE[nb0];	(nb1>=0x7f)? temp_buff[0] = (SEG_CODE[nb1]|0x80):SEG_CODE[nb1];		(nb2>=0x7f)? temp_buff[0] = (SEG_CODE[nb2]|0x80):SEG_CODE[nb2];    fzh_WriteSram( 0x40,START_SRAM,temp_buff,3,fzh_light_grade); //命令1 命令2 數(shù)據(jù) 數(shù)據(jù)長(zhǎng)度 命令三  //打開(kāi)顯示 11、16}void fzh_DEC_Number(uint16_t nb,uint8_t dip ){	uint8_t number_2=0;	uint8_t number_1=0;	uint8_t number_0=0;		//65536   999 0.99 9.99 	if(nb >999){	   nb = 999;	}    (dip>=2)? (number_2 = (nb/100%10)|0x80):(number_2 = (nb/100%10));    (dip==1)? (number_1 = (nb/100%10)|0x80):(number_1 = (nb/100%10));		number_0 = nb%10;	fzh_desplay(number_2,number_1,number_0);}void fzh_SetLightGrade(uint8_t grade,uint8_t onff){	if(grade>7)grade=7;	fzh_light_grade = 0;	if(onff!=0){     	fzh_light_grade = FZH_CMD_ON|grade;	}else {	   fzh_light_grade = FZH_CMD_FF;	}}void fzh_Init(void){    myI2C_init();    fzh_SetLightGrade(USAER_CMD_CYCLE_11_16,USAER_CMD_SHOW_ON);}頭文件--------------------------------------------------------------------------------#ifndef __FZHXXX_H#define __FZHXXX_H#define cmdData      //010000#include "sys.h"enum GRID{	grid1=0xc0,	grid2,	grid3,	grid4,	grid5,	grid6,	grid7,	grid8,	grid9,	grid10,	grid11,	grid12,	grid13,	grid14,	grid15,	grid16};#define START_SRAM  grid5#define FZH_CMD_ON 0x88  //打開(kāi)數(shù)碼管#define FZH_CMD_FF 0x80  //關(guān)閉數(shù)碼管#define USAER_CMD_CYCLE_1_16  0#define USAER_CMD_CYCLE_2_16  1#define USAER_CMD_CYCLE_4_16  2#define USAER_CMD_CYCLE_10_16 3#define USAER_CMD_CYCLE_11_16 4#define USAER_CMD_CYCLE_12_16 5#define USAER_CMD_CYCLE_13_16 6#define USAER_CMD_CYCLE_14_16 7#define USAER_CMD_SHOW_ON     1#define USAER_CMD_SHOW_OFF    0#define SEG_NUMBER(mode,y) if(mode) (y|0x80) else y  //未調(diào)用接口		int8_t fzh_WriteSram(uint8_t cmd1,uint8_t cmd2,uint8_t *str,uint8_t len,uint8_t cmd3 );int8_t fzh_cmdWrite(uint8_t cmd);int8_t fzh_cmdWriteDat(uint8_t cmd,uint8_t dat);/*************************************************************************************************函數(shù)名 :void fzh_desplay( uint8_t nb2,uint8_t nb1, uint8_t nb0 )*函數(shù)功能描述 :數(shù)據(jù)數(shù)據(jù)顯示*函數(shù)參數(shù) : nb2 nb1 nb0 顯示的文字支持 0-F 支持拓展,對(duì)數(shù)據(jù)高位置1可顯示小數(shù)點(diǎn)*函數(shù)返回值 :無(wú)*作者 :SY*函數(shù)創(chuàng)建日期 :2021-10-07************************************************************************************************/void fzh_desplay( uint8_t nb2,uint8_t nb1, uint8_t nb0 );/*************************************************************************************************函數(shù)名 :void fzh_DEC_Number(uint16_t nb,uint8_t dip )*函數(shù)功能描述 :十進(jìn)制數(shù)據(jù)顯示*函數(shù)參數(shù) : nb 顯示的數(shù)值  dip 放大的倍數(shù),支持0、1、2*函數(shù)返回值 :無(wú)*作者 :SY*函數(shù)創(chuàng)建日期 :20211007************************************************************************************************/void fzh_DEC_Number(uint16_t nb,uint8_t dip );/*************************************************************************************************函數(shù)名 :void fzh_SetLightGrade(uint8_t grade,uint8_t onff)*函數(shù)功能描述 :亮度設(shè)置*函數(shù)參數(shù) :grade:亮度等級(jí) 支持7個(gè)等級(jí) 參考宏定義USAER_CMD_CYCLE_  onff 0:關(guān)閉顯示 其它:顯示*函數(shù)返回值 :無(wú)*作者 :SY*函數(shù)創(chuàng)建日期 :20211007************************************************************************************************/void fzh_SetLightGrade(uint8_t grade,uint8_t onff);/*************************************************************************************************函數(shù)名 :void fzh_Init(void)*函數(shù)功能描述 :數(shù)碼管初始化數(shù)碼管顯示驅(qū)動(dòng) 并設(shè)為等亮度 默認(rèn)顯示*函數(shù)參數(shù) :無(wú)*函數(shù)返回值 :無(wú)*作者 :SY*函數(shù)創(chuàng)建日期 :20211007************************************************************************************************/void fzh_Init(void);#endif

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121771.html

相關(guān)文章

  • 51片機(jī)學(xué)習(xí)筆記001-----51片機(jī)基礎(chǔ)構(gòu)造淺介紹

    摘要:?jiǎn)纹瑱C(jī)在一片集成電路芯片上集成微處理器存儲(chǔ)器接口電路,從而構(gòu)成了單芯片微型計(jì)算機(jī),即單片機(jī)。沒(méi)搞懂專欄咋弄的,慢慢摸索吧,本人純新手,讀書(shū)人的事沒(méi)啥要臉不要臉的,有問(wèn)題隨便指出,隨便噴,歡迎來(lái)指點(diǎn) 2021-9-25 自己手繪的一張圖,算是簡(jiǎn)單的介紹吧? 對(duì)照實(shí)圖看一下 ? ? ? ?...

    int64 評(píng)論0 收藏0
  • 華南理工大學(xué)基地二輪作品制作——藍(lán)牙電子時(shí)鐘

    摘要:當(dāng)小于時(shí),由供電讀數(shù)據(jù)工作時(shí)序單字節(jié)寫入上升沿置高電平,下降沿置低電平。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低電平時(shí),讀時(shí)序開(kāi)始,數(shù)據(jù)線必須至少保持然后總線被釋放見(jiàn)圖。因此,總線控制器在讀時(shí)序開(kāi)始后必須停止把腳驅(qū)動(dòng)為低電平以讀取腳狀態(tài)。 目錄 一、前言 二、總體的設(shè)計(jì)思路 (一)使用器材 (二...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 片機(jī)的一些入門知識(shí)與學(xué)習(xí)資料

    摘要:現(xiàn)在,單片機(jī)的名稱不再是特指公司推出的系列單片機(jī),而是對(duì)兼容英特爾指令系統(tǒng)的單片機(jī)的統(tǒng)稱。單片機(jī)主要品牌及其產(chǎn)品英特爾,等艾特梅爾,,等飛利浦華邦達(dá)拉斯西門子等公司的許多產(chǎn)品宏晶系列系列系列等。 ...

    wwq0327 評(píng)論0 收藏0
  • 三年探索:一條自控、電信/科類學(xué)生的技術(shù)成長(zhǎng)路線

    摘要:所以我必須基于自己現(xiàn)在的情況走出一條適合自己情況的成長(zhǎng)路線。下位機(jī)上位機(jī)的思想下位機(jī)上位機(jī)這就是我自己探索出來(lái)的技術(shù)成長(zhǎng)路線。對(duì)和嵌入式的朋友感興趣的朋友可以試一下我這條學(xué)習(xí)路線 ...

    Miracle 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<