乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > 零成本学习单片机编程之从hello word开始-word2004

零成本学习单片机编程之从hello word开始-word2004

作者:乔山办公网日期:

返回目录:word文档

从今天开始给大家逐步讲解单片机编程,有兴趣的小伙伴们,可以关注本课程,完全免费。

零成本学习单片机编程之从hello word开始

本人从事从2004年大学毕业开始从事开发工作,先后做过单片机开发、ucOSII开发、手机开发、android APP开发、PHP开发、微信小程序开发,目前从事物联网开发。我本人并非学计算机的,除了学校上课之外,基本上这些开发都是自学的。边学习边工作,基本上以学以致用为目的,用到什么学习什么。

深深体会到自学的艰辛,尤其是最初入门的时候,那道砍迈过去后面再学习基本上就简单多了,所谓触类旁通,举一反三。但是前面打基础的时候是非常费力的,看到很多评论说C语言指针太难了,后来就放弃了。其实那是没有找到好的学习方法,没有人指导。只要有人带一带指点一下,问题很快就能解决。

相比于国外的开源学习氛围,我认为我们做的还远远不够,我们的编程大师还非常少,像ucLinux、ucOSII、FreeRtos等等非常有名的嵌入式操作系统,商业的更不用说了,太多了。我们在软件方面一直都是落后的状态,当然近几年我们自己也有不少好的作品。比如,Huawei LiteOS、Alios Things、djyos、RT-Thread、SylixOS等。一直想为学习单片机的同学做点什么,今年相对来说会轻松一些,利用闲暇时间,给大家分享一些案例、学习方法和心得。本课系列课程主要针对初学者、单片机学习爱好者、学习中遇到困难者,有什么不清楚的地方可以留言讨论。


本课的第一个案例,从串口编程输出hello word

首先、打开proteus(需要安装文件的童鞋,发我私信1000,将自动给你软件连接)

零成本学习单片机编程之从hello word开始

在打开文件->示例工程,如下图所示

零成本学习单片机编程之从hello word开始

打开之后是原理图,这个是ADC扩展采样的电路,暂时不管它

零成本学习单片机编程之从hello word开始

本节我们只演示,串口输出hello word的内容

第二、修改代码如下

void delayFunc(unsigned int ms)//不精确的延时10ms

{

unsigned int i=0;

while(ms--)

{

while(++i<1000);

i=0;

}

return;

}

void SendString(const char *s) //串口发送

{

while(*s) {

TI=0;

SBUF=*s++;

while(TI==0);

}

}

void main(void)

{

unsigned int delay, MSB , LSB, adc_Res;

//串口初始化部分

SCON = 0xDA; // SCON: mode 1, 8-bit UART, enable rcvr */

TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit reload */

TH1 = 0xFD; // TH1: reload value for 1200 baud @ 12MHz */

TR1 = 1; // TR1: timer 1 run */

TI = 1; // TI: set TI to send first char of UART */

while(1)

{

printf("hello Word!!\\n"); //串口输出hello word

delayFunc(50);//延时500ms

SendString("hello MCU!!\\r\\n");//串口输出hello MCU

delayFunc(50);//延时500ms

}

}

代码解析已经在具体代码中了,运行结果如下图所示,是不是很简单呢!!

零成本学习单片机编程之从hello word开始

最后、总结知识点

1.串口初始化部分可以参考8051的数据手册,这部分都是标准8051内核通用的,哪个厂家的都一样

2.注意printf函数是对串口格式输出函数,它的代码不是公开的,而是封装在stdio库中,是一个标准额库函数

3.换行小知识点,不知道你注意到没有

printf("hello Word!!\\n");

SendString("hello MCU!!\\r\\n");

为什么一个是\\n换行,而后面一个是\\r\\n表示换行呢?

这其中的原因出在printf库函数上,printf在发现\\n时会自动转换成\\r\\n输出,所以后面一个函数输出hello MCU时,必须是标准的\\r\\n才可以。

本节课就结束了,有什么疑问欢迎留言讨论!

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网