娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月01日(星期日)

2021年06月01日 | 用51單片機做的拉幕式數碼顯示課程設計

發布者:Heavenly999 來源: eefocus關鍵字:51單片機  拉幕式  數碼顯示 手機看文章 掃描二維碼
隨時隨地手機看文章

簡介:用AT89S51單片機的P0.0/AD0-P0.7/AD7端口接數碼管的a-h端,8位數碼管的S1-S8通過74LS138譯碼器的Y0-Y7來控制選通每個數碼管的位選端。AT89S51單片機的P1.0-P1.2控制74LS138的A,B,C端子。在8位數碼管上從右向左循環顯示“12345678”。能夠比較平滑地看到拉幕的效果。


1. 電路原理圖

2. 系統板上硬件連線


(1. 把“單片機系統”區域中的P0.0/AD0-P0.7/AD7用8芯排線連接到“動態數碼顯示”區域中的a-h端口上;


(2. 把“三八譯碼模塊”區域中的Y0-Y7用8芯排線連接到“動態數碼顯示”區域中的S1-S8端口上;


(3. 把“單片機系統”區域中的P1.0-P1.2端口用3根導線連接到“三八譯碼模塊”區域中的A、B、C“端口上;


3. 程序設計方法


動態數碼顯示技術:如何進行動態掃描,由于一次只能讓一個數碼管顯示,因此,要顯示8位的數據,必須經過讓數碼管一個一個輪流顯示才可以,同時每個數碼管顯示的時間大約在1ms到4ms之間,所以為了保證正確顯示,我必須每隔1ms,就得刷新一個數碼管。而這刷新時間我們采用單片機的定時/計數器T0來控制,每定時1ms對數碼管刷新一次,T0采用方式2。在進行數碼顯示的時候,要對顯示單元開辟8個顯示緩沖區,每個顯示緩沖區裝有顯示的不同數據即可。


4. 程序框圖


主程序框圖




中斷服務程序




5. 匯編源程序


DISPBUF EQU 30H


DISPCNT EQU 38H


DISPBIT EQU 39H


T1CNTA EQU 3AH


T1CNTB EQU 3BH


CNT EQU 3CH


ORG 00H


LJMP START


ORG 0BH


LJMP INT_T0


START: MOV DISPCNT,#8


MOV A,#10


MOV R1,#DISPBUF


LP: MOV @R1,A


INC R1


DJNZ DISPCNT,LP


MOV DISPBIT,#00H


MOV T1CNTA,#00H


MOV T1CNTB,#00H


MOV CNT,#00H


MOV TMOD,#01H


MOV TH0,#(65536-1000) / 256


MOV TL0,#(65536-1000) MOD 256


SETB TR0


SETB ET0


SETB EA


SJMP $


INT_T0:


MOV TH0,#(65536-1000) / 256


MOV TL0,#(65536-1000) MOD 256


MOV A,DISPBIT


ADD A,#DISPBUF


MOV R0,A


MOV A,@R0


MOV DPTR,#TABLE


MOVC A,@A+DPTR


MOV P0,A


MOV A,P1


ANL A,#0F8H


ADD A,DISPBIT


MOV P1,A


INC DISPBIT


MOV A,DISPBIT


CJNE A,#08H,NEXT


MOV DISPBIT,#00H


NEXT: INC T1CNTA


MOV A,T1CNTA


CJNE A,#50,LL1


MOV T1CNTA,#00H


INC T1CNTB


MOV A,T1CNTB


CJNE A,#8,LL1


MOV T1CNTB,#00H


INC CNT


MOV A,CNT


CJNE A,#9,LLX


MOV CNT,#00H


MOV A,CNT


LLX: CJNE A,#01H,NEX1


MOV 30H,#8


LL1: LJMP DONE


NEX1: CJNE A,#02H,NEX2


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX2: CJNE A,#03H,NEX3


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX3: CJNE A,#04H,NEX4


MOV 33H,#8


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX4: CJNE A,#05H,NEX5


MOV 34H,#8


MOV 33H,#8


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX5: CJNE A,#06H,NEX6


MOV 35H,#8


MOV 34H,#8


MOV 33H,#8


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX6: CJNE A,#07H,NEX7


MOV 36H,#8


MOV 35H,#8


MOV 34H,#8


MOV 33H,#8


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX7: CJNE A,#08H,NEX8


MOV 37H,#8


MOV 36H,#8


MOV 35H,#8


MOV 34H,#8


MOV 33H,#8


MOV 32H,#8


MOV 31H,#8


MOV 30H,#8


LJMP DONE


NEX8: CJNE A,#00H,DONE


MOV 37H,#10


MOV 36H,#10


MOV 35H,#10


MOV 34H,#10


MOV 33H,#10


MOV 32H,#10


MOV 31H,#10


MOV 30H,#10


LL: LJMP DONE


DONE: RETI


TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H


END


6. C語言源程序


#include


unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,


0x66,0x6d,0x7d,0x07,


0x7f,0x6f,0x77,0x7c,


0x39,0x5e,0x79,0x71,0x00};


unsigned char dispbitcode[]={0xf8,0xf9,0xfa,0xfb,


0xfc,0xfd,0xfe,0xff};


unsigned char dispbuf[8]={16,16,16,16,16,16,16,16};


unsigned char dispbitcnt;


unsigned int t02scnt;


unsigned char t5mscnt;


unsigned char u;


unsigned char i;


void main(void)


{


TMOD=0x02;


TH0=0x06;


TL0=0x06;


TR0=1;


ET0=1;


EA=1;


while(1);


}


void t0(void) interrupt 1 using 0


{


t5mscnt++;


if(t5mscnt==4)


{


t5mscnt=0;


P0=dispcode[dispbuf[dispbitcnt]];


P1=dispbitcode[dispbitcnt];


dispbitcnt++;


if(dispbitcnt==8)


{


dispbitcnt=0;


}


}


t02scnt++;


if(t02scnt==1600)


{


t02scnt=0;


u++;


if(u==9)


{


u=0;


}


for(i=0;i<8;i++)


{


dispbuf[i]=16;


}


for(i=0;i

{


dispbuf[i]=8;


}


}


}


關鍵字:51單片機  拉幕式  數碼顯示 引用地址:用51單片機做的拉幕式數碼顯示課程設計

上一篇:MCS-51單片機指令詳解
下一篇:51單片機仿真實例 ,直流電機的正反轉演示實例

推薦閱讀

使用IAR編譯STM8S的工程時,編譯器報錯:這個錯誤的原因是在:stm8s_conf.h中聲明了assert_failed函數,并沒有定義,包含這個頭文件是必須完成這個函數的定義,stm8s_conf.h中函數原型如下:解決方法:在主文件main.c中或者其他文件中添加assert_failed函數定義:void assert_failed(u8* file,u32 line){  while(1)  {  }}
目前已有一些用于游泳跟蹤的可穿戴設備,如用于追蹤基本數據的智能手表等??偛课挥诙鄠惗嗟腡ritonWear正在采取進一步措施,其剛剛宣布推出Triton 2 - 該設備同時追蹤13個游泳指標,實時傳輸數據以進行表現分析。 防水Triton 2設備本身隱藏在佩戴者游泳帽的背后,并與教練的智能手機或平板電腦配套使用。一旦佩戴者開始游泳,該設備的慣性測量單元(加...
佐思汽研發布《2019-2020 年車載紅外夜視系統研究報告》。 紅外輻射是指波長在 0.75 微米至 1000 微米,介于可見光波段與微波波段之間的電磁輻射。紅外輻射波段對應的能量在 0.1eV-1.0eV 之間,所有在上述能量范圍之內的物理化學效應都可以用于紅外檢測,因此人們研制和發展了多種不同類型的探測器。按照工作溫度,可以分為制冷型探測器和非制冷型...
日常生活中,當家用電器(如洗衣機、冰箱、電動工具)出現漏電或感應帶電時都會有“麻手”感覺,如果用試電筆檢驗,二者又都會使電筆的氖泡發紅。如果僅僅是感應電,這些家電還可以繼續使用。如果是漏電,繼續使用就會有很大的危險性,必須進行檢修才行。但如何才能正確區分是感應帶電還是真正漏電呢?一、引起原因感應帶電是因為機器內部線路與外殼相互感應...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 泽库县| 宾阳县| 阿尔山市| 蓬安县| 阆中市| 定襄县| 雷波县| 望奎县| 夏邑县| 怀安县| 八宿县| 友谊县| 二连浩特市| 阿克陶县| 大悟县| 阜城县| 临颍县| 马公市| 永康市| 富源县| 文安县| 新建县| 枣庄市| 纳雍县| 六盘水市| 抚顺市| 南靖县| 汕头市| 大姚县| 类乌齐县| 探索| 启东市| 周口市| 威远县| 玛多县| 长治县| 永康市| 历史| 五常市| 铅山县| 唐河县|