求51单片机P1口输入实验C语言版程序。

求51单片机P1口输入实验C语言版程序。,第1张

//P2接74ls273

D0~7

//P30

74ls273

clk

引脚

//P30

WR

#include

<reg52h>

//52系列单片机头文件

sbit

CLK=P3^0;

sbit

WR=P3^1;

void

main()

//主函数

{

CLK=0;

WR=1;

while(1)

//大循环

{

unsigned

int

time=10;

P2=P1;

//P2直接

读取

P1数值

CLK=1;

while(time--);

CLK=0

}

}

试试

估计差不多

下列程序,已经经过实验,可以满足题目要求

ORG 0000H

SJMP MAIN

ORG 000BH

SJMP T0_INT

MAIN:

MOV TMOD, #01H ;T0定时方式1

MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz

MOV TL0, #(65536-50000) MOD 256 ;

SETB TR0 ;启动T0

MOV IE, #82H ;开中断

;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L4,L6亮,第四秒钟L5,L7亮,

;第五秒L0,L2,L4,L6亮,第六秒钟,L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭

MOV 30H, #11111010B

MOV 31H, #11110101B

MOV 32H, #10101111B

MOV 33H, #01011111B

MOV 34H, #10101010B

MOV 35H, #01010101B

MOV 36H, #00000000B

MOV 37H, #11111111B

MOV R0, #30H

MOV R7, #20

M_LOOP:

SJMP M_LOOP ;无限循环

T0_INT:

MOV TL0, #(65536-50000) MOD 256 ;

MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz

DJNZ R7, T0_END

MOV R7, #20

MOV P1, @R0

INC R0

CJNE R0, #38H, T0_END

MOV R0, #30H

T0_END:

RETI

END ;完

循环3次即可。

MOV R0, #20H ;加数1地址、和的地址

MOV R1, #30H ;加数2地址

CLR C

MOV R2, #3 ;循环3次

A_LOOP:

MOV A, @R0 ;取

ADDC A, @R1 ;加

MOV @R0, A ;存

INC R0

INC R1

DJNZ R2, A_LOOP

CLR A

ADDC A, #0 ;得到进位

MOV 23H, A ;保存

RET

以上就是关于求51单片机P1口输入实验C语言版程序。全部的内容,包括:求51单片机P1口输入实验C语言版程序。、单片机定时器中断实验 程序(汇编语言)不要c语言的、单片机的简单实验编程题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9319625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存