感悟网 导航

急急急急,用51单片机编一个延时5S程序控制电磁阀从而控制气枪的延时,开关用红外线感应器。包括电路图谢 嵌入式硬件定义,它和嵌入式软件的区别?

作者&投稿:采孔 (若有异议请与网页底部的电邮联系)
硬件工程师和嵌入式硬件工程师有什么区别?~

主要区别有以下几点:
首先二者的外延不一样,硬件工程师指的是所有参与硬件电路设计的工程师,而嵌入式硬件工程师指的是嵌入式系统硬件电路设计的工程师。
在参与的具体工作中,硬件工程师一般只负责硬件电路的设计、调试等工作,而嵌入式硬件工程师相对于硬件工程师而言,专业性更强一点所以一般会负责底层软件方面的工作。

嵌入式系统是由软件和硬件组成的整体。

硬件部分可以分成嵌入式处理器和外部设备。
处理器是整个系统的核心,负责处理所有的软件程序以及外部设备的信号。
外部设备在不同的系统中有不同的选择。比如在汽车上,外部设备主要是传感器,用于采集数据;而在一部手机上,外部设备可以是键盘、液晶屏幕等。

软件部分可以分成两层,最靠近硬件的是嵌入式操作系统。
操作系统是软硬件的接口,负责管理系统的所有软件和硬件资源。操作系统还可以通过驱动程序与外部设备打交道。
最上层的是应用软件,应用软件利用操作系统提供的功能开发出针对某个需求的程序,供用户使用。用户最终是和应用软件打交道,例如在手机上编写一条短信,用户看到的是短信编写软件的界面,而看不到里面的操作系统以及嵌入式处理器等硬件。

一般来说,嵌入式硬件指逻辑电路、嵌入式处理器、微控制器、存储系统和硬件设计技巧等。
嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。

国内通常所说的嵌入式硬件指利用处理器开发外部设备方面。

嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。
嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。

但国内通常所说的嵌入式软件主要指最靠近硬件的系统软件与支撑软件部分。

不用什么电路图,红线线感应器接一个引脚,另一个引脚,接一个三级管,或IGBT,控制电磁阀,其它的就是软件了

单片机延时程序与所采用的晶振密切相关,电路图很简单,用最小系统就可以了。以下是实例程序,采用12M晶振。
IR BIT P1.0
GUN BIT P1.4
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
JB IR,$ ;无键按下,原地等待
MOV R2,#1
LCALL DELAY ;有键按下,延时20毫秒去抖

JB IR,MAIN

CLR GUN ;开启电磁阀

MOV R2,#250

LCALL DELAY ;延时5秒(20*250毫秒)

SETB GUN ;关闭电磁阀

SJMP MAIN

DELAY:

MOV R3,#40

DLY1:
MOV R4,#250

DJNZ R4,$
DJNZ R3,DLY1

DJNZ R2,DELAY

RET

END

延时5S程序如下:
假设使用12M晶振。
DELAY5S:
MOV R2,#5

DLY1S:
MOV R3,#10

DLY2:
MOV R4,#200

DLY3:
MOV R5,#248

DJNZ R5,$

DJNZ R4,DLY3

DJNZ R3,DLY2

DJNZ R2,DLY1

RET

我来告诉你个好办法

《想利用51单片机做一个延迟30S的控制,求大神帮忙设计一下!》
答:X0==0); //如果红外线开关35S以后关了 delay50ms(600); //延迟开关30S之后 Y0=0; //开路,设计完成 while(P2^1==0); //这里给你设计了个等待复位按钮,方便你复位 goto start;L1:Y0=0; //如果红外线开关在35S之内关了,与51相连的开关开路 } ...

《51单片机,求用汇编语言编写延时1小时的子程序,要精确到秒级别》
答:这个可以做到,如果晶振是12M的话,一下方法可以实现延时1小时,精确度在秒级别。DELAY1H:MOV R7,#180 ;1/1000000 DLY1H:LCALL DELAY_20S ;180*19.960603s +2*180 DJNZ R7,DLY1H ;2*180/1000000 RET 2/1000000 共延时时间:3592.9s误差为7.1秒,如果再精确的话,再加一点延时...

《51单片机,编写延时程序,控制蜂鸣器发声;》
答:很简单的 include<reg52.h> define uchar unsigned char define uint unsigned int sbit fengmingqi=P0^0; //声明IO口 void delay(uint x)//延时子函数 { uint i,j;for(i=x;i>0;i--)for(j=50;j>0;j--);} void main(void){ while(1) //循环 { fengmingqi=1; //p0...

《c编程时,51单片机怎么用定时器写一个延时1ms的子函数》
答:51单片机的定时器工作方式有4中,其中3种需要在中断函数中重装初值,而且C51明确规定中断函数不能传入参数也不能返回参数,那么这样一来就只能用不用重装初值的工作方式2了,我给出了工作方式2的初始化函数:void init(unsigned int x){ TMOD=0x02;TH0=x;TL0=x;EA=1;ET0=1;TR0=1;} 这样将x...

《51单片机LED延时闪烁delay(50000); 用定时器延时代替delay(50000)延时怎...》
答://初始化函数:用于初始化各种参数 void init() { TMOD = 0x01; //设置定时器0,GATE = 0, C/T = 0 , M1M0 = 01(方式1,16位定时器/计数器)//赋初值 TH0 = THx;TL0 = TLx;EA = 1; //中断总闸·开!ET0 = 1; //定时器0中断·开!TR0 = 1; //定时器0·运行!} //...

《51单片机怎样延时时间更长?晶振12M》
答:如果是unsigned char b;则b值再大也只有256,改改试试:void delay(unsigned int i) //延时程序 { unsigned int b;for(a=i;a>0;a--){for(b=0;b<500;b++);} } 此时i在0--65535之间一定有你满意的延时。

《51单片机 ,设计一个跑马灯程序,用软件延时,p0输出,怎么设计c语言,用p...》
答:51单片机是单片机接触最早的,下边这个程序希望能帮到你。(只有主函数,就不进行硬件什么定义以及头文件包含什么的了)void delay(int times){//延时函数,times控制延时时间 int i, j;for(i = 0; i < times; i++)for(j = 0; j < 210; j++);} int main(void){ unsigned char data, ...

《用KEIL编写51单片机延时10分钟程序》
答:使用定时器,设置定时的时间为50ms,采用中断方式,每中断一次,计数一次,中断20次,就是1秒,再计秒,60秒为1分,再计分,计到10分就行。其实,就是电子时钟的程序吗,要计秒,分,小时,这都可以实现的,何况你是10分。

《MCS-51单片机的编程题:已知系统晶振频率为12MHZ,采用定时器T0的方式1...》
答:DELAY1S: MOV TMOD,#01H MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 MOV R2,#20LOOP: JNB TF0,$ CLR TF0 CLR TR0 MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 DJNZ R2,LOOP RET ...

《基于51单片机的C语言延时函数程序编写》
答:void delayus2x(char n)//延时nx2 us { while(--n);} void delayms(unsigned int t)//延时 t x 1ms { while(t--){ delayus2x(245);delayux2x(245);} } delayms(50000);//调用此句延时5s 至于不能大于255,因为你的数据类型为char型,及8字节,最大值为255,2的8次方减一。

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网