版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
74ls164可否動向驅(qū)動多位數(shù)碼管voiddisplay( )//數(shù)碼顯示{SCON=0;//初始化串行口方式SBUF=dispcode[ge];while(!TI);TI=0;led4=0;delay(2);led4=1;SBUF=dispcode[shi];while(!TI);TI=0;led3=0;delay(2);led3=1;SBUF=dispcode[bai];while(!TI);TI=0;led2=0;delay(2);led2=1;SBUF=dispcode[qian];while(!TI);TI=0;led1=0;delay(2);led1=1;SBUF=dispcode[wan];while(!TI);TI=0;led0=0;delay(2);led0=1;}74ls164數(shù)碼管驅(qū)動(第二個程序)#defineclockPORTD.1#definedatePORTD.0#defineclock_enDDRD.1#definedate_enDDRD.0unsignedcharlab[2][10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0x02,0x9E,0x24,0x0C,0x98,0x48,0x40,0x1E,0x00,0x08};voidsend(unsignedcharw){unsignedchari;for(i=0;i<8;i++){clock=0;date=w&1;clock=1;w=w>>1;}return;}voidxianshi(longw,unsignedcharweishu){unsignedchari,j;bitflag=0;clock_en=1;date_en=1;if(w<0){flag=1;
w=-w;
}for(i=0;i<8;i++)
//8
次循環(huán){if(w!=0){if(i!=weishu){j=lab[0][w%10];}else{j=lab[1][w%10];}}if(w==0){
if(i==0)j=0x03
;
//當(dāng)數(shù)值直接是
0if(i<=weishu){if(i<weishu)j=0x03;if(i==weishu)j=0x02;}else{if(flag)
j=0xdf;
//show
負(fù)號else
{if(i!=0)j=0xff;}//oxff
就不顯示flag=0;}}send(j);w=w/10;//每顯示一位,除10}return;}51單片機接74ls164驅(qū)動數(shù)碼管的C程序#include<regx52.h>sbitsclk=P2^0;sbitsda=P2^1;sbitslck=P2^2;inttab[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};voiddelay( ){inti,j;for(i=0;i<255;i++)for(j=0;j<80;j++);}voidbit_dat(biti){sclk=0;sda=i;sclk=1;}voiddat(chari){slck=0;bit_dat((bit)(tab[i]&0x80));bit_dat((bit)(tab[i]&0x40));bit_dat((bit)(tab[i]&0x20));bit_dat((bit)(tab[i]&0x10));bit_dat((bit)(tab[i]&0x08));bit_dat((bit)(tab[i]&0x04));bit_dat((bit)(tab[i]&0x02));bit_dat((bit)(tab[i]&0x01));slck=1;}main( ){inti;while(1){for(i=0;i<10;i++){dat(i);delay( );}i=0;}}程序以下:/**************************************//*74LS164數(shù)碼管動向顯示*//**************************************///-------------------------------------
庫函數(shù)申明,管腳定義
------------#include<at89x51.h>#defineucharunsignedcharsbitsimuseri_CLK=P1^1;sbitsimuseri_DATA=P1^0;
//用//用
P1^1P1^0
模擬串口時鐘模擬串口數(shù)據(jù)sbita0=ACC^0;unsignedcharcodedis_code[11]={0x28,0x7E,0xa2,0x62,//查表顯示0,1、、90x74,0x61,0x21,0x7A,0x20,0x60,0x01};ucharnumer,temp;ucharge,shi;//----------------------------------------------------------------------------函數(shù)名稱:out_simuseri輸入?yún)?shù):data_buf輸出參數(shù):無//功能說明:8位同步移位存放器,將data_buf的數(shù)據(jù)逐位輸出到//----------------------------------------------------------------------------
simuseri_DATAvoidout_simuseri(uchardata_buf){uchari;i=8;ACC=data_buf;do{simuseri_CLK=0;simuseri_DATA=a0;simuseri_CLK=1;ACC=ACC>>1;}while(--i!=0);}/************************************/voiddelay(ucharms){uchari;while(ms--){for(i=0;i<125;i++);}}
//延時程序/***********************************/voidmain( ){ucharm;while(1){for(temp=0;temp<99;temp++){ge=temp/10;shi=temp%10;for(m=0;m<20;m++)//顯示頻次200ms加1次{P2_0=0;//位段碼numer=dis_code[ge];out_simuseri(numer);//個位移位顯示delay(5);P2_0=1;P2_1=0;numer=dis_code[shi];//十位移位out_simuseri(numer);delay(5);P2_1=1;}m=0;}}}/****************************************/*******************************************************************************第二個程序74HC164是個移位存放器,以下程序是我用過的,絕對沒問題:此中ShowData為164數(shù)據(jù)腳,ShowClck為164時鐘腳;voidShow_164(unsignedchar_ShowValue){unsignedcharCount0;for(Count0=0;Count0<=7;Count0++){if((_ShowValue&0x80)==0x80)ShowData=1;elseShowData=0;_ShowValue<<=1;ShowClck=0;_nop_( );_nop_( );ShowClck=1;}}鑒于51單片機的簡略數(shù)字頻次計要求使用準(zhǔn)時/計數(shù)器1作準(zhǔn)時用,準(zhǔn)時1s;準(zhǔn)時/計數(shù)器0作計數(shù)器用,被計數(shù)的外面脈沖從P3.4(T0)接入。單片機將在1s內(nèi)對脈沖計數(shù)并送四位數(shù)碼管顯示,最大計數(shù)顯示值為0FFFFH。求程序。懸賞分:30-解決時間:2010-6-2722:26;===============================================最正確答案:這是個簡略頻次計,程序以下;---------------------------------
:ORG0000HJMPSTARTORG000BHJMPT0_INT;---------------------------------START:MOVTMOD,#51H;/*01010001T1
計數(shù),T0
準(zhǔn)時*/MOVTH0,#HIGH(65536-50000);50ms@12MHzMOVTL0,#LOW(65536-50000)MOVTH1,#0MOVTL1,#0SETBTR0SETBTR1SETBET0SETBEAMOVR7,#20SJMP$;---------------------------------T0_INT:;50ms履行一次MOVTL0,#LOW(65536-50000);從頭寫入初始值MOVTH0,#HIGH(65536-50000);50ms@12MHzDJNZR7,T0_ENDMOVR7,#20MOVP1,TL1MOVP2,TH1MOVTL1,#0MOVTH1,#0T0_END:RETI;---------------------------------END外接74系列驅(qū)動電路就行,比方74LS164或74LS138。動向掃描就是給各個數(shù)碼管挨次顯示,隨意時間只有一個數(shù)碼管亮,但閃耀的太快了,人眼分辨不出,給人的感覺就是每個數(shù)碼管都在亮。一般過程就是賦值,開顯示,延時,關(guān)顯示,這是我從前寫過的程序#include<REGX52.H>main( ){unsignedinti;while(1){P0=0x3f;//個位賦值P1_0=0;//開顯示for(i=0;i<2;i++);//延時P1_0=1;//關(guān)顯示P0=0x6;//十位P1_1=0;for(i=0;i<2;i++);P1_1=1;P0=0x5b;//百位P1_2=0;for(i=0;i<2;i++);P1_2=1;P0=0x4f;//千位P1_3=0;for(i=0;i<2;i++);P1_3=1;}}這個是4位數(shù)碼管,P0口接賦值端,P1口低四位接4個數(shù)碼管的選通端,你要八個的話就把P1口的高四位再接到此外四個數(shù)碼管的片選端,程序模
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 呼吁保護(hù)動物的演講稿(9篇)
- 油漆施工行業(yè)的安全管理研究-洞察分析
- 文物修復(fù)與保護(hù)法律規(guī)范-洞察分析
- 虛擬現(xiàn)實技術(shù)在珠寶行業(yè)的應(yīng)用與忠誠度提升-洞察分析
- 藥物安全性評估方法-洞察分析
- 溯源技術(shù)對農(nóng)產(chǎn)品質(zhì)量提升-洞察分析
- 虛擬現(xiàn)實在建筑歷史重現(xiàn)中的應(yīng)用-洞察分析
- 虛擬現(xiàn)實縫紉設(shè)備操作模擬-洞察分析
- 太陽活動與臭氧層變化關(guān)聯(lián)性分析-洞察分析
- 網(wǎng)絡(luò)輿情監(jiān)測分析-洞察分析
- 人工智能訓(xùn)練師的工作內(nèi)容
- 開展老人防詐騙知識講座
- 汕頭大學(xué)匯報模板
- 《經(jīng)濟(jì)法學(xué)》課程思政教學(xué)案例
- 《重慶森林》都市的孤獨
- 廣西壯族自治區(qū)河池市都安瑤族自治縣2023-2024學(xué)年六年級上學(xué)期期末英語試題
- 礦山行業(yè)創(chuàng)新與科技進(jìn)步
- 2024心肺復(fù)蘇培訓(xùn)課件完整版
- 優(yōu)化獻(xiàn)血服務(wù)流程
- 未來醫(yī)療2024年的AR手術(shù)眼鏡
- 嚴(yán)重心律失常的急救處理
評論
0/150
提交評論