微型计算机技术应用讲义01
标签(空格分隔): 物联网 单片机 嵌入式 讲义
[TOC]
1. 51单片机回顾
1.1 51单片机的硬件结构
- 51单片机的管脚
- 管脚总体介绍
- 口
-
image_1clsv2licu7j19iiing72gdq1p.png-41.3kB
image_1clsvm27e1qhf183r7dlrfc4g243.png-100.2kB
image_1clsvo9fan6u1i2k9d4esloj150.png-108.3kB
image_1clsvqs9514ecapkc17o11uoh5d.png-86.5kB
1.2 51单片机最小系统原理图
单片机、电源、晶振电路、复位电路
1.3 51单片机的存储结构
image_1clsvgtkm1t2i1oep1qn2fdc1i4639.png-71.7kBimage_1clsvjr4umf71uic1cug1bl91ek33m.png-65.8kB
image_1clt0oonusk21runfig1q2s45c5q.png-38.1kB
2. C51程序设计入门
2.1 新建C51工程
image_1clt12pg0htet9md7cpd6pih77.png-33.8kBimage_1clt14vjh1sn9p6qd401alu19k27k.png-51.3kB
image_1clt1c05ovf3q7dj762ti1ht3a1.png-46.7kB
image_1clt1eh9v30r394106cqdi102pbe.png-29.4kB
2.2 最简单的C51流水灯程序示范
//common.h
#ifndef __COMMON_H__
#define __COMMON_H__
//C99标准数据类型,增强程序的可移植性!
typedef unsigned char uint8_t;
typedef char int8_t;
typedef unsigned int uint16_t;
typedef int int16_t;
typedef unsigned long uint32_t;
typedef long int32_t;
#define TRUE 1
#define FALSE 0
#endif
//exp01.c
#include <reg51.h> //关于特殊功能寄存器的一些定义
#include "intrins.h" //移位函数库
#include "common.h"
uint8_t i = 0;
sbit LED0 = P2^0;
void delay_ms(uint16_t dly); //使用函数之前必须先声明!!!
void main(){
P1 = 0xfe;
while(TRUE){ //主循环,必须有!!!必须有!!!必须有!!!
for(i = 0; i < 8; i++){
delay_ms(1000); //延时1000ms,注意函数调用和函数声明的区别!!!
P1 = _crol_(P1,1); //P1循环左移1位
LED0 = !LED0; //LED0取反
}
}
}
void delay_ms(uint16_t dly){
uint8_t i;
while(dly--)
for(i = 110; i > 0; i--);
}
2.3 与proteus联合调试
-
proteus设置
image_1clt3kkkfos12hd91ree10nocb.png-206.7kB -
keil设置
image_1clt3leh210hjoqo1ot1dngue0d8.png-238.5kB -
演示效果
image_1clt3u3pvaoaqsv2kn1t3t118ce5.png-182.9kB
网友评论