導航:首頁 > 操作系統 > 15單片機

15單片機

發布時間:2022-03-07 03:52:44

❶ 15單片機編寫程序,時鍾

#include<reg51.h>

#define uchar unsigned char
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9
unsigned char sec=0,min=0,hour=12,scanled;
unsigned char key,flashbit,mode,time;
unsigned char disdat[6];
sbit led=P1^0;
void delay(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void dischg()
{
disdat[0]=sec%10;
disdat[1]=sec/10;
disdat[2]=min%10;
disdat[3]=min/10;
disdat[4]=hour%10;
disdat[5]=hour/10;
}
void flash()
{
switch(flashbit)
{
case 0:break;
case 1:
disdat[4]=0x10;
disdat[5]=0x10;
delay(50);
dischg();
delay(80);
break;
case 2:
disdat[2]=0x10;
disdat[3]=0x10;
delay(50);
dischg();
delay(80);
break;
case 3:
disdat[0]=0x10;
disdat[1]=0x10;
delay(50);
dischg();
delay(80);
break;
default:break;
}
}
void t0isr() interrupt 1//秒計時
{
TH0=0x3c;
TL0=0xb0;
time++;
switch(mode)
{
case 0:
if(time==20)
{
time=0;
sec++;
if(sec>59)
{
sec=0;
min++;
if(min>59)
{
hour++;
if(hour>23)hour=0;
}
}
}
break;
case 1:
if(time==20)
{
time=0;
if(sec>0)sec--;
else if(min>0){sec=59;min--;}
else if(hour>0){sec=59;min=59;hour--;}
else {hour=0;min=0;sec=0;}
}
break;
}
dischg();
}
void t1isr() interrupt 3//顯示
{
TH1=0xec;
TL1=0x78;
switch(scanled)
{
case 0:
P2=0x01;
P0=~ledtab[disdat[5]];
break;
case 1:
P2=0x02;
P0=~ledtab[disdat[4]];
break;
case 2:
P2=0x04;
P0=~ledtab[disdat[3]];
break;
case 3:
P2=0x08;
P0=~ledtab[disdat[2]];
break;
case 4:
P2=0x10;
P0=~ledtab[disdat[1]];
break;
case 5:
P2=0x20;
P0=~ledtab[disdat[0]];
break;
default:break;
}
scanled++;
scanled%=6;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
EA=1;
TR1=1;
ET0=1;
ET1=1;
sec=55;
min=59;
hour=23;
flashbit=0;
scanled=0;
time=0;
mode=0;
dischg();
while(1)
{
flash();//閃爍
//led=1;
if((P3&0x0f)!=0x0f){
key=P3&0x0f;
while((P3&0x0f)!=0x0f);
led=0;
delay(10);
key|=0xf0;
switch(~key)
{
case 0x01://p3.1選擇調時、分、秒
TR0=0;
flashbit+=1;
if(flashbit>3){flashbit=0;TR0=1;}
break;
case 0x02://p3.2調數
if(flashbit==0)break;
if(flashbit==1)
{
hour++;
if(hour>99)hour=0;
}
if(flashbit==2)
{
min++;
if(min>59)min=0;
}
if(flashbit==3)
{
sec++;
if(sec>59)sec=0;
}
break;
case 0x04: //選擇正/倒
TR0=0;
mode++;
mode&=0x01;
if(mode==0){sec=0;min=0;hour=0;}
dischg();
break;
case 0x08://啟動/暫停
TR0=~TR0;
break;
default:break;
}
}
}
}

❷ 怎麼讓stc15單片機全部的io口工作模式和普通51一樣

普通51,默認P0是開漏模式,其它是准雙向模式。
STC的增強型單片機,一般都有PxM0、PxM1兩組寄存器,可以設置IO模式,具體你看一下DataSheet文檔。默認好像都是准雙向模式。

❸ 15單片機和51的區別

15單片機是STC系列單片機的一大類別,屬於51單片機范疇。1T模式,比傳統的51單片機速度快8~12倍。

❹ 15單片機的1us延時,要精確,11.0592MHZ,1T的,就是藍橋杯的那個板子,謝謝^_^

糾正一下,STC12C5A60S2內核是1T的,默認是沒有進行12分頻的,11.0592晶振,那麼機器周期=時鍾周期=1/11.0592=0.09042us
這個軟體延時是有點誤差,1us左右,想要精準,還是用定時器吧。
那麼1us延時如下:
void Delay1us() //@11.0592MHz
{
_nop_();
}
或者
void delay1us(void) //誤差 -0.005353009259us
{
unsigned char a;
for(a=4;a>0;a--);
}
或者
void delayus(unsigned int us)
{
while(us--);
}

❺ stc15單片機和51關於模式0的區別

區別15系列和51系列單片機定時器的區別 STC-ISP這個定時器所有的生成代碼的部分應該是基於15系列(博主測試15系列設置好基本不需要更改可以直接使用。

15單片機是STC系列單片機的一大類別,屬於51單片機范疇。1T模式,比傳統的51單片機速度快8~12倍。STC的51單片機。

為了更多更能的使用和運用於不同場合,STC51單片機設計了4中IO口模式,分別是:准雙向IO口模式、推挽輸出模式、高阻輸入模式和開漏輸出模式。

基本信息

同樣的一段程序,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51,PHILIPS,和WINBOND等,我們常說的已經停產的89C51指的是ATMEL公司的AT89C51單片機,同時是在原基礎上增強了許多特性。

如時鍾,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。

❻ 關於R80515單片機

你用fpga的代碼因該有兩部分,一部分是fpga模擬這個單片機的核,另一個是單片機本身的程序,你買個單片機將單片機那部分程序燒進去就好了

❼ stc8單片機比stc15單片機有哪些地方好的

STC8是最新一代的,和STC15比指令周期又有加快。硬體也更強悍,5個16位自動重裝定時器,4路高速串口復用了可當九組,15路12位800K高速ADC 並且有了ADC參考電壓引腳(STC15是10位AD),STC15沒有。多達59個IO。還有就是STC8現在沒直插型號了,這一點的話,STC15更靈活一些。

❽ stc15系列單片機哪個型號的最流行

這兩個系列,並沒有哪個好,哪個不好的說法。關鍵要看你的應用了,要看應用在什麼產品上。
STC15系列型號較多,封裝也多,選擇性很大。因STC15的功能也很強大了,速度也很快的。對於一般的中低檔產品是足夠用了。更主要是開發軟體都通用,學習和開發也是最容易的。是目前各高校開設單片機課程的首選。屬於51系列,應用的時間最長了,已成為一個工業標准了。
而STM8是STC32的低端產品,屬於ARM的內核,學習和開發,對於初者是有一定的難度。功能很強大,速度快。但是新型的單片機,銷售和開發應用的時間並不長。目前還並不是高校開設的課程。

❾ STC15系列單片機的延時函數問題

你這里的系統頻率應該是指晶振頻率,和指令周期是兩碼事,不過他們是存在個比率關系;

如C51晶元,通常系統頻率為12MHz,但是其最小指令周期為 1uS,即 1MHz;

又如STM32f1xx晶元,其晶振頻率為12MHz,可在內部就把這個頻率提升到了72MHz,這樣其最小指令周期就會比 1uS小得多了;

❿ stc15單片機

先解決收發一個字元的問題。

閱讀全文

與15單片機相關的資料

熱點內容
命令來自剃頭的用英語怎麼說 瀏覽:765
什麼app不花一分錢買東西 瀏覽:373
布林四線指標源碼 瀏覽:968
單片機的控制板 瀏覽:218
襄陽軟體編程 瀏覽:841
sshpass命令 瀏覽:106
logo伺服器怎麼下載 瀏覽:508
如何ftp連接伺服器 瀏覽:674
creo自動編程 瀏覽:161
雲伺服器在電腦怎麼開 瀏覽:432
ipad相冊如何在文件夾中建文件夾 瀏覽:621
和家親這個app有什麼用 瀏覽:575
什麼app裡面有種樹打折 瀏覽:374
編程外掛入門教學 瀏覽:974
pdf黑白轉彩色 瀏覽:725
英國投資加密貨幣嗎 瀏覽:887
看完程序員那麼可愛後的感受 瀏覽:131
廣播在什麼APP能聽 瀏覽:678
阿克曼小車連接什麼app 瀏覽:773
all100編程器 瀏覽:182