51单片机并行输出数据有几种方法来实现。
1、每一个P口(P0,P1,P2,P3)可以直接输出并行数据,例如:
MOV
P0,#55H
MOV
P1,#0AAH
MOV
P2,#0FEH
MOV
P3,#02H
2、利用P0口扩展并行口,这类芯片有244/245/373/573等等,编程需要用到MOVX指令:
MOV
DPTR,#1000H
MOV
A,#55H
MOVX
@DPTR,A
MOV
R0,#0FEH
MOVX
@R0,A
当然还可以用8255/8155来扩展并口,编程方法同样,只是这类芯片需要初始化,用于定义其口的输入输出方向。
3、利用串口或IO口通过串--并方式实现数据的并行输出。串口输出的话直接写串口就可以了。
MOV
A,#55H
MOV
SBUF,A
JNB
TI,$
CLR
TI
❷ 单片机编程问题多个条件控制一个输出的程序怎么编写那,有高手告诉下
if(条件1&&条件2&&条件3)
{
......
}
❸ 如何写一个单片机输入上升沿和下降沿的脉冲输出信号的c语言程序
如果是循环中查询的话我一般这样做, 定义一个变量比如keyLastStatus来记录上一次扫描周期的状态
sbit key=P2.0; char keyLastStatus=0;
keyLastStatus=key; //初始化
while (1)
{
if(key==0 && keyLastStatus!=key) Todo(); //上升沿
if(key==1 && keyLastStatus!=key) Todo(); //下降沿
keyLastStatus=key; //记录上一次的状态
}
❹ 如何用单片机输出脉冲信号
利用单片机产生脉冲信号有多种方法。最简单的方法,就是在单片机的程序中对一个引脚反复置1,清0,置1,清0....,这个引脚上就会出现脉冲信号。
当需要产生指定周期和宽度的脉冲信号时,通常使用单片机中的计数器来实现:给计数器赋于不同的计数初值,在计数到0时产生中断去置1或清0某引脚即可。
❺ 如何编写程序让单片机输出我让他输出的数字信号,是要通过先把你要输出的数字信号给DPTR,即先用外部
不同的单片机原理相似,在主函数中对寄存器初始化,再把你想要输出的电平信号(高电平写1,低电平写0)赋值给寄存器,那么单片机的相应管脚就会输出你想要的数字信号
❻ 12用C语言编制程序实现51单片机的P1口输出高电平
摘要 很高兴为您解答亲 以标准51单片机为例:
❼ 程序怎样使单片机输出高电平与低电平
正确。
输出高,也就是vdd,两端都是vdd,所以电阻中间电压也是vdd。
一端高,一端低,也就是一段vdd,另一端gnd,两个电阻都是20k,所以中间点电压就是(vdd-gnd)/2=vdd/2.
❽ 51单片机输出循环
#include
<reg51.h>
sbit
t=P1^0;//LED灯输出
sbit
k=P3^5;//轻触开关
void
main()
{
P1=0xff;
if(k==0)
t=~t;
}
改一处就可以了,
t=0改成t=~t
❾ 单片机的输入和输出的都是什么
单片机的输入和输出分为数字量和模拟量两种。
数字量定义为:在时间和数值上都是断续变化的离散信号。最基本的数字量就是0和1,反映到开关上就是指一个开关的打开(0)或闭合(1)状态。
模拟量定义为:在时间和数上都是连续变化的信号。指经PT、CT等各类传感器传送过来的电压、电流、频率等信号,即模拟量。
输入信号:是通过外部的触点、开关、变送器、传感器等信号接入到单片机中。
输出信号:单片机通过内部程序的判断和计算,将电流、电压、开关等信号传送到外部的信号。
下图为典型的51系列单片机接线图
其中P0为模拟量输入端、P3为数字量输入端。