當前位置:首頁 » 課程設計 » 單片機課程標准c51版

單片機課程標准c51版

發布時間: 2021-03-13 23:55:23

⑴ 單片機寫程序C51和C52區別大嗎

C51和C52,如果指的是AT89C51和AT89C52的話,他們最大的區別是ROM容量不一樣,C51 4KB,C52 8KB,都需要高壓寫入程序,需要專門的燒寫器。AT89S51 和AT89S52支持ISP 常電壓寫入的。

⑵ C51單片機

你說的是在定義一組數組時,可以作為數據表格時,就用code 語句,意思是這些數據放在程序存儲器中。
如下:
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
這就是典型的用法,這是定義一組數據,即為數碼管的段碼表,因都是常數,就可以放在程序存儲區。
如果沒有code 就放在數據存儲區了,但是,因單片機的內部RAM容量比較小,像這樣的常數就不必放在RAM數據區,以節省RAM數據區的使用。

⑶ c51單片機程序實例

#include<reg51.h>
#defineucharunsignedchar
uchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//0到9
ucharnum,cnt,disn;
ucharkeyval,disk;
ucharled[]={1,2,3,4};
voiddealdat(uchara)
{
led[0]=0;
led[1]=0;
led[2]=0;
led[3]=0;
led[a]=disk;
}
voiddelay(unsignedinta)
{
unsignedinti,j;
for(i=0;i<a;i++)
for(j=0;j<1000;j++);
}
voidt0isr()interrupt1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(num)
{
case0:P2=0x01;break;
case1:P2=0x02;break;
case2:P2=0x04;break;
case3:P2=0x08;break;
default:break;
}
P0=~tab[led[num]];
num++;
num&=0x03;
cnt++;
if(cnt>100)
{
cnt=0;
disn++;
disn%=4;
dealdat(disn);
}
}

ucharkbscan(void)
{
unsignedcharsccode,recode;
P3=0x0f;//發0掃描,列線輸入
if((P3&0x0f)!=0x0f)//有鍵按下
{
// delay(20);//延時去抖動
if((P3&0x0f)!=0x0f)
{
sccode=0xef;//逐行掃描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return0;//無鍵按下,返回0
}

voidgetkey(void)
{
unsignedcharkey;
key=kbscan();
if(key==0){keyval=0xff;return;}
switch(key)
{
case0x11:keyval=7;break;
case0x12:keyval=4;break;
case0x14:keyval=1;break;
case0x18:keyval=10;break;
case0x21:keyval=8;break;
case0x22:keyval=5;break;
case0x24:keyval=2;break;
case0x28:keyval=0;break;
case0x41:keyval=9;break;
case0x42:keyval=6;break;
case0x44:keyval=3;break;
case0x48:keyval=11;break;
case0x81:keyval=12;break;
case0x82:keyval=13;break;
case0x84:keyval=14;break;
case0x88:keyval=15;break;
default:keyval=0xff;break;
}
}

main()
{
TMOD=0x11;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
getkey();
if(keyval!=0xff)disk=keyval;
delay(10);
}

}

⑷ C51單片機和C52單片機有什麼區別和相似之處

51具有2個定時器T0/T1,而52具有3個定時器T0/T1/T2。另外52在51的基礎上,擴展了很多功能

⑸ 給51單片機編程用的C51與C語言有什麼區別

其實區別不是太多。C語言中的所有運算符,在C51中都可以用。但是C51也有特有運算符,如sbit,還有特殊的寄存器名等可以直接寫。C語言中沒有相關的內容。

⑹ c51和mcs51有什麼區別 開始學單片機 有的教程寫著c51有的是MCS51 到底有什麼區別

MCS-51,這是單片機。是指由Intel公司開發的、沿用多年至今的單片機系列晶元。
C51,這是編程語言。是指以C語言為基礎,應用在MCS-51系列單片機上的C語言。

⑺ c51單片機與c52單片機的區別

C51及C52單片機在內核結構上完全一樣,兩者的主要差別在RAM和ROM上,C51是128byte
RAM,4K
ROM,C52是256Byte,8K
ROM。

⑻ c51單片機編程

一位共陽數碼管接在P0口,為靜態顯示。P3口接有8個獨立式按鍵,按鍵為K1~K8,按鍵8個按鍵中的任意一個,數碼管則顯示出按鍵編號。模擬圖如下,這是按下K6時顯示6。

⑼ c51單片機與c52單片機的區別

C51及C52單片機在內核結構上完全一樣,兩者的主要差別在RAM和ROM上,C51是128byteRAM,4KROM,C52是256Byte,8KROM。

⑽ C51和標准C語言的主要差別

c51是標准c的擴展,使用專用的編譯器,如keil 與franklin等;

c51特有的有以下幾點,可能不全:

  1. bit型變數,

  2. bdata code xdata pdata idata 存儲類型控制字,

  3. interrupt 中斷函數,

最主要的是c51主要面向的是硬體,程序的編寫思路與標准c差別很大。

熱點內容
幼師專業怎麼樣 發布:2021-03-16 21:42:13 瀏覽:24
音樂小毛驢故事 發布:2021-03-16 21:40:57 瀏覽:196
昂立中學生教育閘北 發布:2021-03-16 21:40:47 瀏覽:568
建築業一建報考條件 發布:2021-03-16 21:39:53 瀏覽:666
2017年教師資格注冊結果 發布:2021-03-16 21:39:49 瀏覽:642
中國教師資格證查分 發布:2021-03-16 21:39:41 瀏覽:133
踵什麼成語有哪些 發布:2021-03-16 21:38:20 瀏覽:962
東營幼師專業學校 發布:2021-03-16 21:35:26 瀏覽:467
機械電子研究生課程 發布:2021-03-16 21:33:36 瀏覽:875
杭州朝日教育培訓中心怎麼樣 發布:2021-03-16 21:33:28 瀏覽:238