微型計(jì)算機(jī)技術(shù)應(yīng)用講義01
標(biāo)簽(空格分隔): 物聯(lián)網(wǎng) 單片機(jī) 嵌入式 講義
[TOC]
1. 51單片機(jī)回顧
1.1 51單片機(jī)的硬件結(jié)構(gòu)
- 51單片機(jī)的管腳
- 管腳總體介紹
-
口
-
image_1clsv2licu7j19iiing72gdq1p.png-41.3kB
image_1clsvm27e1qhf183r7dlrfc4g243.png-100.2kB
image_1clsvo9fan6u1i2k9d4esloj150.png-108.3kB
image_1clsvqs9514ecapkc17o11uoh5d.png-86.5kB
1.2 51單片機(jī)最小系統(tǒng)原理圖
單片機(jī)中剩、電源邪驮、晶振電路莫辨、復(fù)位電路
![image_1clt4e03ubmj24j1rgb14s3te6f2.png-84.2kB](http://static.zybuluo.com/richey/03uyfxmgaqvt3hnnbq08errp/image_1clt4e03ubmj24j1rgb14s3te6f2.png)
image_1clt4e03ubmj24j1rgb14s3te6f2.png-84.2kB
1.3 51單片機(jī)的存儲結(jié)構(gòu)
![image_1clsvgtkm1t2i1oep1qn2fdc1i4639.png-71.7kB](http://static.zybuluo.com/richey/y5p4gk0iz94va02x1tq6d99x/image_1clsvgtkm1t2i1oep1qn2fdc1i4639.png)
image_1clsvgtkm1t2i1oep1qn2fdc1i4639.png-71.7kB
![image_1clsvjr4umf71uic1cug1bl91ek33m.png-65.8kB](http://static.zybuluo.com/richey/2zxc9a03t2r7o7qvzs7dfvmc/image_1clsvjr4umf71uic1cug1bl91ek33m.png)
image_1clsvjr4umf71uic1cug1bl91ek33m.png-65.8kB
![image_1clt0oonusk21runfig1q2s45c5q.png-38.1kB](http://static.zybuluo.com/richey/v3ucs8gyrrh31p7sxutssfp1/image_1clt0oonusk21runfig1q2s45c5q.png)
image_1clt0oonusk21runfig1q2s45c5q.png-38.1kB
2. C51程序設(shè)計(jì)入門
2.1 新建C51工程
![image_1clt12pg0htet9md7cpd6pih77.png-33.8kB](http://static.zybuluo.com/richey/v2365e3oi5p7515n9edebz09/image_1clt12pg0htet9md7cpd6pih77.png)
image_1clt12pg0htet9md7cpd6pih77.png-33.8kB
![image_1clt14vjh1sn9p6qd401alu19k27k.png-51.3kB](http://static.zybuluo.com/richey/12t7254mfse9tqlvq2mucoc9/image_1clt14vjh1sn9p6qd401alu19k27k.png)
image_1clt14vjh1sn9p6qd401alu19k27k.png-51.3kB
![image_1clt1c05ovf3q7dj762ti1ht3a1.png-46.7kB](http://static.zybuluo.com/richey/lob7peawkkodrc8js0vkm06o/image_1clt1c05ovf3q7dj762ti1ht3a1.png)
image_1clt1c05ovf3q7dj762ti1ht3a1.png-46.7kB
![image_1clt1eh9v30r394106cqdi102pbe.png-29.4kB](http://static.zybuluo.com/richey/sfv45ow9yx1usnvi2bvq2axu/image_1clt1eh9v30r394106cqdi102pbe.png)
image_1clt1eh9v30r394106cqdi102pbe.png-29.4kB
2.2 最簡單的C51流水燈程序示范
//common.h
#ifndef __COMMON_H__
#define __COMMON_H__
//C99標(biāo)準(zhǔn)數(shù)據(jù)類型,增強(qiáng)程序的可移植性毅访!
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> //關(guān)于特殊功能寄存器的一些定義
#include "intrins.h" //移位函數(shù)庫
#include "common.h"
uint8_t i = 0;
sbit LED0 = P2^0;
void delay_ms(uint16_t dly); //使用函數(shù)之前必須先聲明O蔚А!俺抽!
void main(){
P1 = 0xfe;
while(TRUE){ //主循環(huán)敞映,必須有!A赘振愿!必須有!3诜埂冕末!必須有!B滤獭档桃!
for(i = 0; i < 8; i++){
delay_ms(1000); //延時(shí)1000ms,注意函數(shù)調(diào)用和函數(shù)聲明的區(qū)別c旧埂T逡蕖!
P1 = _crol_(P1,1); //P1循環(huán)左移1位
LED0 = !LED0; //LED0取反
}
}
}
void delay_ms(uint16_t dly){
uint8_t i;
while(dly--)
for(i = 110; i > 0; i--);
}
2.3 與proteus聯(lián)合調(diào)試
-
proteus設(shè)置
image_1clt3kkkfos12hd91ree10nocb.png-206.7kB -
keil設(shè)置
image_1clt3leh210hjoqo1ot1dngue0d8.png-238.5kB -
演示效果
image_1clt3u3pvaoaqsv2kn1t3t118ce5.png-182.9kB