TM1629是一款帶鍵盤掃描和LED掃描驅(qū)動的國貨芯片,芯片默認(rèn)配套為使用共陰數(shù)碼管; 但考慮到降低物料庫存種類,選用了共陽數(shù)碼管由于用了共陽的數(shù)碼管,LED原來的段碼引腳現(xiàn)在要接到1629芯片GRID引腳上,原理的數(shù)碼管列掃描信號接到1629芯片SED引腳上;亂套了。。。。用共陰數(shù)碼管,往芯片送一個(gè)字節(jié),對應(yīng)一個(gè)數(shù)碼管的7個(gè)筆段+1個(gè)數(shù)碼管,這種顯示數(shù)據(jù)關(guān)系簡單明了。現(xiàn)在用共陽數(shù)碼管,往芯片送一個(gè)字節(jié),對應(yīng)是8個(gè)數(shù)碼管的其中一個(gè)段碼的數(shù)據(jù),送2個(gè)字節(jié)表示16個(gè)數(shù)碼管的其中一個(gè)筆段的數(shù)據(jù);也就是說,每2個(gè)字節(jié)描述了16個(gè)數(shù)碼管的其中一個(gè)筆段的狀態(tài), 送16個(gè)字節(jié)描述了16個(gè)數(shù)碼管的8個(gè)筆段的狀態(tài);這時(shí)候就需要一個(gè)函數(shù)來轉(zhuǎn)換顯示和筆段的數(shù)據(jù);顯示數(shù)字的筆段定義
上傳時(shí)間: 2022-05-13
上傳用戶:
工作原理:\r\n 脈沖輸入,記錄30個(gè)脈沖的間隔時(shí)間(總時(shí)間),LED顯示出來,牽涉到數(shù)碼管的輪流點(diǎn)亮,以及LED的碼。輸入端口一定要用個(gè)\r\n74LS14整一下,圖上沒有。數(shù)碼管使用共陰數(shù)碼管。MAXPLUS編譯。\r\n測試時(shí)將光電門的信號端一塊連接到J2口的第三管腳,同時(shí)第一管腳為地,應(yīng)該與光電門的地連接(共地)。\r\n開始測試:\r\n 按下按鍵,應(yīng)該可以見到LED被點(diǎn)亮,指示可以開始轉(zhuǎn)動轉(zhuǎn)動慣量盤,等遮光片遮擋30次光電門后,\r\n LED熄滅,數(shù)碼管有數(shù)字顯示,此為時(shí)間值,單位為秒,與
標(biāo)簽: CPLD LED 控制 數(shù)碼管
上傳時(shí)間: 2013-09-05
上傳用戶:123454
電路連接 由于數(shù)碼管品種多樣,還有共陰共陽的,下面我們使用一個(gè)數(shù)碼管段碼生成器(在文章結(jié)尾) 去解決不同數(shù)碼管的問題: 本例作者利用手頭現(xiàn)有的一位不知品牌的共陽數(shù)碼管:型號D5611 A/B,在Eagle 找了一個(gè) 類似的型號SA56-11,引腳功能一樣可以直接代換。所以下面電路圖使用SA56-11 做引腳說明。 注意: 1. 將數(shù)碼管的a~g 段,分別接到Arduino 的D0~D6 上面。如果你手上的數(shù)碼管未知的話,可以通過通電測量它哪個(gè)引腳對應(yīng)哪個(gè)字段,然后找出a~g 即可。 2. 分清共陰還是共陽。共陰的話,接220Ω電阻到電源負(fù)極;共陽的話,接220Ω電阻到電源+5v。 3. 220Ω電阻視數(shù)碼管實(shí)際工作亮度與手頭現(xiàn)有原件而定,不一定需要準(zhǔn)確。 4. 按下按鈕即停。 源代碼 由于我是按照段碼生成器默認(rèn)接法接的,所以不用修改段碼生成器了,直接在段碼生成器選擇共陽極,再按“自動”生成數(shù)組就搞定。 下面是源代碼,由于偷懶不用寫循環(huán),使用了部分AVR 語句。 PORTD 這個(gè)是AVR 的端口輸出控制語句,8 位對應(yīng)D7~D0,PORTD=00001001 就是D3 和D0 是高電平。 PORTD = a;就是找出相應(yīng)的段碼輸出到D7~D0。 DDRD 這個(gè)是AVR 語句中控制引腳作為輸出/輸入的語句。DDRD = 0xFF;就是D0~D7 全部 作為輸出腳了。 ARDUINO CODECOPY /* Arduino 單數(shù)碼管骰子 Ansifa 2011-12-28 */ //定義段碼表,表中十個(gè)元素由LED 段碼生成器生成,選擇了共陽極。 inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; voidsetup() { DDRD = 0xFF; //AVR 定義PortD 的低七位全部用作輸出使用。即0xFF=B11111111對 應(yīng)D7~D0 pinMode(12, INPUT); //D12用來做骰子暫停的開關(guān) } voidloop() { for(int i = 0; i < 10; i++) { //將段碼輸出PortD 的低7位,即Arduino 的引腳D0~D6,這樣需要取出PORTD 最高位,即 D7的狀態(tài),與段碼相加,之后再輸出。 PORTD = a[i]; delay(50); //延時(shí)50ms while(digitalRead(12)) {} //如果D12引腳高電平,則在此死循環(huán),暫停LED 跑 動 } }
標(biāo)簽: Arduino 10 數(shù)碼管 實(shí)驗(yàn)
上傳時(shí)間: 2013-10-15
上傳用戶:baitouyu
一個(gè)智能數(shù)字電壓表,共陽數(shù)碼管顯示,ADC芯片為0809,附帶C語言程序
標(biāo)簽: 0809 數(shù)字電壓表
上傳時(shí)間: 2013-11-15
上傳用戶:ynsnjs
數(shù)碼管的介紹,對單片機(jī)初學(xué)者有極大幫助
標(biāo)簽: 共陽數(shù)碼管 引腳 檢測方法
上傳時(shí)間: 2013-10-26
上傳用戶:wang0123456789
共陽極、共陰極數(shù)碼管的引腳圖
上傳時(shí)間: 2013-12-20
上傳用戶:asaqq
在大多數(shù)單片機(jī)系統(tǒng)中經(jīng)常要用到按鍵和 7 段數(shù)碼管顯示,ZLG7290 就是一款功能強(qiáng)勁的按鍵處理和7 段數(shù)碼管顯示專業(yè)芯片。ZLG7290 提供了I2C 串行接口和鍵盤中斷信號方便與處理器連接;可驅(qū)動8 位共陰數(shù)碼管或64 個(gè)獨(dú)立LED 和64 個(gè)按鍵, 可控掃描位數(shù)并且可控任一數(shù)碼管閃爍,提供數(shù)據(jù)譯碼和循環(huán)移位段尋址等控制,58 個(gè)功能鍵可檢測任一鍵的連擊次數(shù),無需外接元件即可直接驅(qū)動LED、即可擴(kuò)展驅(qū)動電流和驅(qū)動電壓。
標(biāo)簽: LM3S RTC 單片機(jī) 擴(kuò)展
上傳時(shí)間: 2013-11-18
上傳用戶:Altman
4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn),程序采用匯編語言編寫。此程序在仿真軟件上與EDN-51實(shí)驗(yàn)板上均通過。仿真圖中的數(shù)碼管位驅(qū)動采用74HC04,如按EDN-51板上用想同的PNP三極管驅(qū)動在仿真軟件上則無法正常顯示。程序共分5塊,STAR0為數(shù)據(jù)初始化,STAR2為計(jì)數(shù)子程序,STAR3為4位數(shù)碼管動態(tài)顯示子程序,STAR4為按鍵掃描子程序,STS00是延時(shí)子程序。由于EDN-51實(shí)驗(yàn)板上沒裝BCD譯碼器,所以編寫程序比較煩瑣。 程序如下: ORG 0000H LJMP STAR0 ;轉(zhuǎn)程序 SRAR0ORG 0200H ;程序地址 0200HSTAR0: CLR 00 ;位 00 清 0 MOV P1,#0FFH ;#0FFH-->P1 MOV P2,#0FH ;#0FH-->P2 MOV P0,#0FFH ;#0FFH-->P0 MOV 30H,#00H ;#00H-->30H MOV 31H,#00H ;#00H-->30H MOV 32H,#00H ;#00H-->30H MOV 33H,#00H ;#00H-->30H LJMP STAR3 ;轉(zhuǎn)程序 SRAR3STAR2: MOV A,#0AH ;#0AH-->A INC 30H ;30H+1 CJNE A,30H,STJE ;30H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 30H,#00H ;#00H-->30H INC 31H ;31H+1 CJNE A,31H,STJE ;31H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 31H,#00H ;#00H-->31H INC 32H ;32H+1 CJNE A,32H,STJE ;32H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 32H,#00H ;#00H-->32H INC 33H ;33H+1 CJNE A,33H,STJE ;33H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 33H,#00H ;#00H-->33H MOV 32H,#00H ;#00H-->32H MOV 31H,#00H ;#00H-->31H MOV 30H,#00H ;#00H-->30HSTJE: RET ;子程序調(diào)用返回STAR3: MOV R0,#30H ;#30H-->R0 MOV R6,#0F7H ;#0F7H-->R6SMG0: MOV P1,#0FFH ;#0FFH-->P1 MOV A,R6 ;R6-->A MOV P1,A ;A-->P1 RR A ;A向右移一位 MOV R6,A ;A-->R6 MOV A,@R0 ;@R0-->A ADD A,#04H ;#04H-->A MOVC A,@A+PC ;A+PC--> MOV P0,A ;A-->P0 AJMP SMG1 ;轉(zhuǎn)程序 SMG1SDATA: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H SMG1: LCALL STAR4 ;轉(zhuǎn)子程序 SRAR4 LCALL STS00 ;轉(zhuǎn)子程序 STS00 INC R0 ;R0+1 CJNE R6,#07FH,SMG0 ;#07FH 與 R6 比較,不等轉(zhuǎn)移 SMG0 AJMP STAR3 ;轉(zhuǎn)程序 SRAR3STAR4: JNB P2.0,ST1 ;P2.0=0 轉(zhuǎn) ST1 CLR 00 ;位 00 清 0 SJMP ST3 ;轉(zhuǎn)ST3ST1: JNB 00,ST2 ;位 00=0 轉(zhuǎn) ST2 SJMP ST3 ;轉(zhuǎn) ST3ST2: LCALL STAR2 ;調(diào)子程序 STAR2 SETB 00 ;位 00 置 1ST3: RET ;子程序調(diào)用返回ORG 0100H ;地址 0100HSTS00: MOV 60H,#003H ;#003H-->60H (211)DE001: MOV 61H,#0FFH ;#0FFH-->61H (255)DE002: DJNZ 61H,DE002 ;61H 減 1 不等于 0 轉(zhuǎn) DE002 DJNZ 60H,DE001 ;60H 減 1 不等于 0 轉(zhuǎn) DE001 RET ;子程序調(diào)用返回 END ;結(jié)束 上次的程序共有293句,經(jīng)小組成員建議,本人經(jīng)幾天的研究寫了下面的這個(gè)程序,現(xiàn)在的程序用了63句,精簡了230句。功能沒有減。如誰有更簡練的程序,請發(fā)上來,大家一起學(xué)習(xí)。 4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn)(含電路圖和仿真文件)
標(biāo)簽: 數(shù)碼管 十進(jìn)制 仿真實(shí)驗(yàn) 仿真
上傳時(shí)間: 2013-10-11
上傳用戶:sssl
晶體管手冊(共分17類大集合) 所有晶體管的詳細(xì)參數(shù) 包括三極管,二極管,mos管等等
上傳時(shí)間: 2013-12-09
上傳用戶:BIBI
數(shù)碼管必備
上傳時(shí)間: 2013-12-31
上傳用戶:Divine
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1