单片机C语言编程教程
1.使用关键字extern修饰申明。
例如:
主文件中定义 int g_ival = 0;
别的文件里面用 extern int g_ival;申明一下就可以用了。
2.模块化编程是指将一个庞大的程序划分为若干个功能独立的模块,对各个模块进行独立开发,然后再将这些模块统一合并为一个完整的程序。这是C语言面向过程的编程方法,可以缩短开发周期,提高程序的可读性和可维护性。
3.在单片机程序里,程序比较小或者功能比较简单的时候,我们不需要采用模块化编程,但是,当程序功能复杂、涉及的资源较多的时候,模块化编程就能体现它的优越性了。如前面我们写过的HT1380驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完成,但是,当您制作一个12864液晶日历的时候,需要用到HT1380驱动程序、独立按键扫描程序和12864显示程序,如果把这三个程序全部集中在一个源文件里,将导致主体程序臃肿且杂乱,这样做并非不可取,只是降低了程序可读性、可维护性和代码的重用率。如果把这三个程序当做三个独立的模块放到你的主体工程进行模块化编程,效果就不一样了。实际上,模块化编程就是模块合并的过程,就是建立每个模块的头文件和源文件并将其加入到主体程序的过程。主体程序调用模块的函数是通过包含模块的头文件来实现,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程必须提供每个模块的头文件和源文件。
单片机学习方法:
网上单片机资料很多:
http://www.mcufan.com/scom.htm
http://www.51c51.com/cyuyan.htm
http://www.laogu.com/downtop.aspx
上面去搜搜看单片机的学习资料,都有入门级的
另外书店里面入门级的书也很多,可以买一本(北航出版的比较好)
1.入门时先了解单片机的构造啊原理啊
2.如果没有实验板自己搭建单片机的最小平台是比较难的
网上有个叫proteus的软件,可以用于单片机的仿真,就是说你编的程序可以在这个软件里运行,效果挺逼真的,可免费下载.
3.单片机的编程软件有keil或者wave,推荐前者,可以用c语言编写也可以汇编语言,c语言比较好学,推荐入门学习c语言,(可以买c和汇编语言都有介绍的单片机的书)
4.然后用keil编写程序在proteus上跑起来,如果你能点亮经典的单片机流水灯实验,那你就已经入门了
另:单片机的开发板或者最小系统可以买,电路水平高的话也可以自己搭建起来,51单片机大概6块左右一片自己搭建最小系统很便宜滴,学单片机一定要多做实验,不过推荐还是从仿真入门,仿真成功了后面的就有方向了.
单片机c语言编程入门教程说难不难,说易不易,学习单片机c语言首先就要明白这两样东西是啥?单片机入门编程主要是学C语言,其次就是电路跟编程语言。
单片机c语言编程学习必看的关于模电,数电,电路这三本书,为接下来的学习做铺垫。看书的目的是因为网上的教程太多太混杂,容易带偏,做单片机软件开发其实只要看得懂电路原理就可以了。
简介
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。
无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用,让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。
作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
以上内容参考:百度百科-单片机
你应该先学c语言,可以看谭浩强老师的<<c程序设计>>,在曲看单片机的书,一步一步来,不着急的。基础好了,什么都好说。
如果你没学微机原理建议你先学
学完之后,买本上海马潮的书,一个星期就
可以懂了~
不同意 无谓之光 的。《C程序设计》确实创造了一时的辉煌,而且这种辉煌很有可能会延续,但是并不代表它是最好的。此书之所以爆红是因为当时学C无门,而这本书浅显易懂。但现在这本书太落后了,就连第3版中还是用的老标准,而现在大家一般都用C99标准。老标准在DEV C++里都编译不过。而且看样子提问者应该是了解C的基础的,我推荐《单片机C语言编程与实例》这本书。直接搜索可以找到PDF版的下载。
--------------------
Mark TeaError
看谭浩强老师的<<c程序设计>>,清华大学出版的饿
答:今天做回好人,闲着给你写一个做参考。按键按一次LED灯灭,在按一次按键LED灯亮。程序如下:/ include "REG52.H"sbit LED1_01 = P1^1; //LED灯 sbit KEY0_01 = P1^2; //按键 void Delay_1ms(unsigned int Time){ unsigned int x, y;for(x = Time; x > 0; x--)for(...
答:先针对性回答一下你的问题:1、单片机学习需要的知识,单片机原理,编程技术,电子电路。2、学无止境,当然要继续学习,C语言对于单片机非常重要,多数人都是用c,包括我。如果从汇编开始我不知道要经过多少努力你才能开始做开发。3、VB可以做电脑程序开发,可以做成软件和单片机进行通讯,可以用电脑和单片机...
答:uchar idata SystemBuf[10]; //用于接收 uchar Rx=0; //接收数据条数 uchar code AT[]="YES,IT IS";void UART_init (void){ TMOD=0x20;//用定时器1 PCON=0x00; //波特率不加倍 SCON=0x50;//串行方式1 TH1=0xFD;//9600 TL1=0xFD;// EA=1;// ES=1;// TR1=1;} voi...
答:1.位地址在汇编语言中,只能直接寻址,不支持间接寻址。那么,在 C 语言中,也就不能用指针来操作。所以不能定义单片机的寄存器。2.访问寄存器可以通过直接地址引用来完成。例如52单片机的寄存器有4组,分别为00H-07H,08H-0FH,10H-17H,18H-1FH,各组均8字节,要结合程序状态字寄存器PSW(D0H)中的...
答:数字电位器用的是X9C103 include<reg51.h> include<stdio.h> include<intrins.h> define uchar unsigned char define uint unsigned int //设定四个按键 sbit X9C102=P2^0;sbit X9C202=P2^1;sbit X9C302=P2^2;sbit X9C402=P2^3;sbit X9C103_CS=P1^0;sbit X9C103_INC=P1^1;sbit X9...
答:学习单片机是需要成本的。必须有一台电脑、一块单片机开发板(如果开发板不能直接下载程序代码的话还得需要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。电脑是用来编写和编译程序,并将程序代码下载到单片机上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教你单片机开发环境的使用、单片机...
答:一旦当你掌握了单片机的编程技术,成为一个水平较高的单片机设计人员时,再买在线仿真器也不迟。准备:单片机烧录器 单片机仿真器 单片机(89c2051,便宜)软件(Keil)1、先找本单片机入门的书来看,对于寄存器不必很深的了解 2、照书上的电路图搭好电路(复位、晶振、IO……)3、将书上的范例程序烧...
答:这个也求?用按键点亮LED灯这个是51入门最基础的东西,真心想学的话,买块51的开发板,都带有例程,很快就可以入门的。建议你还是多看看资料把基础的东西学好。推荐你看一下《十天学会单片机和C语言编程》的视频教程对入门还是不错的。三路抢答器提供你编程思路(按键扫描方式)参考,程序还是要根据你的...
答:51单片机自学笔记(内附光盘1张)作者:出版:北京航空航天大学出版社 出版日期:2010年01月 《51单片机自学笔记》以89S51系列单片机为载体,结合作者多年教学与指导大学生电子设计竞赛的经验编写而成。全书分三部分:汇编语言程序设计、C语言程序设计和RTX51实时多任务操作系统。内容编排符合初学者先了解单片机...
答:使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。?第一步:数字I/O的使用 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,...