基于STC15单片机资料
- 格式:doc
- 大小:105.50 KB
- 文档页数:23
课程设计论文课题:基于STC15单片机的频率计及方波发生器设计目录基于STC15单片机的频率计及方波发生器设计一、设计要求 (2)一)基础部分 (2)二) 发挥部分 (3)二、课程设计的意义与目的 (3)三、方案设计 (4)单片机数字频率计与可调方波发生器程序设计流程图 (4)四、硬件设计原理图: (6)五、硬件设计实物图: (6)六、程序框架: (7)七、功能说明: (7)八、测量: (8)低频测量: (8)高频测量: (8)九、误差分析: (9)第一次误差分析: (9)第二次误差分析: (9)十:实现功能情况表: (10)十一、心得与体会 (11)十二、参考资料 (11)十三、附录: (11)Main主函数: (11)按键扫描函数 (11)数码管显示相关函数: (12)PWM发生器函数: (13)频率计测量功能相关函数: (19)延时函数: (25)基于STC15单片机的频率计及方波发生器设计一、设计要求一)基础部分1. 数字频率计设计要求:1)被测信号为正弦波或方波,频率范围为1Hz~5MHz;2)测量相对误差的绝对值不大于百分之一;3)门限电压2V-5V;4)测量数据刷新时间不大于2s,测量结果稳定。
2. 方波发生器设计要求:1)方波发生器可以分为低频和高频2个端口产生,频率范围1Hz-6MHz;2)通过不同按键实现频率的粗调和微调。
二) 发挥部分1. 频率计范围为大于5MHz;2. 测量相对误差的绝对值不大于千分之一;3. 增加脉冲信号占空比的测量功能。
二、课程设计的意义与目的1.在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
2.在通信技术中,波形的发生和频率的控制是最基本的要求,也是通信技术的基础,因此设计波形的发生与控制器就显得尤为重要。
3.单片机数字频率计与可调方波发生器,具有可靠性高、体积小、价格低、功能全,广泛应用与各种职能仪器中,能使在测量过程的控制中达到自动化,省掉很多繁琐的人工操作,同时也提高了测试精度。
STC单片机最新教材:《51单片机轻松入门—基于STC15W4K系列》购买方式:1、通过作者订购。
QQ群:99794374,个人QQ:347305156,验证信息:STC15教材。
邮箱:*******************书与配套开发板可在淘宝店购买,淘宝店地址:/search.htm?spm=2013.1.w4004-10438077386.1.12Cmv本书特色:1. 内容真实、言语简洁、通俗易懂。
2. 讲解功能强大的最新主流芯片,学会后即可用于产品研发。
3. 配套视频教程可辅助参考。
视频地址:/share/home?uk=4077802723&view=share#category/type=04. 提供作者邮箱答疑、QQ群在线答疑、国内知名网站单片机论坛答疑。
内容简介本书以最新流行的不需要外部晶振与复位电路的可仿真的高速STC15系列单片机为核心,详细介绍了单片机内部功能模块,比如定时器、中断、串口、SPI接口、片内比较器、ADC转换器、可编程计数器阵列(CCP/PCA/PWM)等。
每个重要知识点都有简短精炼的实例作验证,然后就是单片机常用外围接口的介绍与STC15系列单片机的实际产品运用实例分析。
另外对单片机开发必须掌握的C语言基础知识与Keil开发环境也作了较为详细的介绍,对于没有学习过C语言的读者通过本书也能轻松进入以C语言开发单片机的学习状态。
为了快速验证本书的理论知识,作者设计了与本书配套的双核(两个仿真型单片机)实验板,功能强大,操作简单,直观,除用于本书实验测试外,也可用于产品前期开发。
本书可作为普通高校计算机类、电子类、自动控制类、仪器仪表类、机电一体化类等相关专业教学用书,对已有一定设计经验的单片机工程师也有重要参考价值。
目录第1章单片机高效入门 (1)1.1单片机简介 (1)1.1.1 认识单片机 (1)1.1.2 单片机的用途 (2)1.1.3 典型芯片与C语言介绍 (2)1.1.4 本书的配套实验板及相关学习工具介绍 (4)1.2点亮一个发光二极管 (13)1.2.1 单片机型号命名规则 (13)1.2.2 单片机引脚功能说明 (14)1.2.3 制作一个最简单的单片机实验电路 (19)1.2.4 使用KeilμVision3环境编写最简单的程序 (20)1.2.5 ISP下载程序到单片机 (25)1.2.6 程序解释 (27)1.3 Keil仿真 (28)1.3.1 软件仿真 (28)1.3.2 硬件仿真 (34)1.4 经典流水灯实例 (36)1.5 单片机C语言延时程序详解 (39)1.5.3 利用库函数实现短暂精确延时 (46)1.5.4 使用定时器/计数器实现精确延时 (46)1.6 main()、void main()和int main()的区别 (46)1.7 printf格式化输出函数 (47)第2章单片机开发必须掌握的C语言基础 (51)2.1简单数据类型与运算符 (51)2.1.1 原码、反码、补码、BCD码和格雷码 (52)2.1.2 常量 (56)2.1.3 变量的数据类型(bit、char、int、long、float) (56)2.1.4 变量存储空间(code、data、bdata、idata、xdata) (65)2.1.5 变量存储类型(auto、static、extern) (66)2.1.6 变量作用域 (69)2.1.7 运算符 (70)2.1.8 运算符的优先级与结合性 (76)2.2 C51构造数据类型 (78)2.2.1 数组 (78)2.2.2 结构体 (80)2.2.3 共用体 (83)2.2.4 指针 (84)2.2.5 #define与typedef的区别 (88)2.3 流程与控制 (90)2.3.1 分支结构 (90)2.3.2 循环结构 (92)2.3.3 跳转结构 (93)2.4 函数 (95)2.4.1 函数定义 (95)2.4.2 调用格式 (96)2.4.3 传值调用与传地址调用的对比 (96)2.4.4 数组作为函数参数 (97)2.4.5 使用指针变量作为函数形式参数 (98)2.4.6 使用结构体变量指针作为函数参数 (98)2.4.7 函数作用域 (99)2.4.8 库函数 (99)2.5 模块化编程 (100)2.5.1 头文件的编写 (100)2.5.2 条件编译 (100)2.5.3 多文件程序(模块化编程) (101)第3章定时器/计数器、中断系统 (104)3.1 定时器/计数器 (104)3.1.3 定时器/计数器的工作方式 (108)3.1.4 初值计算 (111)3.1.5 编程举例 (112)3.2 可编程时钟输出 (115)3.3 中断系统 (120)3.3.1 中断系统结构图 (120)3.3.2 操作电路图中的开关(相关寄存器介绍) (120)3.3.3 编写中断函数 (124)3.3.4 中断程序举例 (125)3.3.5 外部中断代码调试(按键的防抖技术) (129)第4章串口通信 (131)4.1最基本的串口通信 (131)4.1.1串口数据发送格式 (132)4.1.2串口相关寄存器 (133)4.1.3 波特率计算步骤 (138)4.1.4 单片机与计算机通信的简单例子 (140)4.2 彻底理解串口通信协议 (144)4.3 串口隔离电路 (149)4.4 计算机扩展串口(USB转串口芯片CH340G) (151)4.5 RS485串行通信 (155)4.6 SSI通信 (158)4.6.1 SSI数据通信格式 (158)4.6.2 SSI硬件电路 (159)4.6.3 SSI软件实现 (160)4.7 数据通信中的错误校验 (162)4.7.1校验和(CheckSum)与重要的串口通信实例 (163)4.7.2 CRC校验 (166)4.8 单片机向计算机发送多种格式的数据 (170)第5章 SPI通信 (175)5.1 SPI总线数据传输格式 (175)5.1.1 接口定义 (175)5.1.2 传输格式 (176)5.2 SPI接口相关寄存器 (177)5.2.1 SPI相关的特殊功能寄存器 (177)5.2.2 SPI接口引脚切换 (181)5.3 SPI接口运用举例 (181)第6章 I2C通信 (191)6.1 I2C总线数据传输格式 (191)6.1.1 各位传输要求 (191)6.1.2 多字节传输格式 (194)6.2.2 硬件仿真观察24C32/64读/写结果(R/C时钟:22.118 4 MHz) (204)6.3 24C02运用实例(断电瞬间存储整数或浮点数) (207)第7章单片机内部比较器与DataFlash存储器 (214)7.1 STC15W系列单片机内部比较器 (214)7.1.1比较器结构图 (214)7.1.2寄存器说明 (214)7.1.3电路讲解与程序实例 (216)7.2 DataFlash存储器 (217)7.2.1与DataFlash操作有关的寄存器介绍 (218)7.2.2 DataFlash操作实例(断电瞬间存储数据) (220)第8章可编程计数阵列CCP/PCA/PWM模块(可用作DAC) (226)8.1 PCA模块总体结构图 (226)8.2 PCA模块的特殊功能寄存器 (227)8.3 PCA模块的工作模式与应用举例 (230)第9章模/数转换器ADC (241)9.1 ADC的主要技术指标 (241)9.2 使用单片机内部的10位ADC (243)9.2.1与ADC相关的特殊功能寄存器 (243)9.2.2 实例代码 (245)9.3 12位ADC转换芯片MCP3202B (247)9.4 单通道16位ADC转换芯片ADS1110A0 (253)9.5 单通道18位ADC转换芯片MCP3421A0TE/CH (253)第10章数/模转换器DAC (258)10.1 TLC5615数/模转换电路与基本测试程序 (258)10.2 TLC5615产生锯齿波、正弦波、三角波 (261)10.3 TLC5615的高级运用(播放歌曲) (265)第11章单片机实用小知识 (269)11.1复位 (269)11.1.1 外部RST引脚复位 (269)11.1.2 软件复位 (270)11.1.3 内部低压检测复位 (270)11.1.4看门狗定时器复位 (271)11.2 单片机的低功耗设计 (272)11.2.1相关寄存器说明 (272)11.2.2 应用举例 (275)11.3 单片机扩展32 KB外部数据存储器62C256 (276)11.3.1 电路讲解 (277)11.3.2 软件测试实例 (278)第12章常用单片机接口程序 (281)12.3 独立键盘 (289)12.4 矩阵键盘 (297)第13章 1602液晶 (305)13.1 1602液晶外形与电路图 (305)13.2 1602液晶应用举例 (306)13.3 1602液晶显示汉字与特殊符号 (310)第14 章精密电压表/电流表/通用显示器/计数器制作 (313)14.1功能说明与电路原理分析 (313)14.2 程序实例 (316)14.2.1 通用显示器功能检测程序(外部程序) (316)14.2.2 计数器功能检测程序(外部程序) (317)14.2.3 模块程序 (317)第15章步进电机测试 (322)15.1 步进电机的特点 (322)15.2 步进电机的3种励磁方式 (323)15.3 步进电机驱动电路 (324)15.4 步进电机驱动实例 (325)15.5 步进电机专用驱动器介绍 (327)第16章频率检测 (329)16.1 频率检测的用途与频率定义 (329)16.2 频率检测实例 (330)第17章 DS1302时钟芯片 (335)17.1 DS1302的SPI数据通信格式 (335)17.2 程序实例 (337)第18章红外通信 (341)18.1 红外通信电路与基本原理 (341)18.2 红外接收软件实例 (344)第19章单总线DS18B20通信(长距离无线通信) (350)19.1DS18B20运用基础 (350)19.1.1 单只DS18B20的温度检测电路 (350)19.1.2 DS18B20的通信时序 (350)19.1.3 DS18B20内部功能部件ROM、RAM和指令集 (353)19.1.4 读取温度步骤 (355)19.2 单只DS18B20的温度检测 (356)19.3 多只DS18B20的温度检测 (361)19.3.1 读取传感器代码 (361)19.3.2 读取传感器温度 (362)第20章 SD卡与znFAT文件系统 (366)20.1认识SD卡与SD卡驱动程序 (366)20.1.3 通信时序与完整驱动程序说明 (368)20.2 znFAT文件系统 (377)20.2.1 znFAT的移植方法 (377)20.2.2znFAT移植实例 (381)第21章 MP3播放器实验 (383)21.1 MP3的介绍与电路讲解 (383)21.1.1 VS1003B引脚说明 (384)21.1.2 VS1003寄存器 (385)21.2 正弦测试 (387)21.3 通过SD卡播放MP3文件 (390)第22 章数字存储示波器技巧与逻辑分析仪的操作 (394)22.1 测量直流电源开关机瞬间输出的毛刺浪涌 (394)22.2 测量稍纵即逝的红外发射信号 (398)22.3 精确测量直流电源纹波 (400)22.4 示波器带宽选用依据 (402)22.5 逻辑分析仪快速入门 (403)附录ASCII码表 (406)参考文献 (408)。
STC宏晶杯单片机设计大赛基于STC15单片机的智能加湿器设计目录摘要 (I)1 绪论 (1)1.1 选题背景和意义 (1)1.2 发展现状及前景 (1)1.3 设计任务 (2)2 系统硬件设计 (3)2.1 总体设计 (3)2.2 单片机模块 (4)2.2.1 单片机介绍 (4)2.2.2 单片机的特点 (5)2.2.3 单片机最小系统 (6)2.3 传感器模块 (8)2.3.1 温湿度传感器选择方案 (8)2.3.2 DHT11数字温湿度传感器 (9)2.3.3 传感器电路 (12)2.4 液晶显示模块 (13)2.4.1 显示器的设计方案 (13)2.4.2 1602字符型液晶显示屏 (13)2.4.3 1602LCD电路 (16)2.5 报警电路模块 (16)2.6 按键模块 (17)2.6.1 输入设计方案 (17)2.6.2 按键电路 (18)2.7 系统电路工作原理 (19)3 系统软件设计 (20)3.1 主程序设计 (20)3.2 温湿度检测控制模块设计 (21)3.3 液晶显示模块设计 (22)4 系统调试与分析 (23)4.1 软件调试 (23)4.2 程序调试 (25)4.2.1 KEIL软件简介 (25)4.2.2 调试过程 (25)4.3 调试分析 (26)总结 (28)基于单片机的智能加湿器设计摘要目前在我们的日常生活中,加湿器被应用到很多领域,可是市场上大多数的加湿器都需要通过手动来控制加湿器的开启和关闭,而且不能对空气中的的温湿度进行实时且精确的监测,使得人们在使用加湿器的过程中出现一些意想不到的问题,如对空气过度加湿,过多的空气湿度就会对人体健康造成负面影响;加湿器工作时出现干烧的情况还会给我们带来安全隐患。
因此在现有加湿器的基础上开发出一种具有智能控制功能的加湿器显得尤其必要。
本次设计以STC15W4K58S4单片机与温湿度传感器为系统的设计核心,运用温湿度传感器DHT11对空气中的温湿度信号进行采集,并利用它处理信号的功能,将采集到的温湿度信号转换成数字信号,再通过单片机的可编程能力对该数字信号进行分析与处理,将处理后的数据通过1602液晶显示屏显示出来,实现对空气中的相对湿度的实时显示功能,同时单片机也能够智能控制加湿器的工作状态,以达到自动控制加湿器的目的。
质量管理工程专业《微机原理及其应用》课内实验指导书袁月峰编中国计量大学质量与安全工程学院2016.11目录第一章单片机开发板和软件编程环境简介 (2)1.1STC15W4K单片机开发板简介 (2)1.2 KeilC51 开发环境的使用简介 (4)实验一仿真器基础(验证性) (10)实验二字符转换(验证性) (12)实验三LED亮灯实验(验证性) (13)实验四键盘和数码管(设计性) (14)实验五串口异步通信(验证性) (15)实验六汽车转弯灯(设计性) (16)实验七LCD时钟显示(设计性) (17)实验八AD转换和显示(验证性) (18)实验九脉宽调制应用(验证性) (19)第一章单片机开发板和软件编程环境简介1.1STC15W4K单片机开发板简介本实验指导书配套使用的51单片机开发板是基于深圳STC宏晶科技有限公司()具有自主知识产权的STC51系列单片机STC15W4K48S4为核心的自行设计加工的单片机教学开发板。
设计理念是既要能符合课程实验教学需要,也能满足一定程度相关的课外科技实践活动和课程设计应用需求。
单片机开发板实物图片如下:5线2相混合式步进电机接口STC15W4K48S4单片机标准232串口有源/无源蜂鸣器接口USB下载和供电口辅助外部电源切换开关PWM转DAC输出DS18B20数字温度传感器接口H1838红外开关接口10K电位器内部ADC测试个独立式按键跑马灯/流水灯LCD1602扩展口LCD128X64扩展口0.96寸OLED屏扩展接口4位共阳数码管10K热敏电阻5V供电输出口IO输出扩展排针图1-1 STC15W4K48S4单片机开发板STC15W4K48S4是STC公司一款功能比较完备,FLASH容量较大,适宜课程教学及一般应用开发的增强型51兼容单片机。
其主要特性如下:供电范围:2.5-5.5V,片内48KB FLASH程序存储器,4KB 静态数据存储器SRAM,5个通用定时/计数器T/C,一路SPI串行扩展口,6路PWM(脉宽调制输出)和2路CCP(捕获和输出比较),片内8路10位高速ADC采样转换通道等资源,支持USB直接程序下载。
湖南科技大学信息与电气工程学院《单片机课程设计报告》题目:基于STCSTC15F2K60S2单片机的串口通讯专业:自动化班级:一班姓名:罗永恒学号: 1209010303指导教师:范小春2015年 6月 30日单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
本文将具体介绍单片机与PC机进行串口通信的实现方法和编程方法,并且在最后给出一个实用的单片机与计算机通过串口通信的程序。
关键词:单片机串口通信第一章 STCSTC15F2K60S2的简介 (1)1.1 STCSTC15F2K60S2的内部结构框图 (1)1.2 STC15F2K60S的DIP封装图 (1)1.3 STC15F2K60S的各引脚简介 (2)第二章单片机通过USB与PC机的通信设计 (4)2.1设计方案选择 (4)2.1.1 PC机同单片机通信存在的问题 (4)2.1.2 USB接口同RS-232(DB-9)串口的比较 (4)2.1.3 USB转接芯片的选择 (4)2.2 通信功能要求 (5)第三章硬件电路图的设计 (5)3.1单片机最小系统 (5)3.2 USB与单片机连接主电路 (6)3.3 总电路图 (6)3.4 PCB图 (6)第四章程序设计 (7)4.1 串口初始化 (7)4.2 主程序 (7)4.3 中断服务程序 (8)4.4 总程序 (8)第五章总结与体会 (10)第六章参考文献 (11)第一章 STCSTC15F2K60S2的简介1.1 STCSTC15F2K60S2的内部结构框图1.2 STC15F2K60S的DIP封装图1.3 STC15F2K60S 的各引脚简介(1)电源引脚Vcc :一般接电源的+5V 。
STC15F2K60S2系列单片机总体介绍1.STC15F2K60S2系列单片机简介STC15F2K60S2系列单片机是STC 生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,�������代��技术,����,指�代�����������代��技术,����,指�代����指�代����容传统8051,但速度快8-12倍。
����高�度����高�度R/C 时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP 编程时5MHz~35MHz 宽范围可设置,可彻底省掉外�昂贵的晶振和外�复位电路(��已��高可靠复位电路,ISP 编程时8级复位门槛电压可选)。
3路CCP/PWM/PCA ,8路高速10位A/D 转换(30万次/秒),�置2K 字节大容量SRAM ,2组超高速异步串行通信端口(UART1/UART2,可在5组管脚之间进行切换,分时复�可作5组串口使�),1组高速同步串行通信端口SPI ,���串行口通信���串行口通信�串行口通信/电机控制/强干扰场合。
在 Ke�lC Ke�l C 开发环境中,选择 Intel 8052 编译,头文件包含<reg51.h>即可现STC15系列单片机��STC-Y5超高速CPU �核,在相同的时钟频率下,速度又比STC 早期的1T 系列单片机(如STC12系列/STC11系列/STC10系列)的速度快20%.1.增强型 8051 CPU ,1T ,单时钟/机器周期,速度比普通8051快8-12倍2.工作电压:STC15F2K60S2 系列工作电压:5.5V - 4.5V (5V 单片机)STC15L2K60S2 系列工作电压:3.6V - 2.4V (3V 单片机)3.8K/16K/24K/32K/40K/48K/56K/60K/61K/63.5K 字节片�Flash 程序存储器,可擦写次数10万次以上4.片�大容量�大容量2048字节的的SRAM ,包括常规的256字节RAM <�data> 和��扩展的1792字节XRAM <xdata>5.大容量片�EEPROM ,擦写次数10万次以上6.ISP/IAP ,在系统可编程/在应�可编程,�需编程器,�需仿真器7.共8通道10位高速ADC ,速度可达30万次/秒,3路PWM 还可当3路D/A 使�8.共3通道捕获/比较单元(CCP/PWM/PCA)----也可�来再实现3个定时器或3个外�中断(支持上升沿/下降沿中断)或3路D/A9.利�CCP/PCA高速脉冲输出功能可实现3路9 ~ 16位PWM (每通道占�系统时间小于0.6%)10.利�定时器T0、T1或T2的时钟输出功能可实现高�度的8 ~ 16位PWM (占�系统时间小于0.4%)11.��高可靠复位,ISP编程时8级复位门槛电压可选,可彻底省掉外�复位电路12.工作频率范围:0MHz ~ 28MHz,相当于普通8051的0MHz~336MHz13.��高�度R/C时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP编程时��时钟从5MHz~28MHz可设(5.5296MHz / 11.0592MHz / 22.1184MHz)14.不需外�晶振和外�复位,还可�外输出时钟和低电平复位信号15.两组超高速异步串行通信端口(可同时使�),可在5组管脚之间进行切换,分时复�可当5组串口使�:串口1(RxD/P3.0, TxD/P3.1)可以切换到(RxD_2/P3.6, TxD_2/P3.7),还可以切换到(RxD_3/P1.6, TxD_3/P1.7);串口2(RxD2/P1.0, TxD2/P1.1)可以切换到(RxD2_2/P4.6, TxD2_2/P4.7)注意:建议�户将串口1放在 P3.6/P3.7 或 P1.6/ P1.7 (P3.0/P3.1 作下载/仿真�);若�户不想切换,坚持使� P3.0/P3.1 或作为串口1进行通信,则务必在下载程序时,在软件上勾选“下次冷启动时,P3.2/P3.3为0/0时才可以下载程序”。
信息与电气工程学院《单片机课程设计报告》题目:数字电压表专业:班级:姓名:学号:指导教师:单片机原理与应用课程设计评阅书信息与电气工程学院课程设计任务书2014-2015学年第 2学期专业:学号:姓名:课程设计名称:单片机原理与应用课程设计设计题目:数字电压表完成期限:自 2015 年 6 月 9 日至 2015 年 6 月 19 日共 2 周设计依据、要求及主要内容(可另加附页):数字电压表设计用STC15F2K60S2单片机和ADC0809构成数字电压表,测量0-5v的电压,将所测电压用4位数码管动态显示出来。
设计要求数字电压表设计原理利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后讲测试结果以数字形式显示出来。
在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。
本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC0808、LED四位数码管为主体功能:简易数字电压表可以测量0—5V范围内的电压输入值,并在4位LED数码管上轮流显示。
主要器件:单片机、AD转换器、LED数码显示器指导教师(签字):批准日期:年月日摘要:本文介绍的是数字电压表的发展背景和利用AVR单片机的A/D转换功能设计一个直流数字电压表。
它的具体功能是:最高量程为5V;可以通过按键设定极限电压值,并将极限电压值保存在EEPROM数据存储器,具有断电保护功能;可以显示当前电压值和极限设定值;具有预报警示功能,当被测电压值大于设定值时,指示灯亮。
关键字: ATmega16,数字电压表,A/D,EEPROM数据存储器关键词:STC15F2K60S2单片机数字电压表 LED数码管 keil C51 stc-isp1课程设计目的通过《单片微机原理与接口技术》这门课的课程设计,学生应该能对STC15单片机有一个全面的认识,掌握以STC15单片机为核心的电子电路设计方法和应用技术。
1.进一步掌握8位数码管显示电路的编程方法。
单片机原理复习要点考试题型:填空题、选择题、判断题(共计45分左右)程序分析题、简答题(主第二章)、编程题(共计55分左右)前言:经过大家的奋战,单片机的复习资料出炉了感谢所有为本资料无私奉献的小伙伴们如果资料有错误,请自行修改。
第一章1>.微型计算机:微处理器,存储器(ROM RAM)与输入输出接口(I/O接口)及连接他们的总线组成。
2>.存储器的两个重要的指标是容量与速度。
3>.已知一个存储器有12根数据总线,则该存储器的容量为4KB。
(算法:212=22*210=4K)4>.已知某单片机有16根地址总线,则该单片机的寻址范围为:0-64KB。
5>.微机的总线结构是:三总线结构,而单片机的总线结构是:单总线结构。
6>.总线分为地址总线、数据总线、控制总线、其中地址总线的I/O口是P0口和P2口,数据总线的I/O口是P0 口。
第二章(看完要有印象)1>.关于STC15F2K60S2系列单片机的功能叙述:①.有8通道10位ADC转换。
②.两个全双工异步串行口。
③.三个定时器T0 T1 T2。
(其中T0有4种工作方式,T1有3种工作方式,T2有1种工作方式。
但是T1和T2可以作为波特率发生器)④.增强型8051 CPU,每个机器周期只有一个系统时钟,时钟频率分为12分频或不分频。
2>.关于STC15F2K60S2的引脚(有印象就行)➢数据总线:P0口➢访问外部存储器时地址总线:P0口(低8位);P2口(高8位)➢外部中断入口:P3.2(外部中断0);P3.3(外部中断1) P3.6(外部中断2);P3.7(外部中断3);P3.0(外部中断4)➢定时器脉冲输入:P3.4(T0脉冲输入);P3.5(T1脉冲输入);P3.1(T2脉冲输入)➢控制引脚:①地址锁存信号线(ALE):P4.5②外部存储器读操作(R__D__):P4.4③外部存储器写操作(W__R__):P4.23>.单片机的中央处理器是由运算器和控制器组成。
4>.STC15单片机的储存结构。
(要有印象)❖0000H—EFFFH:程序Flash0000H—3FFFH:数据Flash00H—7FH:低128字节基本RAM80H—FFH:高128字节基本RAM❖片内基本RAM分为低128字节RAM、高128字节的RAM的特殊功能寄存器(SFR)❖其中低128字节又分为工作寄存器区,位寻址区。
与通用RAM 区。
工作寄存器区的功能由RS0与RS1决定。
❖位寻址区:片内的基本RAM的20H----2FH共16个字节是位寻址区,每个字节8个位,共128位,其对应的地址分别为00H-----7EH.位地址还可以用字节地址加位号表示,如20H的单位的B5位,其地址可用05H 表示,也可用20.5H表示。
❖通用RAM区;30H-----7FH共80个字节。
其中高128字节的RAM 的地址为80H----FFH .高128字节的RAM只能采用寄存器间接寻址方式访问;特殊功能寄存器只能采用直接寻址方式。
第四章1>.指令寻址方式:(要了解)a.直接寻址:直接累加器或寄存器访问目标。
比如:MOV A,20Hb.寄存器间接寻址:将地址赋给一个寄存器,然后利用该寄存器的内容作为地址,让累加器或寄存器访问。
比如:MOV R0,#30HMOV A,@ROc.立即寻址:将立即数赋给累加器或寄存器。
d.寄存器寻址:寄存器间的数据传送,或者自加自减。
e.变址寻址:一个地址加另一个地址中的数据送到累加器或者寄存器。
比如:MOV A,@A+DPTR2>.指令表(必须记住,提供英文全称辅助记忆)MOV A,B 赋值(传送)(Move)MOVX A,B (片外)赋值MOVC A,B (存储器)赋值(Move Code)XCH A,B (寄存器间)交换(Exchange)XCHD A,B (寄存器间低4位)交换SWAP A (自己的低4位与高4位)交换PUSH A 入栈操作POP A 出栈操作ADD/ADDC A,B 加法/带进位的加法(Addition)SUBB A,B 减法(Subtraction)MUL AB 乘法(Multiplication)DIV AB 除法(Division)INC A 自加(Increment)DEC A 自减(Decrement)ANL A,B 逻辑与(And Logic)ORL A,B 逻辑或(Or Logic)XRL A,B 逻辑异或(Exclusive Or Logic)CLR A 清零(Clear)CPL A 取反(Converse Position Logical)RL A 循环左移(Rotate Left)RLC A 循环左移加CY(Rotate Left with CY)RR A 循环右移(Rotate Right)RRC A 循环右移加CY(Rotate Right with CY)AJMP addr 短转移(绝对转移)(Absolute Jump)LJMP addr 长转移(Long Jump)SJMP addr 相对转移(Short Jump)NOP 空操作(Not Operation)JZ addr 为0转移(Jump if Zero)JNZ addr 非0转移(Jump if Not Zero)CJNE A,B,addr 比较不等转移(Compare Jump if Not Equal)DJNZ A,addr 减1非0转移(Decrement Jump if Not Zero)LCALL addr 子程序长调用(Long Call)ACALL addr 子程序绝对调用(Absolute Call)RET 子程序返回(Return)RETI 中断返回( Return from Interruptio n)还有其他剩余指令,自己稍微了解一下就行。
(备注:A,B为源操作数和目的操作数,addr为地址或程序标志)。
第五章(要学会应用)❖伪指令:ORG❖作用:设定程序起始地址指令第六章(整合到大题中考)第七章(建议记住)1>.引起中断的根源或者原因称为中断源,STC15中,中断源共有14个。
2>.CPU在处理较低优先级的中断服务子程序时,有更高优先级程序申请中断,使CPU转而执行更高优先级的中断服务子程序称为中断嵌套。
3>.中断标志清零的方式有软件清零和硬件清零。
4>.响应中断的条件:中断总开关EA以及相应中断的控制位都开放中断,并且中断源的信号满足中断要求。
5>.中断方式跳转与调用方式跳转的区别?答:中断方式跳转需要事先设置中断服务程序的入口地址,并且需要设置相应的中断控制位,开放相应的中断。
在设置好相关的程序后还需要需要等待中断。
中断产生后,需要在中断服务子程序中设置入栈操作,用来保护断点。
中断服务执行后,程序会自动返回断点处。
调用方式跳转则不需要设置中断服务入口地址,只需要查询相关中断申请标志位,若有申请就发生跳转。
在执行调用子程序中,系统会自动对断点进行保护,不需要设置入栈操作。
返回时,需要在调用子程序中设置跳转指令,跳转回断点。
(本题较长,建议结合自己的观点精简答案。
)6>.中断服务程序入口地址:(如果擅长用中断方式编程的童鞋必须记住,擅长调用方式编程就不重要了。
)外部中断0 0003H定时器/计数器T0中断 000BH外部中断1 0013H定时器/计数器T1中断 001BH串行口中断 0023HA/D转换中断 002BHLVD中断 0033HPCA中断 003BH串行口2中断 0043HSPI中断 004BH外部中断2 0053H外部中断3 005BH定时器T2中断 0063H预留中断 006BH、0073H、007BH外部中断4 0083H第八章◆定时器初始化工作:(要了解如何操作)1)对TMOD赋值,以确定T0和T1的工作方式。
2)对AUXR赋值,确定定时脉冲的分频系数,默认为12分频,与传统8051单片机兼容。
3)计算初值,并将其写入TH0、TL0或TH1、TL1。
4)为中断方式时,则对IE赋值,开放中断,必要时,还需要对IP操作,确定各个中断源的优先级。
5)置位TR0或TR1,启动T0和T1开始计时或者计数。
◆T0、T1工作方式:(建议记住)M1 M0 工作方式功能0 0 方式0 16位自动重装初值0 1 方式1 16位不自动重载初值1 0 方式2 8位自动重载初值1 1 方式3 两个8位(仅限T0)第九章1>.并行通信和串行通信的区别是什么?有哪些优缺点?答:并行通信是将数据字节的各位用多条数据同时进行传送。
优点是控制简单,传送速度快。
缺点是由于传输线较多,长距离传送成本较高,因此仅适用于短距离传送。
串行通信是将数据字节分为一位一位的形式在一条传输线上逐个地传送。
优点是传输线少,长距离传送成本很低。
缺点是传输速度慢,因此适用于长距离传输。
2>.同步通信和异步通信的区别是什么?有哪些优缺点?答:异步通信的数据通常是以字符(或字节)为单位组成字符帧传送的。
优点是不需要传送同步时钟,字符帧长度不受限制,故而设备简单。
缺点是字符帧中因为包含起始位和停止位而降低了有效数据的传输速率。
同步通信是一种连续串行传送数据的通信方式,一次通信传输一组数据(包含若干个字符数据)。
优点是数据传输速率较高,通常可达 56000 bit/s或更高。
缺点是要求发送时钟和接收时钟必须保持严格同步,硬件电路也很复杂。
3>.多机通信选择第十章(要记住会运用啊!)1>.选择A/D模块的重要的指标是:转换精度和转换速度。
2>.A/D模块编程过程:①打开ADC电源(设置ADC_CONTR中的ADC_POWER)。
②适当延时,等ADC内部模拟电源稳定。
一般延时1 ms即可。
③设置P1口中的相应口线作为AD转换模拟量输入通道(设置P1ASF寄存器)。
④选择ADC通道(设置ADC_CONTR中的CHS2-CHS0)。
⑤根据需要设置转换结果存储格式(设置CLK_DIV中的ADRJ)。
⑥查询A/D转换结果标志ADC_FLAG,判断A/D转换是否完成,若完成,则读出A/D转换结果(保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。
如果是多通道模拟量进行转换,则更换A/D 转换通道后要适当延时,使输入电压稳定,延时量取20-200μs即可(与输入电压源的内阻有关),如果输入电压源的内阻在10KΩ以下,可不加延时。
⑦若采用中断方式,还需要进行中断设置(中断允许和中断优先级)。
⑧在中断服务程序中读取A/D转换结果,并将ADC中断请求标志ADC_FLAG清零。
3>.A/D转换速度:4>.A/D模拟通道选择:❖附加重点:➢特殊功能寄存器(从上到下依次对应寄存器的高位到低位)1、程序状态标志寄存器PSWCY:进位标志。