在c51微控制器中編寫開關控制小燈的程式用

2021-05-04 10:31:25 字數 3082 閱讀 8512

1樓:匿名使用者

org 0000h

main:

mov a,p1

mov p0,a

sjmp main

#include

sfr key=p1;

sfr led=p0;

main()}

2樓:做而論道

參考一下以前寫的:

在c51微控制器中編寫8個開關控制8個小燈的程式,用c語言和組合語言兩種編寫

3樓:甫倫元秋

用c51是多麼簡單的事情啊。你的每個燈的順序不說。不好寫。

思路這樣的:

sbit

led1=p1^0;

~~~把所有的燈都定一下。

void

delay(int

ms)一個nms的延遲,要求是12m的晶振。

void

main()}

微控制器流水燈c語言程式(8個燈,依次點亮每個燈,延時500ms)

4樓:小夏在深圳

微控制器流水燈c語言程式的源**如下:

#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //宣告延時函式void main(void)

temp=0x80;

for(i=0;i<8;i++) //8個流水燈反向逐個閃動temp=0xfe;

for(i=0;i<8;i++) //8個流水燈依次全部點亮temp=0x7f;

for(i=0;i<8;i++) //8個流水燈依次反向全部點亮void delay(uint t) //定義延時函式擴充套件資料51微控制器流水燈的源**如下

#include

#include

void delay(int a)

main()}}

5樓:

1、用精確定時的方法,設定流水燈執行時的時間間隔,延時時間為500ms。

2、#include "reg51.h"首先寫出微控制器的頭函式。

3、#include "intrins.h"輸入位移函式。

4、unsigned int count=0,led;定義函式。

5、輸入主函式,定義微控制器的埠,寫入延時函式。

6、中斷跳轉,使流水燈執行起來。

6樓:匿名使用者

#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //宣告延時函式void main(void)

}} void delay(uint t) //定義延時函式

微控制器怎麼實現一個開關控制八個燈按一下亮一個按八下八個燈都亮組合語言程式

7樓:做而論道

;一個開關控制八個燈

;按一下亮一個

;按八下八個燈都亮

;按鍵接在p1.0

;八個燈在p0,低電平燈亮

key equ p1.0

org 0000h

mov a, #11111111b

wait:

mov p0, a

jb key, $

djnz r7, $

djnz r7, $

jb key, wait

jnb key, $

clr c

rlc a

jc wait

jmp 0000hend

8樓:匿名使用者

c語言才會,彙編不會。。。。。

一個io作key,再用一個全域性變數判斷亮燈狀態,隨按鍵反轉。另外可以使用一p1 io連線8個led

9樓:

用一個暫存器做變數就可以。

假如按鍵是一個開個,接在p1.0,八個燈在p0,低電平燈亮程式是這樣的

mov 30h ,#00

lop :

setb p1.0

jnb p1.0, press

ajmp lop

press:

inc 30h

mov a,30h

cjne a,#9,l_next

mov 30h,#1

l_next:

jnb p1.0,$

mov a,30h

cjne a,#1 ,led1_on

cjne a,#2, led2_on

cjne a,#3, led3_on

cjne a,#4, led4_on

cjne a,#5, led5_on

cjne a,#6, led6_on

cjne a,#7, led7_on

cjne a,#8, led8_on

ljmp lop

led1_on: mov p0,#0feh //亮一個燈ljmp lop

led2_on: mov p0,#0fdh //亮一個燈ljmp lop

led3_on: mov p0,#0f8h //亮一個燈ljmp lop

led4_on: mov p0,#0f0h //亮一個燈ljmp lop

led5_on: mov p0,#0e0h //亮一個燈ljmp lop

led6_on: mov p0,#0d0h //亮一個燈ljmp lop

led7_on: mov p0,#080h //亮一個燈ljmp lop

led8_on: mov p0,#00h //亮一個燈ljmp lop

微控制器引腳連線如何C51定義,微控制器引腳連線如何C51定義

不能用 define 定義的,如copy 果是定義 io 腳的話,c 中沒有 bai p1.0 這個定義形式。du 在keil裡,用 sbit 關鍵字定zhi義 io 引腳,sbit p10 p1 0 這裡 dao的 是keil規定的表示第幾位 在沒有給出特殊暫存器變數型別的編譯器中,可以用 def...

請編寫c51微控制器控制發光二極體閃爍的程式,埠p

程式 0 cpl p1.0 djnz r7,djnz r6,2 djnz r5,4 sjmp 0 end這些,已經足夠了。別忘了採納。include define uchar unsigned char define uint unsigned intsbit led p1 0 void delay...

51微控制器中c 1是什麼意思,51微控制器C語言中 和 的意思是什麼?

51微控制器中c 1表示 運算時有進位或者借位。如果c是自己定 bai義的變數,那du麼這個就是單純的賦zhi值語句。如果c是psw 程dao序狀態字 版,用於儲存指令執行結 權果的狀態資訊 中的cy 進位標誌位 那麼這句就是表明之前,執行的某些算術運算或者邏輯運算產生了進位或借位了。變數賦值!51...