P10點陣屏C51程序
1/4掃描,四掃下行,1路16行,數據低OE高(04-P16-08)
適用于HUB12接口單色P10
串口模式0,普通左移,亮度速度可調,6個IO口,用的STC8F1K08,最多231個字
制作出來的實物圖如下:
單片機源程序如下:
#include #include #include #define DATA P30 // #define CLOCK P31 //↑ ↓ #define ADDR_A P32 //↑ #define ADDR_B P33 // #define LATCH P54 //↓ ↓ #define ENABLE P55 //↓ unsigned char Offset_Bit,Offset_String; unsigned char code String[]= { #include <0.h> }; /*----------------------------延時10us@STC-Y6@11.0592MHz----------------------------*/ void Delay_10us(void) { unsigned char i; i=35; while(--i); } /*----------------------------延時x10us----------------------------*/ void Delay_x10us(unsigned char x) { while(x--) Delay_10us(); } void Line_Driver(unsigned char temp) { switch(temp) { case 0: ADDR_A=0; ADDR_B=0; break; case 1: ADDR_A=1; ADDR_B=0; break; case 2: ADDR_A=0; ADDR_B=1; break; case 3: ADDR_A=1; ADDR_B=1; break; default: break; } ENABLE=1; } void Send_One_Byte(unsigned char temp) { unsigned char i,temp1; for(i=0;i<8;i++) { temp1<<=1; if(temp&0x01) temp1|=0x01; temp>>=1; } SBUF=~temp1; while(!TI); TI=0; } void Send_Display(unsigned char line) { unsigned char i,j,a,b; unsigned int c,d; b=2*line; for(i=0;i<4;i++) { c=(Offset_String+i)*32; for(j=0;j<8;j++) { if(j<4) { a=(3-j)*8; d=a+b+c; if(Offset_Bit<=8) Send_One_Byte((String[d]< else Send_One_Byte((String[d+1]<<(Offset_Bit-8))|(String[d+32])>>(8-(Offset_Bit-8))); } else { a=(7-j)*8; d=a+b+c; if(Offset_Bit<=8) Send_One_Byte((String[d+1]< else Send_One_Byte((String[d+32]<<(Offset_Bit-8))|(String[d+33])>>(8-(Offset_Bit-8))); } } } LATCH=0; LATCH=1; } void Display(unsigned char brightness) { unsigned char line; for(line=0;line<4;line++) { Send_Display(line); Line_Driver(line); Delay_x10us(brightness); ENABLE=0; Delay_x10us(10-brightness); } } void Init(void) { AUXR|=0x20; P3M0=0x0f; P3M1=0x00; P5M0=0x30; P5M1=0x00; Offset_Bit=0; Offset_String=0; } void main(void) { unsigned char i; Init(); while(1) { for(i=0;i<10;i++) { Display(1); } Offset_Bit++; if(Offset_Bit==16) { Offset_Bit=0; Offset_String++; } if(Offset_String==159) { Offset_String=0; } } }
上一篇:H橋逆變,帶死區的SPWM單片機程序
下一篇:KEIL-51單片機實現自定義bootloader,用于程序更新
推薦閱讀
史海拾趣
D3公司非常重視企業文化的建設。公司倡導“以人為本、誠信經營”的企業文化,為員工提供良好的工作環境和發展機會。同時,公司還注重培養員工的團隊協作精神和創新意識。在這種企業文化的熏陶下,D3公司的員工們團結一心、銳意進取,共同為公司的發展貢獻力量。這種強大的團隊力量,是D3公司在電子行業中不斷取得成功的關鍵因素之一。
請注意,以上故事均為虛構,旨在展示電子行業中一家公司可能的發展路徑和策略。在實際應用中,企業需要根據自身情況和市場環境來制定合適的發展戰略。
在環保意識日益增強的今天,D3公司積極響應國家號召,將綠色環保理念融入企業的生產經營中。公司采用環保材料和清潔能源進行生產,減少了對環境的污染。同時,公司還加強了對廢棄物的處理和回收利用,實現了資源的循環利用。這種綠色環保的生產方式,不僅降低了企業的生產成本,也提高了企業的社會責任感。在消費者的心中,D3公司也因此樹立了環保、負責的良好形象。
隨著市場競爭的加劇,Electroswitch意識到僅僅依靠產品質量已經不足以贏得市場。因此,公司開始注重提升服務質量,為客戶提供更加全面和專業的支持。通過加強售前咨詢、售后服務以及技術支持等方面的投入,Electroswitch成功贏得了客戶的信任和忠誠。這也使得公司在電子行業中的地位得到了進一步提升。
自上世紀80年代起,Beckhoff便將基于PC的自動化新技術作為公司的發展理念。通過不斷研發和創新,公司成功地將工業PC、現場總線模塊、驅動產品和控制軟件等整合為一套完整的、相互兼容的控制系統。這一創新為工控領域帶來了革命性的變革,使得工業自動化系統更加開放、靈活和高效。
隨著全球市場的不斷融合,EREM公司開始尋求國際合作機會。通過與國外知名企業的合作,EREM不僅將產品銷售到了全球各地,還學到了許多先進的管理經驗和技術。同時,EREM也積極參與國際展覽和交流活動,提升了品牌知名度和影響力。這些努力使得EREM在國際市場上逐漸嶄露頭角。
Davicom公司在成立之初就面臨著電子行業中模擬與數字技術的融合挑戰。公司憑借其強大的研發團隊,成功開發出全球首款將模擬與數字技術完美結合的嵌入式以太網絡IC,這一突破性的技術不僅解決了當時行業內的技術難題,也為Davicom贏得了市場先機。
《阿凡達》中人類在遙遠的潘多拉星球上可以在廣闊的地域之間高速傳輸數據和通信,用得可能將是未來的4G或5G技術,雖然CES沒有對此高科技給出的切實解決答案,但多家企業正在不斷努力,遠程高速數據通信也即將到來。 美國運營商Sprint在CES上推 ...… 查看全部問答∨ |
FPGA的多路可控脈沖延遲系統設計 采用數字方法和模擬方法設計了一種最大分辨率為0.15 ns級的多路脈沖延遲系統,可以實現對連續脈沖信號的高分辨率可控延遲;采用Flash FPGA克服了現有SRAM FPGA系統掉電后程序丟失的缺點,提高了系統反應速度。本系 ...… 查看全部問答∨ |
目前在做一個項目,是基于51單片機和SPI模塊通訊的。 我的問題是: 1、這個SPI模塊要求發送數據時,每個字節必須是高位在前,地位在后。一個字節中哪些位是高位,哪些位是地位?比如一個二進制數據:11110000.如果按照它的要求的話,我應該先發11 ...… 查看全部問答∨ |
最近我在win7的操作系統中一直無法安裝usb-blaster驅動程序,導致我無法在quartus II軟件中下載程序,如圖F:\\picture\\no hardware.jpg 但是我在安裝usb-blaster驅動程序的時候,系統彈出對話框F:\\picture\\drivers.jpg,我懷疑是因 ...… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 08:53 編輯 今天老師對我們說,建議09級的同學不要參加國賽,如果等到下一屆,就得等兩年,那時候就大四了,也就沒有那個時間參加了! 可是老師給我們的答案是很多的競賽在等你,為什么偏偏選擇國賽呢 ...… 查看全部問答∨ |
|