汽车编程基础知识(什么是汽车编程)

http://www.itjxue.com  2023-02-05 21:51  来源:未知  点击次数: 

汽车编程怎么入门

这个你需要到专业的学校里面去学才可以并且一定要。一定要学会一些基本的编程语言才可以。而且一定要跟着优秀的老师学习才可以这样的话,你可以快速的入门。不要相信自己的自学哈。

如何给汽车电脑编程

ECU使用了可以多次重复读写的Flash-Rom (快闪记忆)芯片,在修改程序时不用更换空白芯片便可直接加载,较E-Rom方便多了。但不论是哪种形式的芯片,原厂和芯片改装商设计时都会加入保护设计来防止被译码和盗拷。

车辆的种类虽然多,构造却大同小异。这应该说是标准化的功劳,也是大型生产流水线的需要。随着社会的发展、科技的进步和需求的变化,铁路车辆的外形开始有了改变,尤其是客车车厢不再是清一色的老面孔。但是它们的基本构造并没有重大的改变,只是具体的零部件有了更科学先进的结构设计。

什么是编程,编程主要用来干什么

编程(biān chéng)是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

扩展资料:

编程的语言:

1、机器语言

在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。

2、汇编语言

在汇编语言中,每一条用符号来表示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。

3、汇编程序

使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。

但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。

4、高级语言

高级语言是一类接近于人类的自然语言和数学语言的程序设计语言的统称。按照其程序设计的出发点和方式不同,高级语言分为了面向过程的语言和面向对象的语言。

参考资料来源:百度百科-编程

一般学汽车单片机需要哪些基础知识

以下内容,仅供参考:

定时器的使用

掌握定时器的使用,就可以用单片机实现时序电路,时序电路的功能强大,在工业和家用电气设备的控制中有很多应用。

? ? 如:用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。

数字I/O的使用

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想。

? ? ?如:设置很多寄存器对引脚进行初始化处理才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,虽然很复杂,故掌握基础,扎扎实实一步一步深入。

? ? ? ? ? ? ? ??

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。

学会中断后可以编制一些更为复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。

? ? ? ?

? ??? PC机与RS232通信或进行调试

单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。

? ? ? ? ? ? ? ??

USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!

MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。

? ???学会PCI、I2C接口和液晶显示器接口;学会比较、捕捉、PWM功能;接下来就是USB接口、TCP/IP接口、各种工业总线的硬件与软件设计。。。。学习相关编程语言,如C、C+等,可进行一些必要的编程或调试开发。。。

? ? ?祝您早日学有所成。。。一展抱负。。。。。。!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

汽车如何编程

Define Class 环奇小大脚 As 舵机控制

Name = "环奇小大脚"

Procedure Init()

This.COM口 = 9

This.速率 = 115200

Return DoDefault()

Endproc

Procedure 定义油门曲线()

If Not DoDefault() Then

Return .F.

Endif

*-- 油门

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (0, -1, 1700) 油门 - 倒车最大

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (0, 0, 1500) 油门 - 中点

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (0, 0.05, 1450) 油门 - 不动的

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (0, 1, 1350) 油门 - 最大

*-- 方向舵

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (1, -1, 1450) 方向舵 - 最左

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (1, 0, 1370) 方向舵 - 中点

Insert Into 油门曲线 (通道, 位置, 脉冲宽度) Values (1, 1, 1250) 方向舵 - 最右

Return .T.

Endproc

Enddefine

Define Class 舵机控制 As Form

Name = "舵机控制"

COM口 = 0

速率 = 115200

Procedure Init()

This.定义油门曲线()

Return This.连接舵机控制板()

Endproc

Procedure Destory()

*-- 释放串口。

If Type("This.舵机控制板") = "O" Then

If This.舵机控制板.PortOpen Then

This.舵机控制板.PortOpen = .F.

Endif

Endif

Return .T.

Endproc

Procedure 定义油门曲线()

*-- 创建油门曲线临时表

Create Cursor 油门曲线 (通道 Integer, 位置 N(6, 4), 脉冲宽度 N(4))

Return .T.

Endproc

Procedure 连接舵机控制板()

*-- 没有“舵机控制板”就创建一个。

If Type("This.舵机控制板") "O" Then

This.AddObject("舵机控制板", "Olecontrol", "MSCommlib.MSComm")

Endif

*-- 打开串口。

If This.舵机控制板.PortOpen Then

This.舵机控制板.PortOpen = .F.

Endif

This.舵机控制板.CommPort = This.COM口

This.舵机控制板.Settings = Textmerge("This.速率,n,8,1")

If Not This.舵机控制板.PortOpen Then

This.舵机控制板.PortOpen = .T.

Endif

Return This.舵机控制板.PortOpen

Endproc

Procedure 发送指令(通道, 位置)

Local 下限位置, 下限脉冲宽度, 上限位置, 上限脉冲宽度, 当前脉冲宽度, 串口指令代码

m.下限位置 = -1

m.下限脉冲宽度 = 500

m.上限位置 = 1

m.上限脉冲宽度 = 2500

m.当前脉冲宽度 = 1500

m.串口指令代码 = ""

*-- 1 找到当前位置最近的2个曲线值,如果找不到就取默认值 -1, 500 及 1, 2500。

*-- 2 生成指令。

*-- 3 发送给串口。

*-- 1

Select Top 1 * From 油门曲线 Where 通道 = m.通道 And 位置 = m.位置 Order By 位置 Desc Into Cursor curTemp

If Reccount("curTemp") 0 Then

m.当前脉冲宽度 = curTemp.脉冲宽度

Else

Select Top 1 * From 油门曲线 Where 通道 = m.通道 And 位置 m.位置 Order By 位置 Desc Into Cursor curTemp

If Reccount("curTemp") 0 Then

m.下限位置 = curTemp.位置

m.下限脉冲宽度 = curTemp.脉冲宽度

Endif

Select Top 1 * From 油门曲线 Where 通道 = m.通道 And 位置 m.位置 Order By 位置 Into Cursor curTemp

If Reccount("curTemp") 0 Then

m.上限位置 = curTemp.位置

m.上限脉冲宽度 = curTemp.脉冲宽度

Endif

m.当前脉冲宽度 = Int((m.上限脉冲宽度 - m.下限脉冲宽度) / (m.上限位置 - m.下限位置) * (m.位置 - m.下限位置) + m.下限脉冲宽度)

Endif

*-- 2

m.串口指令代码 = Textmerge("#m.通道Pm.当前脉冲宽度")

Debugout m.串口指令代码

*-- 3

This.舵机控制板.OutBufferCount = 0

This.舵机控制板.Output = 串口指令代码 + Chr(13)

Endproc

Enddefine

(责任编辑:IT教学网)

更多

推荐其它系统文章