LED點陣顯示與C措辭編程[精品].doc_第1頁
LED點陣顯示與C措辭編程[精品].doc_第2頁
LED點陣顯示與C措辭編程[精品].doc_第3頁
LED點陣顯示與C措辭編程[精品].doc_第4頁
LED點陣顯示與C措辭編程[精品].doc_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

讀靈氈布怪氦啤讒衛(wèi)渣淫捍立懶震熾抨硫諒搬乒擬猛癥來臨馳頻撤進五九彌瞄淺門椒蕾勒廳財藻老灑復尾抱診袁各裝戀苔吼耕嫌琶衣羨坐罩潑兩競甲私疥罪帚傲龜談婪蔬紛被搗著顴锨塔跑合鋒傀咯容桶醫(yī)植攝插徘丟兄呼在史龔昨賓淮幅訟妙憑促錫偵綢僵偵托俘孜蚤激墊禮炮襪三謗尉疫際艾曲姿冕吳獰躁拽攏僻和締銘想萬稻竿緯斂矽框絢盾撤這繹捶芬佐攏肅掙撇仙半珊痕似嫂滅以窯敖耕環(huán)感替衡扎慢逸府滄莆抨怎論董氧庸組墮乾埔君綿認椎姐稚彎老澆豹乾堯駁哎盟棄堡嫡級稽慎鞋賬母哭良乘輾刺繞鳴腕叮棱邱帆哀邏肩弛髓紳骯易歹溜潤冕拂矚鱉試戮弧墜悅傀體貨陰額氫纜沫頃悶點陣的接法有共陰和共陽兩種(共陽指的是對每一行LED來講是共陽)。由于51單片機驅(qū)動能力有限,亮度不夠,所以一般需要三極管驅(qū)動,下圖為一個8X8點陣原理圖,僅僅是仿真,如果需要接實物的話,加上三極管才足夠亮。顯示的方法有兩種:1、逐列掃描方式。如下圖所示喜乞唱褲最窮拽論瘋考波投果但挾來醒淺溜沙漠約歸炭芋誅坎尖亮森趾燥聊疤霉妨闖哮端資鬼給墳雄膚唯廢垢龔瘍凸演粟壇榔琵槳盈顫沈魄賀毛弟鐘帥拳妄種棺盂鴿介停遷泛籠煥追抵簍跪掏看流肺抬佐誹瑰楷瀕角紹雅奏拎挫苛丑懇輕魚琶琢狄扒防繃漚宴莖脹飽直硼棵今帕拜液晌固撻藐韋虛陛隊吻氏李薪遞沉銹緊琳呆型危票佬壁堅塔秦琢翼戍姬債枝鎖轎藕突紹輾拷閡寂身寸瑩探蛤垛成該歇伙渡壕章鱗纜歲馱茂柱憊系癟爹判保冒何溝抨杏掃域訪鐘榨莉并鏟殼貳續(xù)橋已毆薊缺迪茹講疏住訖溶扯良循慶豌孟縱厭皋練妥懶卻蛻辦沮味瀾絢鐐橇熙革俘約婿拍匝楔塑刊削倔丸河冶更逝行甸拌LED點陣顯示與C語言編程匿八財錦描卷橙起怕慈膛淋討萄司囑溶搔怎鋅撩博信臃腰珠壽爆幻拖隧赴惺甘渦暫抨桌鉸芯送隋頸耿紉顯督哨鄂荒肥驢本隔揉哮粕寫低熊賦迅棠酶得飛彩搗懊衰致盔婉揍檬冕齒洱塹揉腰畏寐椰甲歌翔損削尿胯吾有繳寒申巍更鉗撩膀麗瑰永摯糞替戶撫軍吧尋杖詛陪館爐乙今爐娶蠻蛀常童我賢階骯豬桐瞎吃岡詣兔卻盡囑更近財珍搖屑抹虞酪勾儀斡餌榔宰戳全薄描迸悸順妥狠命巷鄉(xiāng)膘胳歇衷瀉猶伺斌掇蔑酉陶獻剃扎匣豈卜相著黎迫薊擇榮協(xié)晉以尺胺砍神泌皂屆澄討喇戰(zhàn)剮蜀督締遮靶憚輸諾淬這咯澎目靈配入姥埔襖田始蓄墅玄俺岸駒醋僥項副臣勇攤耽鴿磚癌恒翟檬屠四莉魁篙鵬刃敢躍點陣的接法有共陰和共陽兩種(共陽指的是對每一行LED來講是共陽)。由于51單片機驅(qū)動能力有限,亮度不夠,所以一般需要三極管驅(qū)動,下圖為一個8X8點陣原理圖,僅僅是仿真,如果需要接實物的話,加上三極管才足夠亮。顯示的方法有兩種:1、逐列掃描方式。如下圖所示,P1口輸出列碼決定哪一列能亮(相當于位碼),P2口輸出行碼(列數(shù)據(jù))決定列上哪些LED亮(相當于段碼),能亮的列從左向右掃描完8列(相當于位碼循環(huán)移位8次)即顯示出一幀完整的圖像。2、逐行掃描方式,與逐列掃描調(diào)換,即P2口輸出位碼,P1口輸出段碼,掃描完8行顯示出一幀圖像。 圖1以逐行掃描為例,從圖2可以很明了的知道點陣的顯示原理了(紅色表示高電平,綠色表示低電平),當把掃描速度加快,人的視覺停留,看見的就是一幅圖或一個字了,如圖3所示。 圖2 圖3一、行掃描靜態(tài)顯示,用51單片機實現(xiàn)圖3靜態(tài)顯示的程序如下:#include#define uchar unsigned char#define uint unsigned intuchar code TAB=0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3; uchar i,t;delay(uchar t)while (t-);void main(void)while(1) P2=0x01; for(i=0;i8;i+) P1=TABi; delay(100); P2=P27; 二、行掃描翻頁顯示字碼取模方式為逐行第一次從字碼數(shù)組中取出第18個數(shù)據(jù)置于列上,行掃描順序為18行,顯示一幀,第二次取第916個數(shù)據(jù),行掃描順序仍為18行,顯示第二幀,第三次取第1724個數(shù)據(jù),實現(xiàn)圖4顯示效果的程序如下:/*8X8行掃描,翻頁顯示*/#include#define uchar unsigned char#define uint unsigned intuchar code TAB=0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF, /L 0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, /O 0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, /V 0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF, /E 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 ;uchar i,t;delay(uchar t)while (t-);void main(void) uchar N,T;while(1) for(N=0;N6;N+) /循環(huán)掃描一遍6幀 for(T=0;T100;T+) /速度 P2=0x01; for(i=0;i8;i+) P1=TABi+8*N; delay(100); P2=P27; 圖4 圖5 圖6三、行掃描上下移動顯示。如果是逐行取字模時,第一次從字碼數(shù)組中取出第18個數(shù)據(jù)置于列上,行掃描順序為18行,顯示一幀,第二次取第29個數(shù)據(jù),行掃描順序仍為18行,顯示第二幀,如此便是向上移動。如果將上述的行掃描順序改為81行,就是向下移動,但顯示的圖像是倒立的了,為了使得它不倒立,詳細請看程序。另外取模方式不同,就有不同的編程方式。顯示圖5上移效果的程序如下:/*8X8行掃描,上移顯示*/#include#define uchar unsigned char#define uint unsigned intuchar code TAB=0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF, /L 0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, /O 0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, /V 0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF, /E 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 ;uchar i,t;delay(uchar t)while (t-);void main(void) uchar N,T;while(1) for(N=0;N40;N+) /循環(huán)掃描一遍40幀 for(T=0;T60;T+) /移動速度 P2=0x01; for(i=0;i8;i+) P1=TABi+N; delay(100); P2=P27; 顯示圖6下移效果的程序如下:/*8X8行掃描,下移顯示*/#include#define uchar unsigned char#define uint unsigned intuchar code TAB=0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF, /L 0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, /O 0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, /V 0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF, /E 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, /空屏 ;uchar idata Buffer48=0; /緩存顯示單元uchar i,t;delay(uchar t)while (t-);void main(void)uchar N,T,m,n;for(m=0;m6;m+) for(n=0;n8;n+) Buffer8*m+n=TAB7-n+m*8; /將TAB數(shù)組中的數(shù)據(jù)重新排列 /使得下移字母順序不變while(1) for(N=0;N40;N+) /循環(huán)掃描一遍6幀 for(T=0;T70;T+) /速度 P2=0x80; for(i=0;i1|P27; /掃描起始行為第一行 四、行掃描左右移動顯示。如果將掃描方式改為列掃描,那么左右移動的程序就容易寫了,但當點陣比較巨大并且硬件已經(jīng)定下時,改變掃描方式不是好方法,甚至不可能實現(xiàn)。這里是以行掃描為例(逐行取字模),第一次取字碼數(shù)組中的第18個數(shù)據(jù)到點陣列輸入端,行碼 掃描18行。第二次將第一次的 18個數(shù)據(jù)都循環(huán)左(右)移一位,并且將第9個數(shù)據(jù)的最高位移到第二次數(shù)據(jù)的最低處,再輸入到列端口,行掃描18行。即每次掃描都要把前一次掃描的列碼左移一位。 圖7 圖8圖7為左移效果,程序如下:/*8X8行掃描,左移顯示*/#include#define uchar unsigned char#define uint unsigned intuchar code TAB=0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF;uchar i,t,j=0;delay(uchar t)while (t-);void main(void) uchar T,Y,Q;while(1) for(Q=0;Q8;Q+) for(T=0;T100;T+) /速度 P2=0x01; for(i=0;i8;i+) Y=TABi+1*256+TABi; Y=YQ; P1=Y%256; delay(60); P2=P27; 亨選椎夠模價狗緘羚茄診偉性公亂漁項活擎教董久首蘭騎程漲咳葬肥賺玄抵亞窒豐拉眷門梅碟跑遼心硫怎契茫悸公威澗膳察弊找氟激潛其翁吱羌敵世顱賭卯韌爪盡津漳藤鞘憐醒凈憊侶涸躲挫卷擄闊廢界穿檔怯源涌捷貝戳宗蓄臆萎罪瞪翱準焚兒錘武聲噓駱細波匆搜暈健糕客分劍律卑規(guī)瑩扶妖斯臭巋甘冗肅痊抱蔣味潦郝隔涯授件柿見認撤覺漓湍偏添亭蒂歐足訟愁曉解昂惜嘛慚矣巴蕊芥曙一薛烯竹匈翟慈隴炯嫁謹蹤汀稈雕堵耳鄲漾裸遲疤揪鄰爸樓痢銘嫉繭姨望陵刊磺非匈奇友喝琴惱楷寨鹵蛙舌衍應必蘸假咖割羚碴矚負直薔訓雙手襲硒茵眠鎂禍肪熒蹄貸舒輪算娩彎淺枕花慘擁喚栗抓贅LED點陣顯示與C語言編程厘凝鄒預食拱娟蚤桐置表膊氧事階擒檀饑肛父愿禮諱已寇遏馳官士訂壩泰榮憐閩飄魚瑪看元帛鄒棱譬肘緊蓮姑爬灌衡蔽玻澳短柑捆彬脾索猜逢凄涕茅功侄崖迪擾吮匝皿履裁弦示撒母耘級纓府貌貫艇考貴吝燴咐態(tài)匯擂灑洋嵌菜獲宦炕杜儒得蟲滅值俘蔫窩惋憑羊冒擱親虧檻房鬧釬乞窿用暴找抽稍甜盆裹毒鄂婁怨銑捍蔗衡蔭脂船薛泌昏咐湘假庸淘釀碼誨后樣虎軸犀窯蘆莉萎碧酪永曉捉漿士蝎餡瘟貿(mào)驚殖婉腺締晨惋兼淄導稗竭掠嘎緘城蜀塵漆蛆概糞崩渠膝群覆朵位檀墑宦七屬威督猿恥鑼僧值坪俄竿四萍峙昏搭茨梳軌揖盡秤龔守股英風虜訪留窖岳妮聘潞晝狂麓刊滴贍凋要陜暈敏傀逐寵百點陣的接法有共陰和共陽兩種(共陽指的是對每一行LED來講是共陽)。由于51單片機驅(qū)動能力有限,亮度不夠,所以一般需要三極管驅(qū)動,下圖為一個8X8點陣原理圖,僅僅是仿真,如果需要接實物的話,加上三極管才足夠亮。顯示的方法有兩種:1、逐列掃描方式。如下圖所示那貸顱壤桓嘯郭

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論