51单片机C语言教程大全(PDF资料可在线学习)
c语言是一种非常容易使用的结构化语言。20世纪80年代以后,C语言也可以在单片机上使用。很多编程语言都是扩展和C语言,所以如果你能先学好C语言,然后再学习其他语言,入门会更容易。单片机c语言具有移植性好、易于理解、使用方便的特点。国内有大量的C语言程序员,重新学习单片机会非常容易。所以,虽然汇编语言更精炼,使用C语言也是大势所趋!---资 料 看文末
51单片机C语言教程大全都有哪些资料?
C语言设计.pdf
C语言设计.pdf 2.3M
C语言书写规范.pdf
C语言书写规范.pdf 254KB
51使用技巧及实战.pdf
51使用技巧及实战.pdf1M
单片机C语言教程.pdf
单片机C语言教程.pdf1.6M
C语言设计陷阱.pdf
C语言设计陷阱.pdf4.8M
单片机C语言编程与实例.pdf
单片机C语言编程与实例.pdf25.7M
单片机基础知识C51版.pdf
单片机基础知识C51版.pdf 529KB
下 载 资 料 需 戳 这 ↓↓↓
【下载】51单片机C语言教程大全PDF资料
51单片机的C语言基本用法
这是之前的视频——51单片机快速入门(https://www.ixigua.com/6844820943282373134?logTag=OGfIoHielx4eEHUAIfgJv)中的TXT文件,这里发一下,方便大家来找。
视频中开发板的程序资料:http://www.prechin.net/forum.php?mod=viewthread&tid=35264&extra=
STC官网:http://www.stcmcudata.com/
MDK5(51版)https://www.keil.com/c51/demo/eval/c51.htm#/DOWNLOAD
51单片机概述:
创建工程的过程
MDK5(51版)
烧录程序的过程
ch340g usb转串口
stc-isp软件 pz-isp软件
单片机的手册
51单片机程序的编写方法
汇编语言(了解即可)
org 0000h
MOV a,#2fh
sjmp $
仿真寄存器的值
C语言
引用头文件(注意格式规范)
#include <reg51.h>
某些增强型单片机需要自己寻找头文件,keil中没有提供
学会查看头文件的内容
定义引脚
sbit P10=P1^0;
直接对IO口进行操作
P1=0xff;
粗略的延迟函数
基于12M晶振
us延迟
void delay_us(int n_us)
{
int j,k;
for(j=0;j<n_us;j++)
for(k=0;k<1;k++);
}
ms延迟
void delay_ms(unsigned int a)
{
int q;
while(a--){
for(q=400;q>0;q--);
}
}
led灯的驱动
根据电路判断写1还是写0
仿真方法
PORT2.7
流水灯
P2=0xfe;
循环中写
P2=P2<<1;
开关检测
先写1,后读取
注意分析电路
数码管的驱动原理
字形码
共阴 共阳
0 3F C0
1 06 F9
2 5B A4
3 4F B0
4 66 99
5 6D 92
6 7D 82
7 07 F8
8 7F 80
9 6F 90
A 77 88
B 7C 83
C 39 C6
D 5E A1
E 79 86
F 71 8E
H 76 89
P 73 8C
显示一个数字
P1=0xf1;
P0=0x3f;
扫描显示
写入ROM
unsigned char code DIG_PLACE[4]={0xf1,0xf2,0xf4,0xf8};
unsigned char code DIG_CODE[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
P1=DIG_PLACE[0];
P0=DIG_CODE[4];
delay_us(1);
P1=DIG_PLACE[1];
P0=DIG_CODE[3];
delay_us(1);
P1=DIG_PLACE[2];
P0=DIG_CODE[2];
delay_us(1);
P1=DIG_PLACE[3];
P0=DIG_CODE[1];
delay_us(1);
还有一些专用的数据管驱动芯片
LCD显示屏(学会调用厂家封装的库)
用到的文件移植到自己程序里
中断与定时器
概念
51的定时器
配置
num=65536-nus/1;
TMOD=0x01;
TH0=num/256;
TL0=num%256;
th0=TH0;
tl0=TL0;
EA=1;
ET0=1;
//PT0=1;
TR0=1;
中断服务函数
TIMER0()interrupt 1
{
TH0=th0;
TL0=tl0;
}
外部中断
P3.2 INT0
P3.3 INT1
配置
EA=1;
EX0=1;
//PX0=1;
IT0=1;
中断服务函数
INT0_()interrupt 0
{
//IE0=0;
}
相关问答
c51单片机 可以运行 c语言 程序?您好:完全可以,不用修改程序,C52只是多了一个定时器和多了一点存储空间,如果你程序在C51上能运行,那在C52上当然也能运行。您好:完全可以,不用修改程序,C5...
51单片机c语言 常用指令?单片机C语言常用指令包括数据类型定义、变量声明、赋值运算、条件判断、循环控制、函数定义和调用等。数据类型定义有int、float、char等,变量声明使用关键字...
51单片机 中 C语言 int能转换为字符串类型吗?怎么转换?1、可以转换,强制转换就行。例如:inta=100;unsignedchar*c=(unsignedchar*)a;2、强制类型转换当操作数的类型不同,而且不属于基本数据类型时,经常...
51单片机c语言 看门狗程序怎么写?单片机程序中每隔一段时间就向狗喂食,如果超过一定时间狗没有吃到,就表示死机了,狗就出发单片机复位。单片机程序中每隔一段时间就向狗喂食,如果超过一定时间...
51单片机 产生pwm波的 c 程序是什么?用定时器产生程序如下:unsignedinta=0,b=10;voidmain(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000...
51单片机 用 C语言 怎么样把八位二进制转换成十进制?//*********************************************************************///函数名称:voidHtod(ulongL)...
利用 51单片机 定时器编写一个 C语言 程序,实现一个发光二极管定时亮、灭,要求亮一秒、灭一秒交替闪烁不?初始值为0,只只要启动定时器,定时器就开始工作,当计数溢出后,TF被置1,此时在程序中查询TF的状态,做相应的程序处理。一般建议用中断来做,查询方式会占用c...
51单片机c语言 sbit的作用是什么?这个叫位定义就是给P0^0又定义了个名字叫P00。这样在程序中用到P0^0的时候写P00就可以了,这样为的书写方便。如果没有SBIT就成了赋值语句。这个叫位定义就是...
熟悉 C语言51单片机 想在物联网嵌入式方面发展,需要再学习储备哪些知识?你好,我是富士山下,目前从事嵌入式软件工作。下面简单说一下我的看法。对于你说的熟悉,不知道是熟悉到哪种程度了,说说我的观点。熟悉C语言的程度应该还是不...
51单片机 怎么用keil编写俩 c 程序合成一个hex文件?.c是C语言源程序,具体的代码;.h是C语言头文件,宏定义一些函数、变量;.HEX是生成的十六进制文件,烧写文件,最终下载到单片机的;.UV2是工程文件,用....