日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C51单片机】LED胸牌设计(仿真)

發布時間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C51单片机】LED胸牌设计(仿真) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、功能描述

設計16*64LED點陣屏,制作胸牌,顯示如下效果,并且讓字體有滾動效果(字體從下到上、從上到下、從左到右、從右到左顯示)

2、PROTEUS中設計的電路圖

3、源代碼(代碼中有詳細注釋)

#include <reg51.h> #include <intrins.h> sbit OE=P1^0;//鎖存 sbit EN=P1^1;//行選輸出允許 //陰碼,按行取模,低位在前 unsigned char code font[][32]={ {0x00,0x03,0x00,0x03,0x00,0x0F,0x00,0x0F,0x00,0x3C,0x00,0x3C,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0x00,0x3C,0x00,0x3C,0x00,0x0F,0x00,0x0F,0x00,0x03,0x00,0x03},/*"C:\Users\FUTURE\Desktop\箭頭.bmp",0*/{0x40,0x00,0x80,0x00,0x80,0x00,0xFF,0x7F,0x20,0x00,0x20,0x00,0x20,0x00,0xE0,0x0F, 0x20,0x08,0x20,0x08,0x20,0x08,0x10,0x08,0x10,0x08,0x08,0x08,0x04,0x05,0x02,0x02},/*"方",0*/{0x00,0x00,0x3C,0x1E,0x7E,0x3F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x7F,0xFE,0x3F, 0xFC,0x1F,0xF8,0x1F,0xF0,0x0F,0xE0,0x07,0xC0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00},/*"C:\Users\FUTURE\Desktop\心.bmp",0*/{0x08,0x00,0x10,0x20,0xFE,0x1E,0x00,0x02,0x44,0x02,0x28,0x02,0xFF,0x7E,0x10,0x12, 0x10,0x12,0xFE,0x12,0x10,0x12,0x54,0x12,0x92,0x12,0x11,0x11,0x14,0x11,0x88,0x10},/*"新",0*/{0xC0,0x00,0xE0,0x00,0xF0,0x00,0xF8,0x00,0x7C,0x00,0x3E,0x00,0xFE,0x7F,0xFF,0xFF, 0xFF,0xFF,0xFE,0x7F,0x3E,0x00,0x7C,0x00,0xF8,0x00,0xF0,0x00,0xE0,0x00,0xC0,0x00},/*"C:\Users\FUTURE\Desktop\箭頭(反).bmp",0*/ }; void delay(unsigned int xms) {int i,j;for(i=0;i<=xms;i++)for(j=0;j<=110;j++); }//從下往上 void downtoup() { unsigned char i=0,k,m,j,x,y;for(i=0;i<16;i++) //i:16幀for(x=0;x<15;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=15-i,m=0;k<16;k++,m++) //k:第一幀從第15行開始顯示,第二幀從第14行開始顯示。。。。。。//m:總是從第0行開始送字模{ EN=1;//行選輸出禁止for(j=0,y=0;j<5;j++) //j:共5個字,一次送一個字的一行//y:總是從第0列點陣屏開始{ P0=font[j][2*m]; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=font[j][2*m+1]; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }//從上往下 void uptodown() { unsigned char i=0,k,m,j,x,y;for(i=0;i<16;i++) //i:16幀for(x=0;x<15;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=0,m=15-i;k<=i;k++,m++) //k:每幀都是從第0行開始顯示,第i幀共顯示i行//m:第一幀從第15行開始送字模,第二幀從第14行開始送字模{ EN=1;//行選輸出禁止for(j=0,y=0;j<5;j++) //j:共8個字,一次送一個字的一行//y:總是從第0列點陣屏開始{ P0=font[j][2*m]; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=font[j][2*m+1]; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }//從右往左,一次移動一個字 void righttoleft() { unsigned char i,k,j,x,y;for(i=0;i<6;i++) //i:5幀,,第6幀是讓最后顯示空白for(x=0;x<20;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=0;k<16;k++) //k:每幀16行都要顯示{ EN=1;//行選輸出禁止for(j=i,y=0;j<5;j++) //j:一幀顯示i~7這幾個字{ P0=font[j][2*k]; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=font[j][2*k+1]; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}while(y<10) //一幀顯示i~7這幾個字后,剩下的送字模0x00,即:不顯示{ P0=0x00; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=0x00; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存} P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }//從左往右,一次移動一個字 void lefttoright() { unsigned char i,k,j,x,y;for(i=0;i<6;i++) //i:5幀,,第6幀是讓最后顯示空白for(x=0;x<15;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=0;k<16;k++) //k:每幀16行都要顯示{ EN=1;//行選輸出禁止y=0;while(y<2*i) //一幀先0~i-1這幾個字不顯示,所以送字模0x00{ P0=0x00; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=0x00; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存} for(j=0;j<5-i;j++) //j:一幀顯示0~8-i這幾個字{ P0=font[j][2*k]; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存P0=font[j][2*k+1]; //一行的高8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }//從右往左,一次移動半個字 void righttoleft_half() { unsigned char i,k,j,x,y;for(i=0;i<11;i++) //i:16幀for(x=0;x<15;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=0;k<16;k++) //k:每幀16行都要顯示{ EN=1;//行選輸出禁止for(j=i,y=0;j<10;j++) //j:一幀顯示16-i個半字{ P0=font[j/2][2*k+j%2]; //送半字P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}while(y<11) //剩下的i個半字送0x00,即:不顯示{ P0=0x00; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存// P0=0x00; //一行的高8位// P3=y++; //指定哪個點陣// OE=0; //更新// OE=1; //鎖存} P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }//從左往右,一次移動半個字 void lefttoright_half() { unsigned char i,k,j,x,y;for(i=0;i<11;i++) //i:10幀 16for(x=0;x<15;x++) //x:一幀重復顯示20次,實際上控制的是上下滾動的速度for(k=0;k<16;k++) //k:每幀16行都要顯示{ EN=1;//行選輸出禁止y=0;while(y<i) //先送i個0x00,即:不顯示{ P0=0x00; //一行的低8位P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存} for(j=0;j<10-i;j++) //j:一幀顯示16-i個半字{ P0=font[j/2][2*k+j%2]; //送半字P3=y++; //指定哪個點陣OE=0; //更新OE=1; //鎖存}P2=k; //設置行選信號EN=0; //行選輸出允許delay(1);} }void bink(){unsigned char i,j,k,n=0;while(n<15){for(i=0;i<16;i++) //按行,共16行,一次點亮所有8個字的一行{ EN=1;//行選輸出禁止for(j=0,k=0;j<5;j++) //共8個字,一次送一個字的一行{ P0=font[j][2*i]; //一行的低8位P3=k++; //指定哪個字OE=0; //更新OE=1; //鎖存P0=font[j][2*i+1]; //一行的高8位P3=k++; //指定哪個字OE=0; //更新OE=1; //鎖存} P2=i; //設置行選信號EN=0; //行選輸出允許delay(1);}n++;}} void main() {int i=0; while(1){downtoup();while(i<3){bink();delay(400);i++; }i=0; uptodown();righttoleft();lefttoright(); righttoleft_half();lefttoright_half();while(i<3){bink();delay(400);i++; }} }

4、實驗效果??

由于不能上傳視頻,所以我將效果視頻上傳至優酷,請點擊觀看------->LED胸牌效果視頻

問題咨詢及項目源碼請加群:

QQ群

名稱:IT項目交流群

群號:245022761

總結

以上是生活随笔為你收集整理的【C51单片机】LED胸牌设计(仿真)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性高潮久久久久久久久 | 91在线无精精品入口 | 国产专区第一页 | 美日韩精品一区二区 | 免费欧美日韩 | 成年人午夜视频 | 亚洲乱亚洲乱 | 国内三级在线 | 97人妻精品一区二区三区免费 | 97精品人妻一区二区 | 日本欧美三级 | 玖玖爱av| 国产免费午夜 | 亚洲国产第一区 | 天天做夜夜爱 | 欧美日韩1区2区 | 日韩性生交大片免费看 | 东北老女人av | 香蕉伊人网 | 久久青草视频 | 精品国产乱码久久久久夜深人妻 | 欧洲视频一区二区三区 | 最新不卡av | 国产日韩免费视频 | 国产不卡网 | 国产 福利 在线 | 老司机一区 | 99re这里都是精品 | 久久久蜜桃| av网站观看 | 婷婷免费视频 | 欧美亚洲大片 | 日日摸天天添天天添破 | www.午夜视频 | 孕期1ⅴ1高h | www.香蕉视频在线观看 | 日韩av一区二区三区在线 | 免费成人在线电影 | 欧美日日 | 视频一区二区三区精品 | 免费看黄色片的网站 | 桃色一区二区三区 | 亚洲国产精品毛片 | 插插看 | 日本高潮视频 | 91av一区二区三区 | 亚洲一区二区三区在线免费观看 | 奶水旺盛的女人伦理 | 一区精品在线 | 亚洲激情图 | 五月婷网 | 嫩草嫩草嫩草嫩草 | 亚洲在线观看视频 | 欧美视频一区二区在线观看 | 超级碰在线视频 | 男女一区| 最新中文字幕在线 | 欧美一区成人 | 日本高清不卡二区 | 亚洲美女综合网 | 日本一区二区高清免费 | 欧美精品网站 | 五月天综合 | 四虎成人网 | 国产男女av | 在线观看亚洲精品视频 | 日韩性高潮 | 9191久久| 国产精品久久影院 | 日韩一区二区在线播放 | 欧美一区二区三区影视 | 影音先锋中文字幕一区二区 | 国产a三级 | 天堂网一区 | 亚洲欧美一区二区三区四区 | 欧美精品免费在线观看 | 啪啪激情网 | 青春草在线视频观看 | 亚洲国产一二三 | 狠狠躁夜夜躁av无码中文幕 | 婷婷.com | 久久综合区 | 女仆裸体打屁屁羞羞免费 | 成人激情免费视频 | 在线a天堂 | 奇米影视欧美 | caoporm超碰 | 久综合| 亚洲88 | av伦理在线| 91一区二区三区 | 国产重口老太伦 | 艳妇臀荡乳欲伦交换在线播放 | zzjj国产精品一区二区 | av射进来| 黄色av成人| 中文字幕在线有码 | 色屁屁| 色噜噜狠狠一区二区三区 |