用單片機(jī)制作的高精度數(shù)顯計(jì)數(shù)器 單片機(jī)C51計(jì)數(shù)器 要求:編寫一個計(jì)數(shù)器程序,將T0作為計(jì)數(shù)器來使用,對外部信號計(jì)數(shù),將所計(jì)數(shù)字顯示在數(shù)碼管上。 該部分的硬件電路如圖所示,U1的P0口和P2口的部份引腳構(gòu)成了6位LED數(shù)碼管驅(qū)動電路,數(shù)碼管采用共陽型,使用PNP型三極管作為片選端的驅(qū)動,所有三極管的發(fā)射極連在一起,接到正電源端,它們的基極則分別連到P2.0…P2.5,當(dāng)P2.0…P2.5中某引腳輸是低電平時(shí),三極管導(dǎo)通,給相應(yīng)的數(shù)碼管供電,該位數(shù)碼管點(diǎn)亮哪些筆段,則取決于筆段引腳是高或低電平。圖中看出,所有6位數(shù)碼管的筆段連在一起,通過限流電阻后接到P0口,因此,哪些筆段亮就取決于P0口的8根線的狀態(tài)。 里面包含了:單片機(jī)C51計(jì)數(shù)器、計(jì)算器流程圖、工作原理,
標(biāo)簽: 用單片機(jī) 數(shù)顯 高精度 計(jì)數(shù)器
上傳時(shí)間: 2013-11-16
上傳用戶:myworkpost
TLC2543是TI公司的12位串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)I/O資源;且價(jià)格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應(yīng)用。 TLC2543的特點(diǎn) (1)12位分辯率A/D轉(zhuǎn)換器; (2)在工作溫度范圍內(nèi)10μs轉(zhuǎn)換時(shí)間; (3)11個模擬輸入通道; (4)3路內(nèi)置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉(zhuǎn)換結(jié)束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導(dǎo); (10)可編程輸出數(shù)據(jù)長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時(shí)間: 2013-11-19
上傳用戶:shen1230
經(jīng)驗(yàn)證有效可行易懂的程序,可以講講模擬信號通過stc12c5a60s2在P0口內(nèi)置的AD轉(zhuǎn)換轉(zhuǎn)換為輸在信號并顯示在1206液晶上
上傳時(shí)間: 2013-10-11
上傳用戶:skfreeman
采用 AT89C52型號的單片機(jī)對傳統(tǒng)的電扇系統(tǒng)進(jìn)行改造,實(shí)現(xiàn)對電扇的短距離控制。該設(shè)計(jì)利用單片機(jī)進(jìn)行紅外發(fā)送,紅外接收,在此過程中對紅外進(jìn)行編碼和解碼,而后通過不同的編碼形成對風(fēng)扇的不同控制。同時(shí)對單片機(jī) P0口的輸出進(jìn)行 DA 變換后,完成對風(fēng)扇的速度的實(shí)時(shí)控制。通過仿真實(shí)驗(yàn),驗(yàn)證了該方案的可行性,該設(shè)計(jì)簡單、可靠,具有很強(qiáng)的實(shí)用性。
上傳時(shí)間: 2013-11-15
上傳用戶:1583060504
采用AT89C52型號的單片機(jī)對傳統(tǒng)的電扇系統(tǒng)進(jìn)行改造,實(shí)現(xiàn)對電扇的短距離控制。該設(shè)計(jì)利用單片機(jī)進(jìn)行紅外發(fā)送,紅外接收,在此過程中對紅外進(jìn)行編碼和解碼,而后通過不同的編碼形成對風(fēng)扇的不同控制。同時(shí)對單片機(jī)P0口的輸出進(jìn)行DA變換后,完成對風(fēng)扇的速度的實(shí)時(shí)控制。通過仿真實(shí)驗(yàn),驗(yàn)證了該方案的可行性,該設(shè)計(jì)簡單、可靠,具有很強(qiáng)的實(shí)用性。
上傳時(shí)間: 2013-12-21
上傳用戶:回電話#
#include<reg51.h> //包含單片機(jī)寄存器的頭文件 /******************************************************* 函數(shù)功能:主函數(shù) (C 語言規(guī)定必須有也只能有1 個主函數(shù)) ********************************************************/ void main(void) { while(1) //無限循環(huán) { P1=0xff; // P1=1111 1111B,熄滅LED P0=P1; // 將 P1 口狀態(tài)送入P0 口 P2=P1; // 將 P1 口狀態(tài)送入P2 口 P3=P1; // 將 P1 口狀態(tài)送入P3 口
上傳時(shí)間: 2013-10-26
上傳用戶:離殤
對應(yīng)程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar code tab[]={ 0x81, 0x42, 0x24, 0x18, }; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=120;j>0;j--); } void init() { P0=0x00; }
上傳時(shí)間: 2014-01-17
上傳用戶:ruan2570406
單片機(jī)c語言學(xué)習(xí)和單片機(jī)制作資料: 函數(shù)的使用和熟悉 實(shí)例3:用單片機(jī)控制第一個燈亮 實(shí)例4:用單片機(jī)控制一個燈閃爍:認(rèn)識單片機(jī)的工作頻率 實(shí)例5:將 P1口狀態(tài)分別送入P0、P2、P3口:認(rèn)識I/O口的引腳功能 實(shí)例6:使用P3口流水點(diǎn)亮8位LED 實(shí)例7:通過對P3口地址的操作流水點(diǎn)亮8位LED 實(shí)例8:用不同數(shù)據(jù)類型控制燈閃爍時(shí)間 實(shí)例9:用P0口、P1 口分別顯示加法和減法運(yùn)算結(jié)果 實(shí)例10:用P0、P1口顯示乘法運(yùn)算結(jié)果 實(shí)例11:用P1、P0口顯示除法運(yùn)算結(jié)果 實(shí)例12:用自增運(yùn)算控制P0口8位LED流水花樣 實(shí)例13:用P0口顯示邏輯"與"運(yùn)算結(jié)果 實(shí)例14:用P0口顯示條件運(yùn)算結(jié)果 實(shí)例15:用P0口顯示按位"異或"運(yùn)算結(jié)果 實(shí)例16:用P0顯示左移運(yùn)算結(jié)果 實(shí)例17:"萬能邏輯電路"實(shí)驗(yàn) 實(shí)例18:用右移運(yùn)算流水點(diǎn)亮P1口8位LED 實(shí)例19:用if語句控制P0口8位LED的流水方向 實(shí)例20:用swtich語句的控制P0口8位LED的點(diǎn)亮狀態(tài) 實(shí)例21:用for語句控制蜂鳴器鳴笛次數(shù) 實(shí)例22:用while語句控制LED 實(shí)例23:用do-while語句控制P0口8位LED流水點(diǎn)亮 實(shí)例24:用字符型數(shù)組控制P0口8位LED流水點(diǎn)亮 實(shí)例25: 用P0口顯示字符串常量 實(shí)例26:用P0 口顯示指針運(yùn)算結(jié)果 實(shí)例27:用指針數(shù)組控制P0口8位LED流水點(diǎn)亮 實(shí)例28:用數(shù)組的指針控制P0 口8 位LED流水點(diǎn)亮 實(shí)例29:用P0 、P1口顯示整型函數(shù)返回值 實(shí)例30:用有參函數(shù)控制P0口8位LED流水速度 實(shí)例31:用數(shù)組作函數(shù)參數(shù)控制流水花樣 實(shí)例32:用指針作函數(shù)參數(shù)控制P0口8位LED流水點(diǎn)亮 實(shí)例33:用函數(shù)型指針控制P1口燈花樣 實(shí)例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個字符串
上傳時(shí)間: 2013-10-21
上傳用戶:llandlu
a_bit equ 20h ;個位數(shù)存放處 b_bit equ 21h ;十位數(shù)存放處 temp equ 22h ;計(jì)數(shù)器寄存器 star: mov temp,#0 ;初始化計(jì)數(shù)器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重來 mov temp,#0 next: ljmp stlop ;顯示子程序 display: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 mov b,#10 ;10進(jìn)制/10=10進(jìn)制 div ab mov b_bit,a ;十位在a mov a_bit,b ;個位在b mov dptr,#numtab ;指定查表啟始地址 mov r0,#4 dpl1: mov r1,#250 ;顯示1000次 dplop: mov a,a_bit ;取個位數(shù) MOVC A,@A+DPTR ;查個位數(shù)的7段代碼 mov P0,a ;送出個位的7段代碼
標(biāo)簽: 直接驅(qū)動 數(shù)碼管 計(jì)數(shù)器 程序
上傳時(shí)間: 2013-11-06
上傳用戶:lx9076
P0端口由鎖存器、輸入緩沖器、切換開關(guān)、一個與非門、一個與門及場效應(yīng)管驅(qū)動電路構(gòu)成。再看圖的右邊,標(biāo)號 為P0.X引腳的圖標(biāo),也就是說P0.X引腳可以是P0.0到P0.7的任何一位,即在P0口有8個與上圖相同的電路組成。
上傳時(shí)間: 2014-01-13
上傳用戶:fandeshun
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1