當前位置:編程學習大全網 - 編程語言 - 壹秒鐘編程

壹秒鐘編程

不知道是編譯它還是C,C就是它。

# include & lt單片機模型頭文件>

# include & ltintrins.h & gt

#定義uint無符號整數

#定義uchar無符號字符

void delay();

void main()

{

uchar temp = 0xfe

while(1)

{

Px=temp //x表示妳的單片機連接了幾個端口p,如果連接到端口P1,就是P1。自己修改吧。

delay();

Px=_crol_(temp,1);

}

}

Void delay() //程序延遲

{

uint i,j;

for(I = 1000;我& gt0;我-)

for(j = 110;j & gt0;j-);

}

}

編譯是:

1.實驗任務

開關K1接P3.2引腳,1個led接AT89S51單片機的P0.0端口。通電時,連接到P1.0引腳的led亮,按壹次開關K1,燈滅。

2.系統板上的硬件連接

將“單片機系統”區的P3.2端口連接到“獨立鍵盤”區的K1端口;將P0.0連接到L1。

3.程序設計方法

(1.設計思想的起源

在我們的生活中,我們很容易把這個叫張三,那個叫李四,另壹個叫王五。那是因為每個人的名字都不壹樣,我們很快就認出來了。同樣,對於每壹個要用壹個鍵來標識的不同功能,我們用不同的ID號來標識每壹個不同的功能模塊,這樣每按壹次鍵,ID值都是不同的,這樣單片機就很容易識別不同功能的身份。

(2)設計方法

從上面的需求可以看出,L1是由開關K1控制的,我們為L1定義了不同的ID號。L1開時,ID = 0;當L1關閉時,ID = 1;我們可以通過分別給不同的ID號來完成上述任務。

4.匯編程序:

ID EQU 30H

K1位P3.2

L1位P0.0

ORG 0000H

CLR P1.7

MOV身份證,#00H

發車:JB K1,REL;K1未關閉。

LCALL delay 10MS;K1關閉,抖動消除延遲。

JB K1,REL:重新判決

公司ID

MOV,身份證

REL 02號CJNE A

MOV身份證,#00H

REL: JNB K1,$;等待開關彈出。

MOV,身份證

CJNE A,#00H,IS0判斷對應的ID

Clr l1: id = 0,燈亮。

l呼叫延遲燈;耽擱

SJMP起點

IS0: CJNE A,#01H,START

SETB L1

LCALL延遲

SJMP起點

DELAY10MS: MOV R6,# 20;延時10MS子程序

LOOP1: MOV R7,#248

DJNZ R7美元

DJNZ R6,LOOP1

浸水使柔軟

延時:MOV R5,# 20;延遲20毫秒子程序

環路2: LCALL延遲10毫秒

DJNZ R5,環路2

浸水使柔軟

結束

  • 上一篇:為什麽線性方法,隨機方法以及混沌的處理方法三種語言信號的處理方法都能作為數字語音信號的處理方法
  • 下一篇:我是金融學專業的,想雙修信息與計算科學的理科學位....麻煩給點意見....
  • copyright 2024編程學習大全網