单片机基础实践.ppt
《单片机基础实践.ppt》由会员分享,可在线阅读,更多相关《单片机基础实践.ppt(148页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机基础实践单片机基础实践实验一Proteus和Keil软件的使用一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会keil软件和Proteus仿真软件联调。二.实验内容1.单片机最小系统图1单片机最小系统原理图80C5180C51的引脚封装的引脚封装总线型总线型非总线型非总线型6基本的基本的基本的基本的51515151单片机结构单片机结构单片机结构单片机结构 下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/
2、数据线用。一、一、P0P0口的结构口的结构1、P0口作为普通I/O口(输出口)CPU发出控制电平“0 0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与P0口同通。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉电流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接
3、读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。2、P0口作为普通I/O口(输入口)P0口必须接上拉电阻;在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;二、二、P2P2口的结构口的结构1.P21.P2口作为普通口作为普通I/OI/O口口 CPU CPU发出控制电平发出控制电平“0”“0”,使多路开关,使多路开关MUXMUX倒向倒向锁存器输出锁存器输出Q Q端,构成一个准双向口。其功能与端,构成一个准双向口。其功能与P1P1相同。相同。2.P2
4、2.P2口作为地址总线口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过在系统扩展片外程序存储器扩展数据存储器且容量超过256B256B时,时,CPUCPU发出控制电平发出控制电平“1”“1”,使多路开关,使多路开关MUXMUX倒内部倒内部地址线。地址线。三、三、P1 P1口的内部结构口的内部结构 P1口是80C51的唯一的单功能口,仅能用作数据输入输出口,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。同P2口相同,内部设有上拉电阻(约30K)。四、四、P3 P3口的内部结构口的内部结构 一、作为通用I/O口与P1口类似-准双向口(W=1)P1口是80C51
5、的唯一的单功能口,仅能用作数据输入输出口,它由一个输出锁存器、三个输入缓冲器、一个与非门和输出驱动电路组成。同P2口相同,内部设有上拉电阻(约30K)。P3P3P3P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制80C51的时钟信号的时钟信号 晶振周期(即时钟周期)为最小时序单位。晶振周期(即时钟周期)为最小时序单位。晶振信号经分频器后形成两相错开的信号晶振信号经分频器后形成两相错开的信号P1
6、和和P2。P1和和P2的周期也称为的周期也称为S状态,它是晶振周期的状态,它是晶振周期的2倍。即一个倍。即一个S状态包含两状态包含两个晶振周期。个晶振周期。CPU以以P1和和P2为基本节拍指挥各个部件协调的工作为基本节拍指挥各个部件协调的工作 晶振信号经晶振信号经12分频后形成机器周期。分频后形成机器周期。当单片机的时钟系统工作正常的时候,在当单片机的时钟系统工作正常的时候,在ALE引脚可以观察引脚可以观察到稳定烦人脉冲信号,其频率为:晶振频率到稳定烦人脉冲信号,其频率为:晶振频率/6。单片机工作的基本时序单片机工作的基本时序 机器周期和指令周期机器周期和指令周期 (1)振荡周期振荡周期:也称
7、时钟周期也称时钟周期,是指为单片机提是指为单片机提供时钟脉冲信号的振荡源的周期供时钟脉冲信号的振荡源的周期.晶振晶振11.0592MHz。(2)状态周期状态周期:每个状态周期为时钟周期的每个状态周期为时钟周期的 2 倍倍,是振荡周期经二分频后得到的。是振荡周期经二分频后得到的。(3)机器周期机器周期:一个机器周期包含一个机器周期包含 6 个状态周个状态周期期S1S6,也就是也就是 12 个时钟周期。个时钟周期。在一个机器周期在一个机器周期内内,CPU可以完成一个独立的操作。可以完成一个独立的操作。(4)指令周期指令周期:它是指它是指CPU完成一条操作所需完成一条操作所需的全部时间。的全部时间。
8、每条指令执行时间都是有一个或几个每条指令执行时间都是有一个或几个机器周期组成。机器周期组成。MCS-51 系统中系统中,有单周期指令、有单周期指令、双周期指令和四周期指令。双周期指令和四周期指令。2.ProteusISIS主窗口界面图2ProteusISIS主窗口界面203.KeiluVision3软件21uVisionuVision开发环境开发环境开发环境开发环境22保存为保存为保存为保存为lesson1.clesson1.cuVisionuVision开发环境开发环境开发环境开发环境23uVisionuVision开发环境开发环境开发环境开发环境将保存的将保存的将保存的将保存的 test1
9、.c test1.c 加入工程加入工程加入工程加入工程编译工程编译工程编译工程编译工程24uVisionuVision开发环境开发环境开发环境开发环境调试运行程序调试运行程序调试运行程序调试运行程序25生成可烧写的生成可烧写的生成可烧写的生成可烧写的HEXHEX文件文件文件文件uVisionuVision开发环境开发环境开发环境开发环境编译的输出信息编译的输出信息编译的输出信息编译的输出信息三.实验步骤1.使用Proteus软件搭建硬件电路。2.使用Keil软件编程3.运行观察实验结果四.思考题:1.用单片机I/O驱动一个LED灯。2.用单片机两个I/O驱动两个LED灯。3.用单片机三个I/O
10、驱动三个LED灯。五.实验报告:(1)Proteus仿真软件使用方法。(2)KeiluVision3软件使用方法。实验二实验二 发光二级管的应用仿真发光二级管的应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会发光二级管的应用发光二级管的应用二.实验内容1.电路原理图图2.1发光二级管电路图三.实验步骤1.使用Proteus软件搭建硬件电路。2.使用Keil软件编程3.运行观察实验结果四.思考题1.8个发光管由上至下间隔1s流动,其中每个管亮250ms,灭250ms。2.间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,
11、然后重复整个过程。3.间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。实验三实验三 蜂鸣器、继电器的驱动仿真蜂鸣器、继电器的驱动仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会蜂鸣器、继电器的的应用二.实验内容1.图1蜂鸣器驱动电路2.图2继电器驱动电路3.实验内容采用P2.1口驱动蜂鸣器电路和采用P2.1口驱动继电器电路。三.实验步骤1.使用Proteus软件搭建硬件电路。2.使用Keil软件编程3.运行观察实验结果四、思考题1.驱动蜂鸣
12、器改用NPN三极管,更改程序,观察现象。2.驱动继电器改用NPN三极管,更改程序,观察现象。3.设计电路并编程,用PNP三极管驱动继电器,继电器带动蜂鸣器、LED灯,实现蜂鸣器和LED灯交替工作。实验四数码管显示应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会数码管的驱动方法二.实验内容静态显示就是当显示器显示某一字符时,相应的发光二极管恒定地导通或截止。这种显示方法的每一位都需要有一个8位输出口控制。三.实验步骤1使用Proteus软件搭建硬件电路。2使用Keil软件编程3运行观察实验结果四.思考题1.使用两个数码管接到两个I/O口作静态扫
13、描。2.使用三个数码管接到三个I/O口作静态扫描。3.使用四个数码管接到四个I/O口作静态扫描。实验五键盘的应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会键盘的应用方法二.实验内容1.键盘分独立键盘和矩阵键盘。独立键盘由一组相互独立的按键组成。这些按键直接与单片机的I/O口相连接,即每个按键独占一条I/O口,接口简单,独立式键盘因占用单片机的硬件资源较多,只适合按键较少的场合使用。2.键盘检测分查询法和中断法本例采用的是查询法,利用为判断指令实现键盘功能。每按下一次键盘会使计数标志加1.电路图:按键在闭合和断开时,触点会存在抖动现象,按键抖
14、动的时间一般为510ms,抖动会产生一次按键多次处理的问题,应该采取措施消除抖动的影响。程序中,对键盘的处理包括以下几个方面:(1)检测按键是否按下;(2)如果检测到按键被按下,可以执行软件去抖动,消除抖动的影响;(3)准确判断是哪个按键被按下;(4)转向相应的程序处理子程序。三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.用两个按键设计具有加减功能计数器计数09。2.用按键做计数99后,再按重复上个过程。3.做一键识别功能,要求每按一次按键,实现不同功能流水灯(用LED灯实现)。实验六定时器仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Kei
15、l软件编程3.学会定时器使用方法二.实验内容 51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD(工作方式寄存器)和TCON(控制寄存器)1.工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0的设置,高四位用于T1的设置。其格式如下:位序号D7D6D5D4D3D2D1D0位符号GATEM1M0GATEM1M0GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0或INT1也为高电平时,才能启动定时/计数器工作。即此时定时器的启
16、动条件,加上了INT0或INT1引脚为高电平这一条件。:定时/计数模式选择位。0为定时模式;=1为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。M1M0工作方式工作方式说说 明明00方式方式013位定时位定时/计数器(常用串并行移位)计数器(常用串并行移位)01方式方式116位定时位定时/计数器(常用的定时计数器(常用的定时/计数器)计数器)10方式方式28位自动重装定时位自动重装定时/计数器(适合于脉冲信号发生器)计数器(适合于脉冲信号发生器)11方式方式3T0分成两个分成两个8位定时位定时/计数器;计数器;T1此方式停止计数(常用此方式停止计数(常用于
17、串行口波特率发生器)于串行口波特率发生器)2.控制寄存器控制寄存器TCON TCON寄存器为定时器寄存器为定时器/计数器控制寄存器,可以进行位寻址。计数器控制寄存器,可以进行位寻址。TCON的的高高4位用于控制定时位用于控制定时/计数器的启动和中断申请。低计数器的启动和中断申请。低4位用于控制外部中断。位用于控制外部中断。TF1(TCON7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件自计数溢出时由硬件自动置动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随时查询可随时查询TF1的状态。所以,的状态。所以,TF
18、1可用作查询测试的标志。可用作查询测试的标志。TF1也可也可以用软件置以用软件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一样。的效果一样。TR1(TCON6):):T1运行控制位。运行控制位。TR1置置1时,时,T1开始工作;开始工作;TR1置置0时,时,T1停止工作。停止工作。TR1由软件置由软件置1或清或清0。所以,用软件可控制定时。所以,用软件可控制定时/计计数器的启动与停止。数器的启动与停止。TF0(TCON5):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。TR0(TCON4):):T0运行控制位,其功能与运行控制位,其功能与TR1类同。
19、类同。位序号位序号D7D6D5D4D3D2D1D0位符号位符号TF1TR1TF0TR0IE1IT1IE0IT0 3.定时定时/计数器的工作方式计数器的工作方式 一、方式一、方式0 方式方式0为为13位计数,由位计数,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,溢出时,置位置位TCON中的中的TF0标志,向标志,向CPU发出中断请求。发出中断请求。二、方式二、方式1 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成了位,组成了16位加位
20、加1计数器计数器。计数个数与计数初值的关系为:计数个数与计数初值的关系为::例1方式0:使用T0工作方式0计数6000,C指令如下:TL0=(8192-6000)%32;/取5位的余数TH0=(8192-6000)/32;/取5位的商例2方式1:使用T0工作方式0计数50000,C指令如下:TL0=(65536-50000)%256;/取8位的余数TH0=(65536-50000)/256;/取8位的商例3方式2:使用T0工作方式0计数100,C指令如下:TL0=256-100;/填入计数值TH0=256-100;/填入自动加载值4.定时器、计数器的应用(1)中断法:即定时器/计数器中断的设定
21、、计数量的设定、启动定时器/计数器以及中断子程序的编写;(2)查询法:即不需要中断设定,不需要中断中断子程序,只要设定计数量及启动定时器/计数器,然后判断定时器/计数器的标志位(TFx)是否动作,以决定程序流程。电路图:三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.在本实验里,所采用的是Timer0,若采用Timer1,应如何修改?2.在本实验里,所采用的是Timer0,工作方式1。若改用工作方式2来完成本实验功能,程序应如何修改?3.设单片机的晶振频率为12MHz,使用定时器1,在方式0下由P1.0输出周期为10ms的等宽方波,以查询方式完成。实验七中断的应用仿真一
22、.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会中断使用方法二二.实验内容实验内容单片机的中断系统结构单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回56基本的基本的基本的基本的52525252单片机特殊功能寄存器单片机特殊功能寄存器单片机特殊功能寄存器单片机特殊功能寄存器中断允许控制寄存器中断允许控制寄存器中断允许控制寄存器中断允许控制寄存器 IE IE IE IE中断优先级控制寄存器中断优先级控制寄存器中断优先级控制寄存器中断优先级控制寄存器 IP IP IP IP定时定时定时定时/计数器控制寄存器计数
23、器控制寄存器计数器控制寄存器计数器控制寄存器 TCON TCON TCON TCONEA (IE7),CPU中断允许(总允许)位。中断允许(总允许)位。EA (IE5),定时,定时/计数器计数器T2中断允许位;中断允许位;ES (IE4),串行口中断允许位;,串行口中断允许位;ET1(IE3),定时,定时/计数器计数器T1中断允许位;中断允许位;EX1(IE2),外部中断,外部中断0允许位;允许位;ET0(IE1),定时,定时/计数器计数器T0中断允许位;中断允许位;EX0(IE0),外部中断,外部中断0允许位;允许位;例:例:EA=1;/打开全局中断控制打开全局中断控制 EA=0;/关闭全部
24、中断关闭全部中断PS (IP4),串行口中断优先级控制位;,串行口中断优先级控制位;PT1(IP3),定时,定时/计数器计数器T1中断优先级控制位;中断优先级控制位;PX1(IP2),外部中断,外部中断0中断优先级控制位;中断优先级控制位;PT0(IP1),定时,定时/计数器计数器T0中断优先级控制位;中断优先级控制位;PX0(IP0),外部中断,外部中断0中断优先级控制位;中断优先级控制位;例:例:PS=1;/串口中断定义为高优先级中断串口中断定义为高优先级中断 PS=0;/串口中断定义为默认优先级中断串口中断定义为默认优先级中断 控制寄存器控制寄存器TCON TCON寄存器为定时器寄存器为
25、定时器/计数器控制寄存器,字节地址为计数器控制寄存器,字节地址为88H,可以进行位,可以进行位寻址。寻址。TCON的高的高4位用于控制定时位用于控制定时/计数器的启动和中断申请。低计数器的启动和中断申请。低4位用于位用于控制外部中断。控制外部中断。IE1(TCON3):外部中断):外部中断INT1请求标志。请求标志。IE1=1时表示时表示INT1中断申中断申请。请。IT1(TCON2):外部中断):外部中断INT1触发方式设置位。触发方式设置位。IT1=0时为电平触时为电平触发方式。发方式。IT1=1时为边沿触发方式(下降沿有效)。时为边沿触发方式(下降沿有效)。IE0(TCON1):外部中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 基础 实践
限制150内