導航:首頁 > 操作系統 > 看懂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單片機程序相關的資料

熱點內容
ipad郵件無法連接發件伺服器地址 瀏覽:58
php接收websocket 瀏覽:561
碧藍航線如何查賬號伺服器 瀏覽:832
msx命令 瀏覽:747
怎麼購買app內購 瀏覽:487
vivo手機怎麼把安卓系統提示關閉 瀏覽:961
汽油分配控制單片機 瀏覽:576
python字典最大值最小值求和 瀏覽:280
php7pdo擴展 瀏覽:938
粉筆app如何看行測 瀏覽:814
如何舉報不正當app 瀏覽:252
智能家居演算法組 瀏覽:55
解壓動畫壽司 瀏覽:519
python3怎麼連接mysql 瀏覽:424
程序員曬出一段代碼 瀏覽:274
python爬蟲崔慶才 瀏覽:766
u8伺服器如何開啟 瀏覽:883
java設置jtable 瀏覽:750
改造非牛頓流體解壓 瀏覽:152
如何加密筆記本里的文件 瀏覽:903