導航:首頁 > 操作系統 > 看懂C51單片機程序

看懂C51單片機程序

發布時間:2022-06-24 21:06:08

㈠ 51單片機程序分析

因控制字為 95H=10010101B

D0:設置PC3~PC0的數據傳送方向。D0=1為輸入;D0=0為輸出。

D1:設置B口的數據傳送方向。D1=1為輸入;D1=0為輸出

D2:設置B口的工作方式。D2=1為方式1;D2=0為方式0。

D3:設置PC7~PC4的數據傳送方向。D3=1為輸入;D3=0為輸出

D4:設置A口的數據傳送方向。D4=1為輸入;D4=0為輸出。

D6D5:設置A口的工作方式。D6D5=00為方式0,D6D5=01為方式1,D6D5=10或11為方式2。

D7:方式控制字的標志位,恆為1。

所以,執行指令後,A口方向為輸入,B口方向為輸出,PC7~PC4方向為輸出。

㈡ 求大神幫忙看一個簡單的單片機C51程序,點亮數碼管的,不知道錯在哪裡,老是報錯

一個簡單問題你
char code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};; 後面多了一個分號,是大全形字元,你把它去掉編譯器就不會報錯了

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//延時程序
void delayMS(uint x)
{
uint i;
while(x--)
{
for(i=0;i<165;i++);
}
}
//主程序
void main()
{ uchar i=0;
P1=0x00;
while(1)
{
P1=~DSY_CODE[i];
i=(i+1)%10 ;
delayMS(300);

}
}

㈢ C51單片機的程序

加一個while循環就可以了。
while(1)
{
..............

檢測到有效輸入置標志flag=1;

if(flag==1)break;

}

㈣ C51單片機程序

TH0=0xf6;

TL0=0xff;

上兩行是定時器/計數器T0的初值,因為T0是16位的,所以用TH0表示高八位,TL0表示低八位

TH1=0xfd;

TL1=0xfd;

T1初值

TMOD=0x21;

定時器/計數器模式控制寄存器如圖

GATE=1時,由外部中斷引腳INT0、INT1來啟動定時器T0、T1

GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1。

C/T=0時為定時功能,C/T=1時為計數功能

M0、M1——方式選擇功能

M1M0工作方式計數器模式TMOD(設置定時器模式)

00方式013位計數器TMOD=0x00

01方式116位計數器TMOD=0x01

10方式2自動重裝8位計數器TMOD=0x02

11方式3T0分為2個8位獨立計數器,T1為無中斷重裝8位計數器TMOD=0x03

PCON=0x00;

PCON主要是為CHMOS型單片機的電源控制而設置的專用寄存器

WDCON=0x00;清狗

SCON=0x50;

SCON1=0x40;

串口控制寄存器

閱讀全文

與看懂C51單片機程序相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:428
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:352