电子设计大赛培训系列C语言和单片机

上传人:好** 文档编号:121994576 上传时间:2020-02-28 格式:PPT 页数:39 大小:225KB
返回 下载 相关 举报
电子设计大赛培训系列C语言和单片机_第1页
第1页 / 共39页
电子设计大赛培训系列C语言和单片机_第2页
第2页 / 共39页
电子设计大赛培训系列C语言和单片机_第3页
第3页 / 共39页
电子设计大赛培训系列C语言和单片机_第4页
第4页 / 共39页
电子设计大赛培训系列C语言和单片机_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《电子设计大赛培训系列C语言和单片机》由会员分享,可在线阅读,更多相关《电子设计大赛培训系列C语言和单片机(39页珍藏版)》请在金锄头文库上搜索。

1、电子设计大赛系列培训 单片机和C语言 1 第1讲单片机入门 本章主要内容 1 学单片机需要什么基础2 什么是单片机 单片机能做什么 怎么开始学习单片机 3 学单片机需要的一些预备知识4 51单片机基础知识 5 如何用单片机学习板在短时间内掌握51单片机和C语言编程 6 KEIL工程建立详细介绍及KEIL软件使用方法7 从控制实验板上的一个发光二极管开始 判断输入 控制输出 1 与以前所学的知识关联很少 2 只需要掌握很基本的数电模电知识 如二进制 十进制 十六进制之间的转换 与 或 非逻辑关系等 3 对各种器件的概念基本上是从0开始 4 如果要用C语言编程 需具备简单的C语言基础 一 学单片机

2、需要什么基础 什么是单片机 单片机在一片集成电路芯片上集成微处理器 存储器 I O接口电路 从而构成了单芯片微型计算机 即单片机 Intel公司推出了MCS 51系列单片机 集成8位CPU 4K字节ROM 128字节RAM 4个8位并口 1个全双工串行口 2个16位定时 计数器 寻址范围64K 并有控制功能较强的布尔处理器 二 什么是单片机 单片机能做什么 怎么开始学习单片机 单片机能做什么 凡是与控制或简单计算有关的电子设备都可以用单片机来实现 再根据具体实际情况选择不同性能的单片机 如 atmel stc pic avr 凌阳 arm等 怎么开始学习 1 实践第一 2 补充必要的理论知识

3、即缺什么补什么 3 做实际小制作积累经验 比如调试 编程 可在网络上搜集题目 也可自己有什么想法大胆的去试验 三 预备知识 1 电平特性2 2进制与16进制的表示及转换3 二进制数的逻辑运算4 8051单片机介绍5 C51基础知识 1 关于电平特性 1 数字电路中只有两种电平 高和低 2 本课程中 定义单片机为TTL电平 高 5V低0V 3 RS232电平 计算机的串口高 12V低 12V所以计算机与单片机之间通讯时需要加电平转换芯片max232 2 二进制 数字电路中的两种电平特性006110117111210810003119100141001010105101111011 十六进制 1

4、十进制中的0 15分别表示为十六进制的0 1 2 3 4 5 6 7 8 9 A B C D E F 2 熟练掌握二进制与十六进制之间的转换 规律 一般把四个二进制数放在一起转换成一个十六进制数 转换后直接组合在一起即可 如 0001B 1 1H 汇编 0 x1 C语言 B表示为二进制 H为十六进制1001B 9H 0 x91010B AH 0 xa00101100 2CH 0 x2c 各种进位制的对应关系 3 二进制数的逻辑运算 1 与 运算 与 运算是实现 必须都有 否则就没有 这种逻辑关系的一种运算 运算符为 其运算规则如下 0 0 0 0 1 1 0 0 1 1 1 2 或 运算 或

5、运算是实现 只要其中之一有 就有 这种逻辑关系的一种运算 其运算符为 或 运算规则如下 0 0 0 0 1 1 0 1 1 1 1 3 非 运算 非 运算是实现 求反 这种逻辑的一种运算 如变量A的 非 运算记作 其运算规则如下 4 异或 运算 异或 运算是实现 必须不同 否则就没有 这种逻辑的一种运算 运算符为 其运算规则是 四 80C51系列介绍 Intel的 80C31 80C51 87C51 80C32 80C52 87C52等 ATMEL的 89C51 89C52 89C2051等 Philips 华邦 Dallas STC等公司的许多产品 80C51是MCS 51系列中的一个典型品

6、种 其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列 当前常用的80C51系列单片机主要产品有 80C51的引脚封装 总线型 非总线型 总线 BUS 是计算机各部件之间传送信息的公共通道 微机中有内部总线和外部总线两类 内部总线是CPU内部之间的连线 外部总线是指CPU与其它部件之间的连线 外部总线有三种 数据总线DB DataBus 地址总线AB AddressBus 和控制总线CB ControlBus CPU 由运算和控制逻辑组成 同时还包括中断系统和部分外部特殊功能寄存器 RAM 用以存放可以读写的数据 如运算的中间结果 最终结果以及欲显示的数据 ROM 用以

7、存放程序 一些原始数据和表格 I O口 四个8位并行I O口 既可用作输入 也可用作输出 T C 两个定时 计数器 既可以工作在定时模式 也可以工作在计数模式 五个中断源的中断控制系统 一个全双工UART 通用异步接收发送器 的串行I O口 用于实现单片机之间或单片机与微机之间的串行通信 片内振荡器和时钟产生电路 石英晶体和微调电容需要外接 最高振荡频率取决于单片机型号及性能 五 C51知识 C语言是一种编译型程序设计语言 它兼顾了多种高级语言的特点 并具备汇编语言的功能 目前 使用C语言进行程序设计已经成为软件开发的一个主流 C 51的数据类型 基本数据类型 类型 符号 关键字 数的表示范围

8、 所占位数 整型 字符型 实型 有 无 signed int 16 32768 32767 signed short 16 32768 32767 signed long 32 2147483648 2147483647 16 unsignedint 0 65535 32 0 4294967295 unsignedlongint unsignedshortint 16 0 65535 有 float 32 3 4e 38 3 4e38 有 double 64 1 7e 308 1 7e308 有 char 8 128 127 无 unsignedchar 8 0 255 C语言中的基本数据类型

9、 类型 符号 关键字 数的表示范围 所占位数 整型 字符型 实型 有 无 signed int 16 32768 32767 signed short 16 32768 32767 signed long 32 2147483648 2147483647 16 unsignedint 0 65535 32 0 4294967295 unsignedlongint unsignedshortint 16 0 65535 有 float 32 3 4e 38 3 4e38 有 double 64 1 7e 308 1 7e308 有 char 8 128 127 无 unsignedchar 8

10、0 255 C 51的数据类型扩充定义 sfr 特殊功能寄存器声明sfr16 sfr的16位数据声明sbit 特殊功能位声明bit 位变量声明例 sfrSCON 0X98 sfr16T2 0 xCC sbitOV PSW 2 例 数据类型变量名charvar1 bitflags unsignedcharvextor 10 intwwww 注意 变量名不能用C语言中的关键字表示 C 51数据的存储类型 C 51的头文件 通常有 reg51 hreg52 hmath hctype hstdio hstdlib habsacc h常用有 reg51 hreg52 h 定义特殊功能寄存器和位寄存器 m

11、ath h 定义常用数学运算 与C语言基本相同 加减乘除 位右移位左移 按位与按位或 按位异或按位取反 C 51的运算符 C 51的基本语句 与标准C语言基本相同 if选择语句while循环语句for循环语句switch case多分支选择语句do while循环语句 中断服务程序 函数名 interruptnusingm 函数内部实现 I O口定义 sbitbeep P2 3 单片机主要掌握以下几点 最小系统能够运行起来的必要条件 1 电源2 晶振3 复位电路对单片机任意I O口的随意操作1 输出控制电平高低2 输出检测电平高低 定时器 重点掌握最常用的方式2中断 外部中断 定时器中断 串口

12、中断串口通信 单片机之间 单片机与计算机间 单片机工作的基本时序 机器周期和指令周期 1 振荡周期 也称时钟周期 是指为单片机提供时钟脉冲信号的振荡源的周期 TX实验板上为11 0592MHZ 2 状态周期 每个状态周期为时钟周期的2倍 是振荡周期经二分频后得到的 3 机器周期 一个机器周期包含6个状态周期S1 S6 也就是12个时钟周期 在一个机器周期内 CPU可以完成一个独立的操作 4 指令周期 它是指CPU完成一条操作所需的全部时间 每条指令执行时间都是有一个或几个机器周期组成 MCS 51系统中 有单周期指令 双周期指令和四周期指令 Main函数格式 voidmain 特点 无返回值

13、无参 任何一个C程序有且仅有一个main函数 它是整个程序开始执行的入口 例 voidmain 总程序从这里开始执行 其他语句 六 KEIL的使用 课后练习 对照51单片机学习板原理图写程序 用位操作和总线操作两种方法完成以下题目 1 熟练建立KEIL工程 2 点亮第一个发光管 3 点亮最后一个发光管 4 点亮1 3 5 7 5 点亮二 四 五 六 6 尝试让第一个发光管闪烁 7 尝试设计出流水灯程序 点亮发光二极管 includesbitD1 P3 7 voidmain while 1 D1 1 点亮发光二极管 includesbitD1 P3 7 voidmain while 1 D1 0

14、 发光二极管闪烁 includesbitD1 P3 7 unsignedinta voidmain while 1 a 50000 D1 0 while a a 50000 D1 1 while a 课后练习 第一个发光管以间隔200ms闪烁8个发光管由上至下间隔1s流动 其中每个管亮500ms 灭500ms 亮时蜂鸣器响 灭时关闭蜂鸣器 一直重复下去 8个发光管来回流动 第个管亮100ms 流动时让蜂鸣器发出 滴滴 声 用8个发光管演示出8位二进制数累加过程 8个发光管间隔200ms由上至下 再由下至上 再重复一次 然后全部熄灭再以300ms间隔全部闪烁5次 重复此过程 间隔300ms第一次一个管亮流动一次 第二次两个管亮流动 依次到8个管亮 然后重复整个过程 间隔300ms先奇数亮再偶数亮 循环三次 一个灯上下循环三次 两个分别从两边往中间流动三次 再从中间往两边流动三次 8个全部闪烁3次 关闭发光管 程序停止

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号