版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1數(shù)碼管顯示數(shù)碼管的顯示有四種方法先介紹一下段驅(qū)動和位驅(qū)動都都使用74HC573鎖存器的方式:數(shù)碼管共陰極,直接由單片機的P0口驅(qū)動74HC573鎖存器真值表如下/OELED/Q0111在允許輸入輸出時,輸入和輸出是同樣的。010000任意輸出上一個狀態(tài)值,即已經(jīng)所存的值。#include<reg51.h>sbitdula=P2^6; //段選信號的鎖存器控制sbitwela=P2^7; //位選信號的鎖存器控制voidmain(){ dula=0;//置0的時候無理論573輸入什么值,輸出端都只輸出上一個值而與當前輸入的值無關(guān),只有置1的一瞬間才會將此刻輸入端的值原樣輸出。即11腳就像是一個開關(guān),為0關(guān)閉輸出內(nèi)容為之前鎖存的內(nèi)容,為1開,輸出值就是此刻的輸入值。 wela=0;?P0=0x4f; //數(shù)字“3”的代碼 dula=1;//段置1將P0口的值輸入到鎖存器中,?dula=0;? //鎖存數(shù)字“3”的代碼,LE=0(圖中的C)無論輸入什么值,輸出的結(jié)果都是上一個狀態(tài)值。 ?? ??? ? ? ?? P0=0x00; //選中所有的數(shù)碼管,要想選哪中一位數(shù)碼管只需要將相應(yīng)的位選線置0.?wela=1; wela=0;? //鎖存輸入的00?while(1);}上面的示例是將一個字符顯示在一個或者幾個數(shù)碼管上,但是實際的應(yīng)用卻需要在多個數(shù)碼管上顯示出多個字符。這就需要動態(tài)掃描以實現(xiàn)靜態(tài)顯示的效果。我們已經(jīng)可以通過程序讓任意一位數(shù)碼管顯示任意一種字符,這樣我們可以以時間為軸,循環(huán)顯示每個數(shù)碼管需要的數(shù)值,當循環(huán)顯示的時間比較小時,眼睛就不能分辨出閃爍,而是看到一個靜態(tài)的數(shù)值顯示,LCD1602顯示可以顯示2*16個字符,每個字符是5*7的點陣3腳是背光選擇用于調(diào)節(jié)背光亮度LCD1602功能介紹:提供各種控制命令:清屏、字符閃爍、光標閃爍、顯示移位80字節(jié)顯示數(shù)據(jù)存儲器DDRAM192個5*7點陣的字節(jié)字符發(fā)生器CGROM8個可由用戶自定義的字符發(fā)生器CGRAM讀狀態(tài)值的目的就是要判斷1602是否在工作STA7-=1時不能對其讀寫。在一個5*7點陣上顯示什么字符?顯示一個數(shù)字8,即38H或直接‘8’除此之外,還可以自己定義字符,可參考視頻第十七講。在哪一個點陣上顯示字符?在第一行第一個字顯示,80H,第一行第二個顯示81H指令集122顯示開/光標設(shè)立的指令0CH開顯示、無光標、不閃爍0FH開顯示、光標、閃爍0E開顯示、光標、不閃爍06H地址指針加一,光標加一07H寫一個字符,整屏顯示左移3其他指令01H顯示清屏(數(shù)據(jù)指針清零,所有顯示清零)02H顯示回車:(數(shù)據(jù)指針清零)如何編寫程序?測忙(定義狀態(tài)標志位sta7)、寫命令、寫數(shù)據(jù)函數(shù),LCD初始化函數(shù)簡樸程序?qū)嵗?include<reg52.h>//包含單片機寄存器的頭文獻typedefunsignedcharuint8;?//數(shù)據(jù)類型的宏定義sbitRS=P1^0;//寄存器選擇位,將RS位定義為P1.0引腳sbitRW=P1^1;//讀寫選擇位,將RW位定義為P1.1引腳sbitEN=P2^5;//使能信號位,將E位定義為P2.5引腳sbitBF=P0^7;//忙碌標志位,,將BF位定義為P0.7引腳sbitdu=P2^6; //讓數(shù)碼管在LCD顯示的時候關(guān)閉不工作sbitwei=P2^7;/*****************************************************測忙函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)BF=1,忙碌;BF=0,不忙***************************************************/voidwait(void){ P0=0xFF;//預(yù)讀先寫1??do?{? RS=0; ?RW=1;? EN=0; ?EN=1; //讀狀態(tài)指令?}while(BF==1);//STA7=1嚴禁讀寫操作,等待?EN=0;}/*****************************************************函數(shù)功能:寫數(shù)據(jù)入口參數(shù):unint8dat(yī)***************************************************/voidw_dat(uint8dat){?wait(); //忙則等待 EN=0;?P0=dat(yī); RS=1; RW=0;?EN=1; EN=0;}/*****************************************************函數(shù)功能:寫命令入口參數(shù):unint8cmd***************************************************/voidw_cmd(uint8cmd){?wait(); ?//忙則等待 EN=0; P0=cmd;?RS=0; RW=0; EN=1;?EN=0;}/*****************************************************函數(shù)功能:對LCD的顯示模式進行初始化設(shè)立***************************************************/voidInit_LCD1602(void){?w_cmd(0x38);//16*2顯示,5*7點陣,8位數(shù)據(jù)接口?w_cmd(0x0C);//顯示器開、光標開、光標允許閃爍 w_cmd(0x06);//文字不動,光標自動右移?w_cmd(0x01);//清屏}main()//主函數(shù){??P0=0x00; du=1; du=0; P0=0xff; wei=1;?wei=0; Init_LCD1602();//調(diào)用LCD初始化函數(shù) w_cmd(0x80);//設(shè)立顯示位置為第一行的第1個字 w_dat('A');//顯示字符8、A while(1);}自己定義一個頭文獻一般格式是這樣的:?#ifndef<標記>?#define<標記>
......
......
#endif<標記>標記的命名規(guī)則一般是頭文獻名全大寫,前后加下劃線,并把文獻名中的“.”也變成下劃線,如:stdio.h#ifndef_STDIO_H_#define_STDIO_H_......#endif之后可以在程序中引用了#include<reg51.h>#include<stdio.h>2、#include<intrins.h>頭文獻#ifndef__INTRINS_H__#define__INTRINS_H__externvoid_nop_(void);externbit_testbit_(bit);externunsignedchar_cror_(unsignedchar,unsignedchar);externunsignedint_iror_(unsignedint,unsignedchar);externunsignedlong_lror_(unsignedlong,unsignedchar);externunsignedchar_crol_(unsignedchar,unsignedchar);externunsignedint_irol_(unsignedint,unsignedchar);externunsignedlong_lrol_(unsignedlong,unsignedchar);externunsignedchar_chkfloat_(float);externvoid_push_(unsignedchar_sfr);externvoid_pop_(unsignedchar_sfr);#endif頭文獻中聲明了很多的函數(shù),extern可以置于變量或者函數(shù)前,以標示變量或者函數(shù)的定義在別的文獻中,提醒編譯器碰到此變量和函數(shù)時在其他模塊中尋找其定義。此頭文獻中最常用的就是移位、nop_crol_,_irol_,和_lrol_將變量val循環(huán)左移n位,它們與8051單片機的“RLA”指令相關(guān)。這三個函數(shù)的不同之處在于參數(shù)和返回值的類型不同。_cror_,_iror_和_lror_將變量val循環(huán)右移n位,它們與8051單片機的“RRA”指令相關(guān)。這三個函數(shù)的不同之處在于參數(shù)和返回值類型不同。4、IIC總線介紹PCF8591功能介紹地址:涉及固定地址和可編程兩部分組成開發(fā)板上A0~A2都接地所以90H是寫地址、91H是讀地址起始條件之后的第一個字節(jié)是地址,第二個字節(jié)是控制字發(fā)送到pcf8591的控制寄存器中,用于控制控制器件。典型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆中職語文寫作指導(dǎo)議論文寫作中論據(jù)使用的策略
- 上海紐約大學(xué)《學(xué)業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海民遠職業(yè)技術(shù)學(xué)院《互換性與測量技術(shù)實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 護理質(zhì)控半年總結(jié)匯報
- 上??苿?chuàng)職業(yè)技術(shù)學(xué)院《化工機械設(shè)備》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通職業(yè)技術(shù)學(xué)院《非虛構(gòu)短視頻制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海健康醫(yī)學(xué)院《藥用高分子材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海建設(shè)管理職業(yè)技術(shù)學(xué)院《機器人檢測與傳感器技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海健康醫(yī)學(xué)院《技術(shù)實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海洋大學(xué)《設(shè)計史論》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國傳統(tǒng)文化中的領(lǐng)導(dǎo)力——曾國藩管理方略ppt課件
- 政府的權(quán)力——依法行使
- 最新《西游記》41至60回練習(xí)題(有答案)(版權(quán)所有,侵權(quán)必究)
- 施工組織學(xué)課程設(shè)計
- EPE氣泡墊檢驗通用標準
- 數(shù)獨比賽“六宮”練習(xí)題(96道)練習(xí)
- 課程設(shè)計整體式肋梁樓蓋設(shè)計
- 機械行業(yè)特殊工種目錄
- 足球興趣小組活動記錄617
- 昆明市不動產(chǎn)登記中心最新抵押表全三套(共4頁)
- 施工組織架構(gòu)圖
評論
0/150
提交評論