91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 91KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-16
  • 語言: 其他
  • 標簽: LED??點陣??C51??

資源簡介

基于C51 的16*64LED點陣基于C51 的16*64LED點陣基于C51 的16*64LED點陣

資源截圖

代碼片段和文件信息

/*******************************************************
程序?qū)崿F(xiàn)功能:
輸入任意英文字母、標點符號和已取模的任意漢字,在LED顯示
屏上左移循環(huán)顯示。
*******************************************************/

#include
#include
//#include
#include
#define?uchar?unsigned?char?
#define?uint?unsigned?int?

#define?RAM?0x0000
sbit?STB?=?P1^0;
sbit?DATA?=?P1^1;
sbit?CLK?=?P1^2;
sbit?G1G2?=?P1^3;
sbit?INH??=?P1^4;


void?init();
void?delay_ms(uint?m);
uchar?WriteToRam(uchar?*ptr);
void?SendOneLineData(uchar?xdata?*ptruchar?line);

uchar?xdata?*addr;
void?main()
{
uchar?inlen;
init();
addr?=?RAM?+?16*8; //從第9個字符位置開始寫顯示數(shù)據(jù)
len?=?WriteToRam(“LED公交廣告系統(tǒng)潘忠偉制作.聯(lián)系方式:QQ276779211;郵箱:pzw923@163.com“);
//將要顯示的內(nèi)容寫入到顯存中并返回寫入顯存內(nèi)容長度
addr?=?RAM; //將顯存首地址附給片外數(shù)據(jù)指針
while(1)
{
n++;
if(n==3)
{
n?=?0;
addr?+=?2; //指針指向顯存中下一列數(shù)據(jù)產(chǎn)生左移效果
if(addr==(len+8)*16)
addr?=?0; //顯示完一輪指針清0
}
for(i=0;i<16;i++)
{
SendOneLineData(addri); //送第i行數(shù)據(jù)到屏幕顯示
P3?&=?0xf0;
P3?|=?i; //掃描第i行
G1G2?=?1;
G1G2?=?0;
delay_ms(2);
}
}

}
void?init() //初始化
{
STB?=?1;
INH?=?0;
}



/************************************************
送一行要數(shù)據(jù)到LED屏幕上顯示
?ptr:指向片外數(shù)據(jù)存儲器的指針
?line:在LED上顯示的行參數(shù)line=1時為第一行數(shù)據(jù)

************************************************/
void?SendOneLineData(uchar?xdata?*ptruchar?line)???
{
uchar?itemp;
if(line<8)
{
for(i=0;i<128;i+=2)
{
temp?=?ptr[i];
DATA?=?(temp>>line)&0x01;
CLK?=?1;
CLK?=?0;
}
}
else
{
for(i=1;i<128;i+=2)
{
temp?=?ptr[i];
DATA?=?(temp>>line-8)&0x01;
CLK?=?1;
CLK?=?0;
}
}
}



/************************************************
將欲顯示的內(nèi)容送入片包數(shù)據(jù)存儲器RAM當中并返回送

入顯存中內(nèi)容的長度.

************************************************/
uchar?WriteToRam(uchar?*ptr) //將要顯示的內(nèi)容寫入顯存中(RAM)
{
uchar?lenc1c2ijk;
for(len=0;?ptr[len]!=0;?len++);????//計算出要寫入顯存的內(nèi)容長度

for(i=0;i {
c1?=?ptr[i];
c2?=?ptr[i+1];
if(c1?<=?128) //英文字母或標點符號
{
for(j=0;j<16;j++)
{
*addr?=?nAsciiDot[(c1?-?0x20)*16?+?j];
addr++;
}
}
else
{
for(j=0;j {
if(c1?==?GB_16[j].Index[0]?&&?c2?==?GB_16[j].Index[1])
break;
}
if(j {
for(k=0;k<32;k++)
{
*addr?=?GB_16[j].Msk[k];
addr++;
}
i++; //漢字點陣所占存儲空間是字符的兩倍
}
else //字庫中沒有對方應(yīng)漢字字模數(shù)據(jù)則全亮
{
for(k=0;k<32;k++)
{
*addr?=?0xff;
addr++;
}
i++; //漢字點陣所占存儲空間是字符的兩倍
}
}
}
return?len;
}


void?delay_ms(uint?m)
{
uint?ij;
for(i=m;i>0;i--)
for(j=120;j>0;j--);
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????129980??2008-07-23?10:43??led4816縱向取模\Backup?Of?led.DBK

?????文件???????3773??2008-08-13?11:00??led4816縱向取模\keil\cncode.h

?????文件???????9564??2008-08-12?09:20??led4816縱向取模\keil\encode.h

?????文件???????7957??2008-09-14?23:15??led4816縱向取模\keil\led

?????文件???????3093??2008-08-13?09:10??led4816縱向取模\keil\led.c

?????文件???????7853??2008-09-14?23:15??led4816縱向取模\keil\led.hex

?????文件???????8253??2008-09-14?23:15??led4816縱向取模\keil\led.LST

?????文件???????8810??2008-09-14?23:15??led4816縱向取模\keil\led.M51

?????文件???????9250??2008-09-14?23:15??led4816縱向取模\keil\led.OBJ

?????文件???????1092??2009-03-23?22:23??led4816縱向取模\keil\led.Opt

?????文件????????224??2009-03-23?22:23??led4816縱向取模\keil\led.plg

?????文件???????1980??2008-07-22?14:03??led4816縱向取模\keil\led.Uv2

?????文件???????2203??2008-09-14?23:16??led4816縱向取模\keil\led_Opt.Bak

?????文件???????1617??2008-08-12?13:02??led4816縱向取模\keil\ppp.h

?????文件?????165560??2008-08-12?13:42??led4816縱向取模\Last?Loaded?led.DBK

?????文件?????165557??2008-08-12?14:45??led4816縱向取模\led.DSN

?????文件???????1364??2009-05-09?12:49??led4816縱向取模\led.PWI

?????目錄??????????0??2009-03-23?22:31??led4816縱向取模\keil

?????目錄??????????0??2009-05-09?12:49??led4816縱向取模

-----------?---------??----------?-----??----

???????????????528130????????????????????19


評論

共有 條評論