欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机基础实践.ppt

    • 资源ID:56530352       资源大小:4.38MB        全文页数:148页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机基础实践.ppt

    单片机基础实践单片机基础实践实验一Proteus和Keil软件的使用一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会keil软件和Proteus仿真软件联调。二.实验内容1.单片机最小系统图1单片机最小系统原理图80C5180C51的引脚封装的引脚封装总线型总线型非总线型非总线型6基本的基本的基本的基本的51515151单片机结构单片机结构单片机结构单片机结构 下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。一、一、P0P0口的结构口的结构1、P0口作为普通I/O口(输出口)CPU发出控制电平“0 0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与P0口同通。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉电流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“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.P22.P2口作为地址总线口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过在系统扩展片外程序存储器扩展数据存储器且容量超过256B256B时,时,CPUCPU发出控制电平发出控制电平“1”“1”,使多路开关,使多路开关MUXMUX倒内部倒内部地址线。地址线。三、三、P1 P1口的内部结构口的内部结构 P1口是80C51的唯一的单功能口,仅能用作数据输入输出口,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。同P2口相同,内部设有上拉电阻(约30K)。四、四、P3 P3口的内部结构口的内部结构 一、作为通用I/O口与P1口类似-准双向口(W=1)P1口是80C51的唯一的单功能口,仅能用作数据输入输出口,它由一个输出锁存器、三个输入缓冲器、一个与非门和输出驱动电路组成。同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和和P2。P1和和P2的周期也称为的周期也称为S状态,它是晶振周期的状态,它是晶振周期的2倍。即一个倍。即一个S状态包含两状态包含两个晶振周期。个晶振周期。CPU以以P1和和P2为基本节拍指挥各个部件协调的工作为基本节拍指挥各个部件协调的工作 晶振信号经晶振信号经12分频后形成机器周期。分频后形成机器周期。当单片机的时钟系统工作正常的时候,在当单片机的时钟系统工作正常的时候,在ALE引脚可以观察引脚可以观察到稳定烦人脉冲信号,其频率为:晶振频率到稳定烦人脉冲信号,其频率为:晶振频率/6。单片机工作的基本时序单片机工作的基本时序 机器周期和指令周期机器周期和指令周期 (1)振荡周期振荡周期:也称时钟周期也称时钟周期,是指为单片机提是指为单片机提供时钟脉冲信号的振荡源的周期供时钟脉冲信号的振荡源的周期.晶振晶振11.0592MHz。(2)状态周期状态周期:每个状态周期为时钟周期的每个状态周期为时钟周期的 2 倍倍,是振荡周期经二分频后得到的。是振荡周期经二分频后得到的。(3)机器周期机器周期:一个机器周期包含一个机器周期包含 6 个状态周个状态周期期S1S6,也就是也就是 12 个时钟周期。个时钟周期。在一个机器周期在一个机器周期内内,CPU可以完成一个独立的操作。可以完成一个独立的操作。(4)指令周期指令周期:它是指它是指CPU完成一条操作所需完成一条操作所需的全部时间。的全部时间。每条指令执行时间都是有一个或几个每条指令执行时间都是有一个或几个机器周期组成。机器周期组成。MCS-51 系统中系统中,有单周期指令、有单周期指令、双周期指令和四周期指令。双周期指令和四周期指令。2.ProteusISIS主窗口界面图2ProteusISIS主窗口界面203.KeiluVision3软件21uVisionuVision开发环境开发环境开发环境开发环境22保存为保存为保存为保存为lesson1.clesson1.cuVisionuVision开发环境开发环境开发环境开发环境23uVisionuVision开发环境开发环境开发环境开发环境将保存的将保存的将保存的将保存的 test1.c test1.c 加入工程加入工程加入工程加入工程编译工程编译工程编译工程编译工程24uVisionuVision开发环境开发环境开发环境开发环境调试运行程序调试运行程序调试运行程序调试运行程序25生成可烧写的生成可烧写的生成可烧写的生成可烧写的HEXHEX文件文件文件文件uVisionuVision开发环境开发环境开发环境开发环境编译的输出信息编译的输出信息编译的输出信息编译的输出信息三.实验步骤1.使用Proteus软件搭建硬件电路。2.使用Keil软件编程3.运行观察实验结果四.思考题:1.用单片机I/O驱动一个LED灯。2.用单片机两个I/O驱动两个LED灯。3.用单片机三个I/O驱动三个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个管亮,然后重复整个过程。3.间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。实验三实验三 蜂鸣器、继电器的驱动仿真蜂鸣器、继电器的驱动仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会蜂鸣器、继电器的的应用二.实验内容1.图1蜂鸣器驱动电路2.图2继电器驱动电路3.实验内容采用P2.1口驱动蜂鸣器电路和采用P2.1口驱动继电器电路。三.实验步骤1.使用Proteus软件搭建硬件电路。2.使用Keil软件编程3.运行观察实验结果四、思考题1.驱动蜂鸣器改用NPN三极管,更改程序,观察现象。2.驱动继电器改用NPN三极管,更改程序,观察现象。3.设计电路并编程,用PNP三极管驱动继电器,继电器带动蜂鸣器、LED灯,实现蜂鸣器和LED灯交替工作。实验四数码管显示应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会数码管的驱动方法二.实验内容静态显示就是当显示器显示某一字符时,相应的发光二极管恒定地导通或截止。这种显示方法的每一位都需要有一个8位输出口控制。三.实验步骤1使用Proteus软件搭建硬件电路。2使用Keil软件编程3运行观察实验结果四.思考题1.使用两个数码管接到两个I/O口作静态扫描。2.使用三个数码管接到三个I/O口作静态扫描。3.使用四个数码管接到四个I/O口作静态扫描。实验五键盘的应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会键盘的应用方法二.实验内容1.键盘分独立键盘和矩阵键盘。独立键盘由一组相互独立的按键组成。这些按键直接与单片机的I/O口相连接,即每个按键独占一条I/O口,接口简单,独立式键盘因占用单片机的硬件资源较多,只适合按键较少的场合使用。2.键盘检测分查询法和中断法本例采用的是查询法,利用为判断指令实现键盘功能。每按下一次键盘会使计数标志加1.电路图:按键在闭合和断开时,触点会存在抖动现象,按键抖动的时间一般为510ms,抖动会产生一次按键多次处理的问题,应该采取措施消除抖动的影响。程序中,对键盘的处理包括以下几个方面:(1)检测按键是否按下;(2)如果检测到按键被按下,可以执行软件去抖动,消除抖动的影响;(3)准确判断是哪个按键被按下;(4)转向相应的程序处理子程序。三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.用两个按键设计具有加减功能计数器计数09。2.用按键做计数99后,再按重复上个过程。3.做一键识别功能,要求每按一次按键,实现不同功能流水灯(用LED灯实现)。实验六定时器仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会定时器使用方法二.实验内容 51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD(工作方式寄存器)和TCON(控制寄存器)1.工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0的设置,高四位用于T1的设置。其格式如下:位序号D7D6D5D4D3D2D1D0位符号GATEM1M0GATEM1M0GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0或INT1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0或INT1引脚为高电平这一条件。:定时/计数模式选择位。0为定时模式;=1为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。M1M0工作方式工作方式说说 明明00方式方式013位定时位定时/计数器(常用串并行移位)计数器(常用串并行移位)01方式方式116位定时位定时/计数器(常用的定时计数器(常用的定时/计数器)计数器)10方式方式28位自动重装定时位自动重装定时/计数器(适合于脉冲信号发生器)计数器(适合于脉冲信号发生器)11方式方式3T0分成两个分成两个8位定时位定时/计数器;计数器;T1此方式停止计数(常用此方式停止计数(常用于串行口波特率发生器)于串行口波特率发生器)2.控制寄存器控制寄存器TCON TCON寄存器为定时器寄存器为定时器/计数器控制寄存器,可以进行位寻址。计数器控制寄存器,可以进行位寻址。TCON的的高高4位用于控制定时位用于控制定时/计数器的启动和中断申请。低计数器的启动和中断申请。低4位用于控制外部中断。位用于控制外部中断。TF1(TCON7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件自计数溢出时由硬件自动置动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随时查询可随时查询TF1的状态。所以,的状态。所以,TF1可用作查询测试的标志。可用作查询测试的标志。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类同。类同。位序号位序号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位加位加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)中断法:即定时器/计数器中断的设定、计数量的设定、启动定时器/计数器以及中断子程序的编写;(2)查询法:即不需要中断设定,不需要中断中断子程序,只要设定计数量及启动定时器/计数器,然后判断定时器/计数器的标志位(TFx)是否动作,以决定程序流程。电路图:三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.在本实验里,所采用的是Timer0,若采用Timer1,应如何修改?2.在本实验里,所采用的是Timer0,工作方式1。若改用工作方式2来完成本实验功能,程序应如何修改?3.设单片机的晶振频率为12MHz,使用定时器1,在方式0下由P1.0输出周期为10ms的等宽方波,以查询方式完成。实验七中断的应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会中断使用方法二二.实验内容实验内容单片机的中断系统结构单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回56基本的基本的基本的基本的52525252单片机特殊功能寄存器单片机特殊功能寄存器单片机特殊功能寄存器单片机特殊功能寄存器中断允许控制寄存器中断允许控制寄存器中断允许控制寄存器中断允许控制寄存器 IE IE IE IE中断优先级控制寄存器中断优先级控制寄存器中断优先级控制寄存器中断优先级控制寄存器 IP IP IP IP定时定时定时定时/计数器控制寄存器计数器控制寄存器计数器控制寄存器计数器控制寄存器 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;/关闭全部中断关闭全部中断PS (IP4),串行口中断优先级控制位;,串行口中断优先级控制位;PT1(IP3),定时,定时/计数器计数器T1中断优先级控制位;中断优先级控制位;PX1(IP2),外部中断,外部中断0中断优先级控制位;中断优先级控制位;PT0(IP1),定时,定时/计数器计数器T0中断优先级控制位;中断优先级控制位;PX0(IP0),外部中断,外部中断0中断优先级控制位;中断优先级控制位;例:例:PS=1;/串口中断定义为高优先级中断串口中断定义为高优先级中断 PS=0;/串口中断定义为默认优先级中断串口中断定义为默认优先级中断 控制寄存器控制寄存器TCON TCON寄存器为定时器寄存器为定时器/计数器控制寄存器,字节地址为计数器控制寄存器,字节地址为88H,可以进行位,可以进行位寻址。寻址。TCON的高的高4位用于控制定时位用于控制定时/计数器的启动和中断申请。低计数器的启动和中断申请。低4位用于位用于控制外部中断。控制外部中断。IE1(TCON3):外部中断):外部中断INT1请求标志。请求标志。IE1=1时表示时表示INT1中断申中断申请。请。IT1(TCON2):外部中断):外部中断INT1触发方式设置位。触发方式设置位。IT1=0时为电平触时为电平触发方式。发方式。IT1=1时为边沿触发方式(下降沿有效)。时为边沿触发方式(下降沿有效)。IE0(TCON1):外部中断):外部中断INT0请求标志。请求标志。IE0=1时表示时表示INT0中断申中断申请。请。IT0(TCON0):外部中断):外部中断INT0触发方式设置位触发方式设置位,其功能与,其功能与IT1类同。类同。位序号位序号D7D6D5D4D3D2D1D0位符号位符号TF1TR1TF0TR0IE1IT1IE0IT0中断源中断源默默认认中断中断级别级别中断序号中断序号(C语语言用)言用)入口地址入口地址(汇编语汇编语言用)言用)INT0外部中断外部中断0最高最高00003HT0定定时时器器/计计数器数器0中断中断第第21000BHINT1外部中断外部中断1第第320013HT1定定时时器器/计计数器数器1中断中断第第43001BHTI/RI串行口中断串行口中断第第540023HT2定定时时器器/计计数器数器2中断中断最低最低5002BH52单片机中断优先级中断的应用1.中断设定包括开启中断开关(即IE寄存器的设定)、中断优先级的设定(即IP寄存器的设定)、中断信号的设定(即TCON寄存器的设定)等。例:IE=0 x81;/启用INT0中断IE=0 x84;/启用INT1中断IE=0 x85;/启用INT0、INT1中断IP=0 x04;/设定INT1中断具有最高优先级TCON=0 x0C;/设定INT1采用下降沿触发方式2.中断子程序Void中断子程序名称(void)interrupt中断号定时器/计数器的中断设定例:定时器0的工作方式1中断模板。#includeVoidmain()TMOD=0 x01;TH0=(65536-50000)/256TL0=(65536-50000)%256/IE=0 x82;/开启中断总开关及T0中断EA=1;ET0=1;/IP=0X02;/提升T0中断的优先等级TR0=1;/启动Timer0Voidtime0()interrupt1/中断子程序中断函数不能返回任何值,中断函数不带任何参数电路图三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.在本实验里,所采用的是INT0,若采用INT1,应如何修改?2.使用定时器计数器中断方法实现计数00-99。(使用上节电路图)3.使用一个外部中断,做一键识别功能,要求每按一次按键,实现不同功能流水灯(用LED灯实现)。实验八串行口应用仿真一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会串行口使用方法二.实验内容1.并行与串行基本通信方式(1)并行通信是将数据字节(8位)中的一位用一条数据线,同时进行传送。(2)串行通信是将数据字节(8位)在一条传输线上逐位地传送,外加一条公共信号线和控制信号线。因此一次只能传送一位,所以对于一个字节的数据,至少要8次才能送完。2.串行通信方式(1)异步串行通信方式是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。(2)同步串行通信方式同步通信要建立发送时钟和接收时钟的直接控制,使双方达到完全同步。3.串行口发送时数据由TXD端发出,接收时数据由RXD端输入,有两个物理上独立的发送/接收缓冲器SBUF。4.串行口控制寄存器SCON方式0:波特率是固定的,为fosc/12。方式2:波特率由振荡频率fosc和SMOD(PCON7)所决定。其对应公式为:波特率=(2SMOD/64)fosc方式1和方式3:波特率由定时器/计数器T1的溢出率和SMOD决定,对应公式为:波特率=(2SMOD/32)(T1溢出率)fosc为系统晶振频率,通常为12MHz或11.0592MHz;SMOD是PCON寄存器的最高位;T1溢出率既定时器T1溢出的频率。SM2:多机通信控制位。主要用于方式主要用于方式2 2和方式和方式3 3。方式0和方式1是非多机通信,设置SM2=0。REN:串行接收允许位。由软件控制,0时禁止接收;1时允许接收。TB8:在方式2或方式3中,是发送数据的第9位,奇偶校验位或地址帧/数据帧的标志位。在方式在方式0和方式和方式1中,该位不用。中,该位不用。RB8:在方式2或方式3中,是接收数据的的第9位,奇偶校验位或地址帧/数据帧的标志位。在方式在方式0和方式和方式1中,该位不用。中,该位不用。TI:发送中断标志位。串行发送停止位时,由内部硬件使TI置1,向CPU发中断申请,必须由软件清0。RI:接收中断标志位。串行接收停止位时,由内部硬件使RI置1,向CPU发中断申请,必须由软件清0。5.电源控制寄存器PCON SMODSMOD:该位与串行口波特率有关。:该位与串行口波特率有关。SMOD=0SMOD=0时,串行方式时,串行方式1,2,31,2,3时,波特率正常。时,波特率正常。SMOD=1SMOD=1时,串行方式时,串行方式1,2,31,2,3时,波特率时,波特率正加倍。正加倍。D6D6、D5D5、D4D4:未用。:未用。GF1GF1,GF0GF0:两个通用工作标志位,用户可以自由使用。:两个通用工作标志位,用户可以自由使用。PDPD:掉电模式设定位。:掉电模式设定位。PD=0PD=0时,单片机正常工作。时,单片机正常工作。PD=1PD=1时,时,单片机进入掉电模式,可由外部中断低电平触发或由下降沿触发单片机进入掉电模式,可由外部中断低电平触发或由下降沿触发或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPUCPU、定时器、串行口全部停止工作,只有外部中断继续工作。定时器、串行口全部停止工作,只有外部中断继续工作。IDLIDL:空闲模式设定位。:空闲模式设定位。IDL=0IDL=0时,单片机正常工作。时,单片机正常工作。IDL=1IDL=1时,时,单片机进入空闲模式,除单片机进入空闲模式,除CPUCPU不工作外,其余仍继续工作,在空不工作外,其余仍继续工作,在空闲模式下可以由任一个中断或硬件复位唤醒。闲模式下可以由任一个中断或硬件复位唤醒。D7D6D5D4D3D2D1D0SMODGF1GF0PDIDL 6.串行口的工作方式方式方式0 1、数据输出、数据输出2、数据输入、数据输入 方式1 1、串行发送、串行发送 2、串行接收(设置、串行接收(设置REN=1)方式方式2 2和方式和方式3 3 1、串行发送、串行发送2、串行接收、串行接收7.波特率的计算(定时器1方式2计算初值)例:已知串口通信在串口方式1下,波特率为9600bps,系统晶振频率为11.0592MHz,求TL1和TH1中装入的初值是多少?(设SMOD=0)解:设所求的数为X,则定时器每计256-X个数溢出一次,计一个数的时间为12/11.0592MHz,那么定时器溢出一次的时间为256-X12/11.0592MHz,T1的溢出率是它的倒数,方式1的波特率=(2SMOD/32)(T1溢出率),代入求的X=253,转成十六进制为0 xFD。8.初始化的具体步骤确定T1的工作方式编程TMOD寄存器计算T1的初值装载TH1、TL1启动T1编程TCON中的TR1位确定串行口的工作方式编程SCON电路图三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.将单片机第10脚与11脚短接,以达到自己给自己的目的(采用方式1工作模式)。第11脚所要传出的数据是来自P2所连的8位开关状态,第10脚接收的串行数据将送到P0所联的的LED上?2.其功能与1相同,只是在此采用方式2工作模式。3.其功能与1相同,只是在此采用方式3工作模式。实验十二动态数码管显示一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.学会学会驱动数码管电路4.学会动态数码管扫描方法二、实验内容1.数码管显示原理数码管显示原理是靠点亮内部的发光二极管来来发光。数码管分为共阴数码管和共阳数码管,共阴数码管是把8个发光二极管的阴极在数码管内全部连接在一起,所以称“共阴极”,而它们的阳极式独立的。共阳数码管是把8个发光二极管的阳极在数码管内全部连接在一起,所以称“共阳极”,而它们的阴极式独立的。图3四位共阴数码管电路图图4四位共阴数码管实物图图1数码管电路图图2数码管内部原理图2.锁存器74HC573为三态输出的八D透明锁存器。当三态允许控制端OE为低电平时,Q0Q7为正常工作状态,可用来驱动负载或总线。当OE为高电平时,Q0Q7呈高阻态。当锁存允许端LE为高电平时,输出数据Q随输入数据D变化而变化。当LE为低电平时,输出数据Q被锁存状态。图574HC573引脚图图674HC573真值表图774HC573内部图3.实验电路图图8时钟电路图三、实验步骤1.绘制硬件电路图在Proteus软件里绘制硬件电路图。2.软件编程在Keil软件里编写程序。3.观察运行现象把程序下载到单片机里观察实验现象。四.思考题1.把编好的时钟程序下载到焊接好的单片机硬件电路里,并调试、观察现象,看看和在Proteus里的时钟有无差别。2.把数码管的位控制接到P2口,段控制锁存器(U2)的11脚接到电源上,位控制锁存器U3的11脚接到电源上,编写程序,实现时钟功能。实验九模拟交通灯的设计一.实验目的1.学会在Proteus仿真软件画硬件电路。2.学会使用Keil软件编程3.利用所学过的知识设计模拟交通灯二.实验内容三.实验步骤C C5151的数据类型扩充定义的数据类型扩充定义sfr:sfr:特殊功能寄存器特殊功能寄存器声明声明sfr16:sfrsfr16:sfr的的1616位数据声明位数据声明sbit:sbit:特殊功能位声明特殊功能位声明bit:bit:位变量声明位变量声明例:例:sfr SCON=0X98;sfr SCON=0X98;sfr16 T2=0 xCC;sfr16 T2=0 xCC;sbit LED=P02;sbit LED=P02;例:例:数据类型数据类型 变量名变量名char miao;char miao;bit flag;bit flag;unsigned char code table=;unsigned char code table=;int led;int led;注意:变量名不能用注意:变量名不能用C C语言中的关语言中的关键字表示。键字表示。C-51C-51数据的存储类型数据的存储类型84KEIL C51 KEIL C51 KEIL C51 KEIL C51 程序设计程序设计程序设计程序设计85p对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;p寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理p方便实现规范结构的模块化编程,已编好程序可容易地移植;p提供的库包含许多标准子程序,具有较强的数据处理能力;KEIL C51 KEIL C51 KEIL C51 KEIL C51 程序设计程序设计程序设计程序设计C-51C-51相比相比相比相比ASM-51ASM-51的优点:的优点:的优点:的优点:ctype.h 字符函数;stdio.h 标准I/O函数;string.h 字符串函数;stdlib.h 标准库函数;math.h 数学函数;absacc.h 绝对地址访问函数intrins.h 内部函数;stdarg.h 变量函数表;setjmp.h 全程跳转函数reg51.h reg52.h 标准寄存器定义表AT89X51.h 不同系列芯片的特殊寄存器定义表86KEIL C51 KEIL C51 KEIL C51 KEIL C51 程序设计程序设计程序设计程序设计C51数据声明的一般格式:类型说明符修饰符 标识符=初值例如:unsigned char code Flag=0 x0f;就是声明一个无符号的char型变量Flag,并给他赋初值为0 x0f;并且声明他所在的存储空间在片内统一编址的ROM中。声明中,如果没有修饰符,则数据默认的存储空间为data型,也就是在片内RAM中。87+-*/(加 减 乘 除)=(位右移 位左移)&|(按位与 按位或)(按位异或 按位取反)C-51C-51的运算符与基本语句的运算符与基本语句的运算符与基本语句的运算符与基本语句if 选择语句switch/case 多分支选择语句while 循环语句do-while 循环语句for 循环语句KEIL C51 KEIL C51 KEIL C51 KEIL C51 程序设计程序设计程序设计程序设计#include /加载头文件unsigned int 自定义名 /定义一个065535的整形变量unsigned char 自定义名 /定义一 个0255的字符变量。#define 代替名 原名例:#define uint unsigned int#define TA 0 x25 Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main()总程序从这里开始执行;其他语句;if(表达式)语句;当表达式的结果为真时,则执行语句;执行完之后继续执行后续语句。当表达式为假的时候则跳过语句执行后续语句。if(表达式)语句1;else语句2;当表达式为真时,执行语句1;执行完之后执行if语句后面的语句。当表达式为假时,执行语句2;执行完之后执行if语句后面的语句。While(表达式)语句(内部也可为空)特点:先判断表达式,后执行语句。原则:若表达式不是0,即为真,那么执行语句。否则跳出while 语句。while(1)程序主体;while(0=a)while(1);For(表达式1;表达式2;表达式3)语句(内部可为空)执行过程:1.求解一次表达式1.2.求解表达式2,若其值为真(非0即为真),则执行for中语句。然后执行第3步。然后转到第2步。否则结束for语句,直接跳出,不再执行第3步。3.求解表达式3.4.跳到第2步重复执行。void delay(uint z)uint x,y;for(x=200;x0;x-)for(y=110;y0;y-);实验十单片机最小系统制作一.实验目的1.学会电子元器件测量方法。2.学会单片机最小系统电路图3.制作单片机最小系统二.实验内容图1单片机STC89C52电路图图7串行口(含串行下载器)电路图图88个LED灯电路图实验十一单片机外围电路制作一.实验目的1.学会电子元器件测量方法。2.学会单片机外围电路图3.制作单片机外围电路二.实验内容图9矩阵键盘和独立键盘电路图图10数码管(一位)和锁存器(74HC573)电路图图11数码管(四位)和锁存器(74HC573)电路图三.实验步骤1.检测各个元器件好坏2.按电路图焊接元器件3.检测电路、并联机测试实验十二动态数码管显示一.实验目的1.学会数码管电路。2.学会驱动数码管电路3.学会动态数码管扫描方法二.实验内容动态显示就是用扫描方法轮流点亮各位显示器。对于显示器的每一位而言,每隔一段时间点亮一次,在同时刻只有一位显示器在工作。利用人眼的视觉暂留效应和发光二级管熄灭时的余辉效应,看到的却是多个字符同时显示。电路图如下:74HC573为三态输出的八D透明锁存器,当三态允许控制端OE为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,Q被锁存在已建立的数据电平。锁存器锁存器三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题把时钟程序下载到我们制作好的单片机硬件电路,并调试,观察现象。看看和在Proteus里的时钟有无差别。实验十三44矩阵式键盘一.实验目的1.学会44矩阵式键盘2.学会44矩阵式键盘电路3.学会44矩阵式键盘扫描方法二.实验内容键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。为了实现键盘输入功能和命令处理功能,每个键都有一个处理子程序。为此每个键对应一个键码,以便根据键码转到相应的键处处理子程序。电路图如下:三、实验步骤1.绘制硬件电路图2.软件编程3.观察运行现象四.思考题1.把44矩阵式键盘程序下载到我们制作好的单片机硬件电路,并调试,观察现象。看看和在Proteus里的时钟有无差别。2.设计一个44的矩阵式键盘和44的二极管显示电路,要求按下某键时,相应的二极管点亮显示。实验十四AD转换器的应用一.实验目的1.学会AD转换器2.学会AD转换器电路3.学会AD转换器驱动方法二.实验内容1.ADC0809引脚结构功能说明图:引脚结构功能说明图:【15、2628】IN0IN7:8路模拟量输入端。【8、1415、1721】D0D7:数据输出线。D0为最低位,D7为最高位。【2325】A、B、C:3位地址输入线,用于选通8路模拟输入中的一路【22】ALE:地址锁存允许信号;由低电平到高电平的正跳变有效,此时锁存地址选择线的状态,选通相应模拟通道,以便进行A/D转换。【6】START:AD转换启动信号,START上升沿时,将内部寄存器清0;START下降沿时,开始A/D转换。在A/D转换过程中,START应保持低电平。【7】EOC:转换结束状态信号。EOC=0,正在进行转换。EOC=1,转换结束。【9】OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。【10】CLK:时钟脉冲输入端。通常使用频率不高于640KHZ,正常为500KHz的时钟脉冲。【12、16】REF(+)、REF(-):基准参考电压。典型值+5V。【11】Vcc:5V电源。【13】GND:地。2.使用说明(1)ADC0809内部带有输出锁存器,可以单片机直接相连。(2)初始化时,使ST和OE信号全为低电平。(3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。(6)当EOC变为高电平时,给OE为高电平,转换的数据就输出给单片机了。3.ST

    注意事项

    本文(单片机基础实践.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开