单片机的具体应用(单片机的具体应用有哪些)

海潮机械 2022-12-19 13:42 编辑:admin 198阅读

1. 单片机的具体应用有哪些

单片机在生活中的应用太多了,如洗衣机的控制主板、太阳能的温度控制器,电动车的控制器,电磁炉、(高级)电冰箱的控制系统、空调等太多了。

2. 单片机的具体应用有哪些方面

我之前有回答过类似的问题。可以翻看我之前的记录。

单片机的应用很广泛,凡是我们能说的出来的电子产品,电气产品都离不开单片机的应用,比如我们普遍能见到一些洗衣机、冰箱、电饭锅、剃须刀、电视机,小孩用的电子玩具,我们经常用的手机,往大的方面说,有汽车、航空、医疗、军事设备等等。

单片机是一种集成电路芯片,采用超大规模集成电路技术,把具有数据处理能力的中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成一个小的微型计算机系统。

单片机又称单片微控制器,它不是完成某一个逻辑功能芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。

单片机的主要分类:

1. 按应用领域分为: 家电类、通信类、工控类。

2. 按通用性可分为: 通用型和专用型。

通用型单片机的主要特点是: 内部资源比较丰富,性能全面,通用性强,涵盖多种应用要求。

专用型单片机的主要特点是: 针对某一种产品或某一种控制应用而专门设计的单片机。

3. 按总线结构可分为: 总线型和非总线型。

单片机的种类繁多。单片机的主要厂商有: Atmel, ST, TI,ARM,MicroChip,宏晶STC等等。主要种类有: 51单片机、STM32单片机、ARM单片机、PIC单片机等等。

作为一个单片机初学者,应该如何学好单片机开发?

学单片机,必须有一套单片机工具,51单片机是应用最广泛的8位单片机,也是初学者最容易上手的单片机。除了有一套完整的学习开发工具外,也要有刻苦学习的决心,单片机学习过程是枯燥乏味。单片机的学习具有很强的实践性,要多动脑勤动手。学习没有捷径,只有循序渐进,脚踏实地,一步一个脚印,才能学到真本领。

学好了单片机,主要可以从事单片机开发工程师,嵌入式开发工程师等软件开发方面的工作,一般做电子产品,电气产品的公司都需要这方面的人才。

3. 单片机有哪些方面的应用

无人照看自动浇花系统。

任务是实现无人操控下的合适浇花

需要单片机 小电机 湿度传感器 带水阀的容器

客户对象为 需要出差而放不下花草的人

通过合理的编程 将采集到的湿度进行AD转换为数字量 进行判定 通过I/O口 控制电机转动打开水阀 延时一定时间后反转

具体各方面 还得安排

4. 单片机主要应用于哪些方面

单片机的广泛的应用:

1、工业自动化。主要是过程控制技术、数据采集、测控技术和机电一体化技术(机器人)2、智能仪器仪表。用于提高仪器的精度和准确度。3、消费类电子产品。主要是家电领域。像洗衣机、电冰箱、空调、电视、微波炉、手机、IC卡、汽车电子设备等。4、通信方面。用于调制解调器、程控交换技术以及各种通信设备。5、武器装备。飞机、军舰、坦克、导弹、鱼雷制导、智能武器装备、航天飞机导航系统等都有单片机深入其中。6、终端机外部设备控制。计算机网络终端设备如银行终端以及计算机外部设备,如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。7、多机分布式系统。可用单片机构成分布式测控系统,它使单片机进入了一个新的水平。基本功能:1、8位数据总线,16位地址总线的CPU;

2、具有布尔处理能力和位处理能力;

3、采用哈佛结构,程序存储器与数据存储器地址空间各自独立,便于程序设计;

4、相同地址的64KB程序存储器和64KB数据存储器;

5、0-8KB片内程序存储器(8031无,8051有4KB,8052有8KB,89C55有20KB);

6、128字节片内数据存储器(8051有256字节);

7、32根双向并可以按位寻址的I/O线;

8、两个16位定时/计数器(8052有3个);

9、一个全双工的串行I/O接口;

10、多个中断源的中断结构,具有两个中断优先级;

11、片内时钟振荡器。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

5. 单片机的具体应用有哪些类型

单片机体积小,功耗低,控制功能强,扩展灵活,结合不同类型的传感器可以达到很多产品的智能化和数字化。

单片机小车主要应用于学习,比如很多嵌入式入门就是51单片机的使用;实际可以用做陆地无人机,探测路况,指引方向等,加上微型摄像头还可以做视频采集。

6. 什么是单片机应用

基本特点如下:

1、芯片虽小,五脏俱全,是单片机主要特点之一。其内部设有程序存储器、数据存储器、各种接口电路。而大型的处理器运算速度较高,运算器位数较多,处理能力较强,但需要在外部配置接口电路。

2、单片机主频一般在100MHZ以下,适合用于独立工作的小型产品之中,引脚数量从几个到百余个。

3、应用简单、灵活,可用汇编语言及C语言开发单片机产品。例如:精控-定时程序控制器就是基于单片机技术开发的自动化控制产品。

7. 单片机的具体应用有哪些内容

在单片机的开发应用中,已逐渐开始引入高级语言,

C语言就是其中的一种。对用惯了汇编的人来说,总觉得高级语言’可控性’不好,不如汇编那样随心所欲。

但是只要我们掌握了一定的C语言知识,有些东西还是容易做出来的,以下是笔者实际工作中遇到的几个问题,希望对初学C51者有所帮助。

一、C51热启动代码的编制

对于工业控制计算机,往往设有有看门狗电路,当看门狗动作,使计算机复位,这就是热启动。

热启动时,一般不允许从头开始,这将导致现有的已测量到或计算到的值复位,导致系统工作异常。

因而在程序必须判断是热启动还是冷启动,常用的方法是:确定某内存单位为标志位(如0x7f位和0x7e位),

启动时首先读该内存单元的内容,如果它等于一个特定的值(例如两个内存单元的都是0xaa),就认为是热启动,

否则就是冷启动,程序执行初始化部份,并将0xaa赋与这两个内存单元。

根据以上的设计思路,编程时,设置一个指针,让其指向特定的内存单元如0x7f,然后在程序中判断,程序如下:

void main()

{ char data *HotPoint=(char *)0x7f;

if((*HotPoint==0xaa)&&(*(--HotPoint)==0xaa))

{ /*热启动的处理 */

}

else

{ HotPoint=0x7e; /*冷启动的处进

*HotPoint=0xaa;

*(++HotPoint)=0xaa;

}

/*正常工作代码*/

}

然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机时执行的代码并非是从main()函数的第一句语句开始的,在main()函数的第一句语句执行前要先执行一段’起始代码’。正是这段代码执行了清零的工作。C编译程序提供了这段起始代码的源程序,名为CSTARTUP.A51,打开这个文件,可以看到如下代码:

.

IDATALEN EQU 80H ; the length of IDATA memory in bytes.

.

STARTUP1:

IF IDATALEN <> 0

MOV R0,#IDATALEN - 1

CLR A

IDATALOOP: MOV @R0,A

DJNZ R0,IDATALOOP

ENDIF

.

可见,在执行到判断是否热启动的代码之前,起始代码已将所有内存单元清零。如何解决这个问题呢?好在启动代码是可以更改的,方法是:修改startup.a51源文件,然后用编译程序所附带的a51.exe程序对 startup.a51编译,得到startup.obj文件,然后用这段代码代替原来的起始代码。具体步骤是(设C源程序名为HOTSTART.C):

修改startup.a51源文件(这个文件在C51LIB目录下)。

 

 

执行如下命令:

 

A51 startup.a51 得到startup.obj文件。将此文件拷入HOTSTART.C所在目录。

将编好的C源程序用C51.EXE编译好,得到目标文件HOTS

TART.OBJ。

 

用 L51 HOTSTART, STARTUP.OBJ 命令连接,得到绝对目标文件HOTSTART。

 

用 OHS51 HOTSTART 得到HOTSTART.HEX文件,即可。

 

对于startup.a51的修改,根据自已的需要进行,如将IDATALEN EQU 80H中的80H改为70H,就可以使6F到7F的16字节内存不被清零。

二、直接调用EPROM中已固化的程序

笔者用的仿真机,由6位数码管显示,在内存DE00H处放显示子程序,只要将要显示的数放入显示缓冲区,然后调用这个子程序就可以使用了,汇编指令为:

LCALL 0DEOOH

在用C语言编程时,如何实现这一功能呢?C语言中有指向函数的指针这一概念,可以利用这种指针来实现用函数指针调用函数。指向函数的指针变量的定义格式为:

类型标识符 (*指针变量名)();

在定义好指针后就可以给指针变量赋值,使其指向某个函数的开始存地址,然后用

(*指针变量名)()即可调用这个函数。如下例:

void main(void)

{

void (*DispBuffer)(); /*定义指向函数指针*/

DispBuffer=0xde00; /*赋值*/

for(;;)

{ Key();

DispBuffer();

}

}

三、将浮点数转化为字符数组

笔者在编制应用程序时有这样的要求:将运算的结果(浮点数)存入EEPROM中。我们知道,浮点数在C语言中是以IEEE格式存储的,一个浮点数占用四个字节,例如浮点数34.526存为(160,26,10,66)这四个数。要将一个浮点数存入EEPROM,实际上就是要存这四个数。那么如何在程序中得到一个浮点数的组成数呢?

浮点数在存储时,是存储连续的字节中的,只要设法找到存储位置,就可以得到这些数了。可以定义一个void的指针,将此指针指向需要存储的浮点数,然后将此指针强制转化为char型,这样,利用指针就可以得到组成该浮点数的各个字节的值了。具体程序如下:

#define uchar unsigned char#define uint unsigned intvoid FtoC(void)

{ float a;

uchar i,*px

uchar x[4]; /*定义字符数组,准备存储浮点数的四个字节*、

void *pf;

px=x; /*px指针指向数组x*/

pf=&a; /*void 型指针指向浮点数首地址*/

a=34.526;

for(i=0;i<4;i++)

{ *(px+i)=*((char *)pf+i); /*强制void 型指针转成char型,因为*/

} /*void型指针不能运算*/

}

如果已将数存入EEPROM,要将其取出合并,方法也是一样,可参考下面的程序。

#define uchar unsigned char#define uint unsigned int

void CtoF(void)

{ float a;

uchar i,*px

uchar x[4]={56,180,150,73};

void *pf;

px=x;

pf=&a;

for(i=0;i<4;i++)

{ *((char *)pf+i)=*(px+i);

}

}

以上所用C语言为FRANKLIN C51 VER 3.2。

8. 单片机的应用有哪些?

无人照看自动浇花系统。任务是实现无人操控下的合适浇花需要单片机 小电机 湿度传感器 带水阀的容器客户对象为 需要出差而放不下花草的人通过合理的编程 将采集到的湿度进行AD转换为数字量 进行判定 通过I/O口 控制电机转动打开水阀 延时一定时间后反转 具体各方老式洗衣机一般都用最简单的4位单片机,就是控制电机的正反转,现在比较好的洗衣机,一般都用8位以上的单片机,LCD显示,智能控制和多模式选择等玩家,机器人,仪表,生活电器里面都有单片机的影子面 还得安排

9. 单片机的用途有哪些

屏幕能起什么作用?

无非就是显示运行情况呗,再不行就是提供人际交互界面让操作的人更方便地操作系统