单片机原理及应用课件.docx
《单片机原理及应用课件.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课件.docx(21页珍藏版)》请在冰豆网上搜索。
单片机原理及应用课件
单片机原理及应用
机电信息学院吴茂
电话:
了解单片机
生活中哪里有单片机,他们有什么作用?
如何学习单片机
1、首先要培养学习单片机的兴趣。
如何培养兴趣?
2、要有工具(实验装置介绍)
单片机开发的全过程
一、
1、接受任务(可以是自定的、别人给定的)
2、总体规划系统(功能、外形、结构等)
3、硬件设计(线路板的设计、元件的安装)
4、软件设计(本课程主要解决的问题)
1、编辑程序
2、编译(检查语法错误,如有错误返回第一步)
3、试验运行(检查逻辑错误,如有错误返回第一步)
这是程序开发的主要工作,通常有以下几种手段:
A、软件仿真(仅适用于没有对硬件操作的系统)
B、仿镇器(最方便,但成本贵)
C、下载线(底成本,仅有部分CPU有此功能)
D、使用编程器直接将程序写到CPU(每次要插拔
CPU,太麻烦)
4、调试完毕,用编程器将程序写到CPU。
5、成品。
实验装置介绍:
根据我校学生对单片机课程学习的需求,我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
原理图
开发板图
实验装置可以完成的主要硬件实验:
1、P1口亮灯实验(输出流水灯实验)
2、P1口亮灯实验(输出交通灯实验)
3、简单I/O口扩展实验
4、键盘实验
5、遥控解码实验
6、计数器实验
7、继电器控制实验
8、定时器实验
9、AT24C02读写实验
10、93C46读写实验
11、八段数码管显示实验
12、电子时钟
13、LCD12864点阵型液晶控制显示实验
14、LCD1602字符型液晶控制显示实验
15、工业顺序控制
16、A/D转换器实验(数字电压表)
17、D/A转换器实验(波形发生器)
18、计算机温度数据采集与处理
19、外部中断实验(急救车与交通灯)
20、单片机串行口通讯实验
软件实验一 伟福软件的使用
一、实验目的
1、了解并熟悉伟福软件wave6000的使用
2、学会在伟福软件环境下编写、修改、调试、和运行程序
二、实验说明
1、福软件集成了编辑器、编译器、调试器,源程序编辑、编译、下载、调试全部可以在一个环境下完成。
且伟福的多种仿真器,及所支持各种CPU仿真全部集成在一个环境下。
可仿真MCS51系列,MCS196系列等等。
2、福软件支持多语言多模块混合调试,支持ASM(汇编)、PLM、C语言多模块混合源程序调试,在线直接修改、编译、调试源程序。
如果源程序有错,可直接定位错误所在行。
三、实验内容及步骤
1伟福软件的下载和安装
伟福软件的最新版本可以从伟福公司的网站上下载,其网址为。
本实验以WAVE6000版本为使用软件,其它实验亦如此。
在安装过程中,如果用户没有指定安装目录,安装完成后,会在C:
盘建立一个C:
\WAVE6000目录,
2建立新程序
•选择菜单[文件|关闭项目];
•选择菜单[文件|新建文件],或点新建文件按钮
•编辑程序,如下图
3保存程序
•选择菜单[文件|保存文件]或点保存文件按钮,默认的文件保存位置为C:
\WAVE6000\SAMPLES,再给出文件名,例如MY1.ASM。
•注意:
汇编源程序的文件名扩展名必须是ASM。
4仿真器设置
•选择菜单[设置|仿真器设置],对开对话框。
伟福软件有两种工作方式:
硬件仿真和软件仿真。
本实验只使用软件部分,故使用软件仿真工作方式。
具体设置如下图所示。
5编译程序
•选择菜单[项目|编译]或按编译按钮,进行编译。
如果程序完全正确,编译成功,就会生成目标文件MY1.ASM,如下图所示。
如果在编译过程中出现有错,可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
6执行程序
•选择[执行|跟踪]或按跟踪按钮进行单步跟踪调试程序。
•单步跟踪就是一条一条地执行指令,若有子程序调用,也会跟踪到子程序中去。
可以观察到程序每步执行的结果,“→”所指的就是下次将要执行的程序指令。
“O”代表此行为可执行指令
•也可以选择全速执行,所有指令一次性全执行完。
程序运行的结果可以在全类窗口中观看到。
四、实验报告要求
•1、实验目的
•2、写清调试相关程序的过程和步骤,并详细说明结果的正确性
•3、总结实验中需要注意的地方和伟福软件使用说明
软件实验二清零程序
一实验目的:
1、掌握仿真器设置、程序编译和调试的方法,了解各仿真窗口的含义和用途,为后续单片机实验打下应用基础。
2、通过本实验,学生应比较了解单片机仿真实验系统程序编辑、编译、调试、运行的流程和方法。
二实验内容:
1、掌握微机仿真单片机开发系统的操作方法。
2、把20-2FH的内容清零。
三实验步骤:
1、进入软件界面,从开始菜单(或者桌面)双击WAVE图标。
2、伟福软件设置
1、语言:
编译器选择:
选中伟福汇编器
2、在仿真器一栏中选中lab2000
3、在仿真器一栏中选中MCS-51
4、在cpu一栏中选中8031/8032
3、新建文件
使用文件菜单新建一个文件,此文件为程序的内容记录。
如:
org00h
ljmpstar
org30h
star:
movr0,#20h
mova,#00h
movb,#16
lop1:
mov@r0,a
incr0
djnzb,lop1
sjmp$
end
程序录入完毕后保存文件,或另存为。
如:
文件→另存为→my.asm
4、新建及保存项目
文件→新建项目→my.asm→打开→加入包含文件→取消→保存项目→my→保存
5、修改程序或运行
在项目窗口中双击my.asm将出现汇编程序内容,可修改。
运行程序前必须先编译,然后再执行(全速、跟踪、单步)
四、实验框图
五、实验报告要求。
1、在实验报告上填写实验项目、实验目的、实验日期,指导老师等项目。
。
2、单步运行程序,填写下表内容。
程序语句
运行前寄存器值
理论分析值
实际运行结果值
Org00h
Ljmpstar
Org30h
Star:
movr0,#20h
Mova,#00h
Movb,#16
Lop1:
mov@r0,a
Incr0
Djnzb,lop1
Sjmp$
写出20-2F中执行程序前后的内容变化,说明是否实现实验内容要求。
软件实验三 拆字程序
一、实验目的
学习汇编语言程序设计方法。
学习和熟练使用汇编指令。
学习伟福编译系统调试运行汇编程序的方法。
二、实验内容
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000~2002H中内容变化情况。
五、实验程序
org00h
ljmpstar
org30h
star:
mova,20h
swapa
anla,#0fh
mov21h,a
mova,20h
anla,#0fh
mov22h,a
sjmp$
end
六、思考
1如何用断点方式调试本程序。
2运行程序前分析程序及变量值,上机对照分析结果是否一致,不一致找出原因。
实验软件四 拼字程序
一、实验目的
学习汇编语言程序设计方法。
学习和熟练使用汇编指令。
学习伟福编译系统调试运行汇编程序的方法。
二、实验内容
把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
三、实验框图
四、实验步骤
单步或用断点方式运行程序,检查2002H内容变化情况。
五、实验程序
org00h
ljmpstar
org30h
star:
mova,20h
anla,#0fh
swapa
movb,a
mov21h,a
anla,#0fh
orla,b
mov22h,a
sjmp$
end
软件实验五 数据区传送子程序
一、实验目的
学习汇编语言程序设计方法。
学习和熟练使用汇编指令。
学习伟福编译系统调试运行汇编程序的方法。
学习单片机内部RAM的编程及使用。
二、实验内容
把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序框图
四、实验步骤
在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如1FFFH),运行程序,检查0000~1FFFH中内容是否和2000~3FFFH中内容完全一致。
五、实验程序
org00h
ljmpstart
org30h
start:
nop
movr2,#20h
movr3,#10h
movr4,#40h
lop1:
mova,r2
movr0,a
mova,r4
movr1,a
mova,@r0
mov@r1,a
incr2
incr4
djnzr3,lop1
sjmp$
end
实验六 查找相同数个数
一、实验目的
学习汇编语言程序设计方法。
学习和熟练使用汇编指令。
学习伟福编译系统调试运行汇编程序的方法。
学习单片机外部RAM的编程及使用。
二、实验内容
在2000~200FH中查出有几个字节是零,把个数放在2100H中。
三、程序框图
四、实验步骤
在2000~200FH的几个单元中填入零,运行本程序后检查2100H中是几个单元数。
五实验程序
ORG00H
LJMPMAIN
ORG30H
MAIN:
MOVR0,#20H
MOVB,#10H
MOV30H,#00H
LOP1:
MOVA,@R0
CJNEA,#00H,LOP2
INC30H
LOP2:
INCR0
DJNZB,LOP1
SJMP$
END
硬件实验一P1口亮灯实验
(输出流水灯实验)
一、验目的
1、学习P1口的使用方法。
2、学习延时子程序的编写和使用。
二、实验内容:
1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
三、程序框图
四、实验步骤
1、编写编译程序,下载运行,检验运行结果
五、思考
六、实验报告要求
1、在实验报告纸上填写实验项目,实验日期,指导老师等项目,抄写实验目的,实验内容,画出实验框图,写出实验程序。
硬件实验二P1口亮灯实验
(输出交通灯实验)
一、验目的
1、学习P1口的使用方法。
2、学习延时子程序的编写和使用。
二、实验内容:
1、编写程序,使连接在P1口的LED发光二极管按交通灯的逻辑顺序显示。
三、程序框图
四、实验步骤
1、编写编译程序,下载运行,检验运行结果
五、思考
六、实验报告要求
1、在实验报告纸上填写实验项目,实验日期,指导老师等项目,抄写实验目的,实验内容,画出实验框图,写出实验程序。
硬件实验三简单I/O口扩展实验
一、实验目的
1、学习仿真软件PROTEUS的使用。
2、学习使用串行数据转并行数据芯片74HC595的方法及编程技术。
二、实验内容
1、使用PROTEUS设计一个包括一个CPU及1片74HC595的串口转并口电路。
2、编程使连接在74HC595上的LED实现流水灯功能。
三、实验电路
四、实验步骤
1、编写编译程序,下载运行,检验运行结果
五、思考
74HC595相关资料
74HC595
1、描述74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。
三态。
2、特点:
8位串行输入/8位串行或并行输出存储状态寄存器,三种状态
输出寄存器可以直接清除100MHz的移位频率
3、输出能力:
并行输出,总线驱动;串行输出;标准中等规模集成电路
595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
4、参考数据:
CPD决定动态的能耗,
PD=CPD×VCC×f1+∑(CL×VCC2×f0)
F1=输入频率,CL=输出电容f0=输出频率(MHz)Vcc=电源电压
5、引脚说明
符号引脚描述
Q0…Q715,1,7并行数据输出
GND8地
Q7’9串行数据输出
MR10主复位(低电平)
SHCP11移位寄存器时钟输入
STCP12存储寄存器时钟输入
OE13输出有效(低电平)
DS14串行数据输入
VCC16电源
6、功能表
输入输出功能
SHCPSTCPOEMRDSQ7’Qn
××L↓×LNCMR为低电平时仅仅影响移位寄存器
×↑LL×LL空移位寄存器到输出寄存器
××HL×LZ清空移位寄存器,并行输出为高阻状态
↑×LHHQ6NC逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态6(内部Q6”)出现在串行输出位。
×↑LH×NCQn’移位寄存器的内容到达保持寄存器并从并口输出
↑↑LH×Q6’Qn’移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出。
7、注释
H=高电平状态
L=低电平状态
↑=上升沿
↓=下降沿
Z=高阻
NC=无变化
×=无效
当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。
硬件实验四工业顺序控制
(设计型)
一、实验目的
掌握工业顺序控制程序的简单编程,中断的使用。
二、设计实验预备知识
1、在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例注塑机工艺过程大致按“合模—>注射—>延时—>开模—>产伸—>产退”顺序动作,用单片机最容易实现。
2、设计实验中可采用用外部中断0,编中断服务程序的关键是:
⑴.保护进入中断时的状态,并在退出中断之前恢复进入的状态。
⑵.必须在中断程序中设定是否允许中断重入,即设置EX0位。
一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本设计实验中未涉及。
三、实验设计内容
1、设计采用CPU的P1口来控制注塑机的七道工序,利用七只发光二极管的点亮来模拟控制注塑机的每道工序,低电平有效。
2、设计采用CPU的P1.7为报警闪光输出。
3、设计采用CPU的P3.7为报警声音输出。
4、设计采用CPU的P3.2故障报警按钮,P3.3为解除报警按钮,P3.4为运行按钮。
5、要求设定每道工序之间有2秒的延时。
四、实验参考接线图:
参考原理图
五、实验调试步骤
1、用中断方式编写K1K2功能程序及延时程序。
2、用连续方式开始运行程序,此时应在等待开工状态。
3、按K3,各道工序应正常运行。
4、按K1,应有声音,闪光报警(人为设置故障)。
5、按K2,即排除故障,程序应从报警的那道工序继续执行。
6、按K3,停止运行。
回到等待开工状态。
六、思考:
1、如何用数码管显示工序状态及延时时间?