前言 编程语言也就是"计算机语音"。相对于PC或电脑来说,Microcontroller(微控制器,俗称单片机)编程语言则是嵌入式编程语言。由于单片机编程与硬件紧密相连,故其软件又成为"固件(firmware)"。随着硬件性能的提升,编程语言也在发生着变化。 机器语言 早期的编程使用的是机器语言。需要将程序的机器指令一位一位地输入到单片机中,或者将指令做成纸带输入到单片机,进行计算。 图 1 纸带
汇编语言 随着发展,人们开始用指令助记符替代机器语言,于是就有了汇编语言。汇编语言书写的效率大大地提高了。直到现在还有好多人在使用汇编语言进行程序设计。 图 2 汇编语言 stm8/
#include "mapping.inc"
#include "stm8s_conf.inc"
segment 'rom'
BRES PB_DDR,#7 ;input
BSET PB_CR1,#7 ;Pull-up
BSET PB_CR2,#7 ;with interrupt
BSET EXTI_CR1,#2 ;01: Rising edge only
BRES EXTI_CR1,#3
LD A,#$CC
LD IWDG_KR,A
LD A,$55
LD IWDG_KR,A
LD A,$2
LD IWDG_PR,A
LD A,$FF
LD IWDG_RLR,A
MOV IWDG_KR,#$AA
……
|
C语言 为了提高代码书写效率,出现了高级的语音-C语音。 C语言的出现,使得人书写代码更容易,也更容易移植到不同的平台中。 图 3 C语言 int i = 0;
unsigned char uc = 0;
unsigned long Temp;
ADC_CR1 |= 0x01;
i = 6;
while(i--);
ADC_CR1 |= 0x01;
while(!(ADC_CSR & 0x80));
AD_Value = ((((unsigned int)ADC_DRH)<<2)+ADC_DRL);
TIM2_CCR2H=0x00;
TIM2_CCR2L=(unsigned char)(AD_Value>>2);
if (AD_Value>0x10)
{
Temp=(unsigned char)(AD_Value>>8);
if ((TIM3_ARRH>Temp+0x05)||(TIM3_ARRH<Temp-0x05))
{
TIM3_ARRH = Temp;
TIM3_ARRL = (unsigned char)(AD_Value&0xff);
TIM3_CCR1H = (unsigned char)(AD_Value>>9);
TIM3_CCR1L = (unsigned char)((AD_Value>>1)&0xff);
}
}
while ( uc < duration )
{
while ( i < 1200 )
{
i++;
}
i = 0;
uc++;
}
……
|
Arduino Arduino是一种开源硬件,可以让电子爱好者很快设计出产品的原型来。设计趋向于简单化。
图形化编程 借助电脑软件,出现了图形化配置的软件。可以帮助工程师迅速配置一些底层的寄存器外设等。简化了程序设计流程。 图 4 图形初始化配置
近些年也有了不少的图形化编程和仿真软件。在提升书写代码效率的同时,也在改变着人们的编程习惯。 图 5 FlowCode
图 6 Proteus
编程语言的进化 从机器语言到C语音,从C语言到图形化配置、编程、仿真。人与机器的交互方式在发生着变化。编程语言在不断地进化。人与计算机沟通更为越来越接近,沟通越来越容易。代码会逐步进化到接近人的表达语言的方式。但作为汉字的编程语言方面尚没有太大的突破,或许将来会有。 产品与艺术一样都来自于人的生活。
|