51单片机串行通信C语言程序
- 格式:doc
- 大小:22.50 KB
- 文档页数:2


51 单片机 C 语言入门教程
51 单片机 C 语言学习杂记
学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语
言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中 51 架构的芯片风行
很久,学习资料也相对很多,是初学的较好的选择之一。51 的编程语言常用的有二种,一 种是汇编语言,一种是 C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复 杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器代码生成效率和汇编语言相 当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效 性的代码编写问题。对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小 于汇编语言很多。综合以上 C 语言的优点,我在学习时选择了 C 语言。以后的教程也只是 我在学习过程中的一些学习笔记和随笔,在这里加以整理和修改,希望和大家一起分享,一 起交流,一起学习,一起进步。
*注:可以肯定的说这个教程只是为初学或入门者准备的,笔者本人也只是菜鸟一只,
有望各位大侠高手指点错误提出建议。
明浩 2003-3-30 mailto:pnzwzw@wzw@
第一课 建立您的第一个 C 项目
使用 C 语言肯定要使用到 C 编译器,以便把写好的 C 程序编译为机器码,这样单片机 才能执行编写好的程序。KEIL uVISION2 是众多单片机应用开发软件中优秀的软件之一, 它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持, PLM,汇编和 C 语言的程序设计,它的界面和常用的微软 VC++的界面相似,界面友好,易 学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发 51 应用的工程师或 普通的单片机爱好者,都对它十分喜欢。
以上简单介绍了 KEIL51 软件,要使用 KEIL51 软件,必需先要安装它。KEIL51 是一个 商业的软件,对于我们这些普通爱好者可以到 KEIL 中国代理周立功公司的网站上下载一份 能编译 2K 的 DEMO 版软件,基本可以满足一般的个人学习和小型应用的开发。(安装的方 法和普通软件相当这里就不做介绍了)
实验二 MCS-51单片机C语言编程练习
一. 实验目的
1. 了解单片机的C51语言与汇编语言以及标准C语言的异同,掌握C51语言的基本语法知识以及特有的程序设计特点。
2. 掌握使用C51语言进行顺序、分支、循环结构的程序设计方法。
3. 能够使用C51语言,独立设计出具有一定综合性的单片机应用程序,并与汇编语言的相应程序进行比较,加深理解。
4. 对应用问题能抽象出数学模型,绘制软件程序的流程图,并能用C51语言实现。
二.预习与思考
1. 预习理论教材中“C51语言程序设计”的相关内容,掌握C51程序设计的基本方法、思路以及设计规范。
2. 预习理论教材中“C51程序设计”的相关例程。
3. 掌握单片机C51语言的调试方法,体会与标准C语言的异同。
4. 思考如何使用C51语言,对顺序、分支、循环结构的单片机应用程序进行设计,重点体会C51语言特有的设计方法与思想。
三. 实验原理
1. 单片机的C51语言简介
通常,将一些能够对MCS—51系列单片机进行硬件操作的C语言统称为C51语言。在众多的C51语言中,功能最强、最受用户欢迎的是德国KEIL公司的Keil C51语言。单片机应用系统的程序设计,既可以采用汇编语言,也可以采用C51语言,两者各具特色。其中,汇编语言是一种用助记符来代表机器语言的符号语言。因为它最接近机器语言,所以汇编语言对单片机的操作直接、简捷,编写的程序紧凑、执行效率较高。但是,不同种类的单片机其汇编语言存在一定的差异。在一种单片机上开发的应用程序,通常不能直接应用到另一种单片机芯片上,如果进行程序的移植,难度也比较大。与此同时,汇编语言开发的程序可读性较差,不容易理解,特别是当单片机应用系统的规模比较大时,汇编语言的编程工作量非常大,从而影响应用系统的开发效率。
相对而言,C51语言恰好可以克服汇编语言的一些缺欠。例如,C51语言可读性好、可移植性高,与自然语言比较接近,并且相同功能的程序使用C51语句的数量要远小于汇编语句。通常,C51语言的入门学习相对于汇编语言更容易,而且在C51语言的程序中还可以嵌套汇编语言,从而满足对执行效率或操作的一些特殊要求。因此在单片机应用系统的开发过程中,C51语言逐渐成为了主要的编程语言。
目录
目录................................................................................................................................1
函数的使用和熟悉********************************/.......................................4
实例3:用单片机控制第一个灯亮.............................................................................4
实例4:用单片机控制一个灯闪烁:认识单片机的工作频率.................................4
实例5:将 P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能............5
实例6:使用P3口流水点亮8位LED.......................................................................5
实例7:通过对P3口地址的操作流水点亮8位LED...............................................6
实例8:用不同数据类型控制灯闪烁时间.................................................................7
实例9:用P0口、P1 口分别显示加法和减法运算结果.........................................8
实例10:用P0、P1口显示乘法运算结果................................................................9
51单片机C语言编程100例-单片机c语言编程
51单片机C语言编程100例
在嵌入式系统领域,单片机是常用的硬件平台之一。而C语言作为一种高级编程语言,能够为单片机编程提供更高的效率和便利性。本文将介绍51单片机C语言编程的100个实例,帮助读者了解并掌握单片机的基本编程技巧和应用方法。
一、LED灯控制
1. 实例介绍:通过控制51单片机的IO口输出,实现对LED灯的亮灭控制。
2. 实例代码:
```
#include
sbit LED = P1^0; // 定义P1口的第0位为LED
void main()
{
while(1)
{
LED = 0; // LED灯亮 delay(1000); //延时1秒
LED = 1; // LED灯灭
delay(1000); //延时1秒
}
}
```
二、数码管显示
1. 实例介绍:使用数码管显示数字0-9,并实现数码管的动态显示效果。
2. 实例代码:
```
#include
unsigned char code DispTab[] =
{0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82};
sbit WeiDu = P1^2;
sbit DUAN = P1^0;
void delay(unsigned int t)
{
unsigned int i; while(t--)
for(i=0;i<125;i++);
}
void main()
{
unsigned int i;
while(1)
{
P0 = DispTab[i]; // 显示数字i
DUAN = 1; //点亮段码
DUAN = 0; //关闭段码
P0 = ~(0x01 << i); // 选择数码管的位