单片机应用技术流水灯历表信号发生器循迹小车课件_第1页
单片机应用技术流水灯历表信号发生器循迹小车课件_第2页
单片机应用技术流水灯历表信号发生器循迹小车课件_第3页
单片机应用技术流水灯历表信号发生器循迹小车课件_第4页
单片机应用技术流水灯历表信号发生器循迹小车课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机应用技术流水灯历表信号发生器循迹小车课件目 录 任务1.1 左右依次循环点亮的流水灯设计与制作项目一:八路流水灯设计与制作软件仿真1.1.1 什么是单片机 微型计算机硬件结构 常见的微机外形台式微机便携式微机立式微机章目录返回CPU输入设备输出设备软件系统+微型计算机系统硬件系统输入接口设备输出接口设备运 算 器控 制 器存 储 器单片微型计算机章目录返回单片微型计算机是指集成在一个芯片上的微型计算机,简称单片机 单片机实质上就是一个芯片。 单片机的发展 单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步,经历了4个阶段: 第一阶段(19711974年):Intel

2、4004,Intel 8008,这些微处理器虽说还不是单片机,但从此拉开了研制单片机的序幕。 第二阶段(19741978年):初级单片机阶段。以Intel公司的MCS-48为代表。8位CPU、并行I/O接口、8位定时器/计数器,寻址范围不大于4K,且无串行口。 第三阶段(19781983年):MCS-51、Motorola公司的6801和Zilog公司的Z8等。 第四阶段(1983年现在):此阶段主要特征是一方面发展16位单片机及专用单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户需要。MCS-51单片机系列产品 MCS-51是一个单片机系列产品,具有多种芯片型号。具体说,

3、按其内部资源配置的不同,MCS-51可分为两个子系列和四种类型,见表1.1。 表1.1 MCS-51系列单片机资源配置子系列片内ROM形式片内ROM容量片内RAM容量定时器/计数器中断源无ROMEPROME2PROMMCS-51子系列80318051875189514KB128B2165MCS-52子系列80328052875289528KB256B3166AT89系列单片机的概况 AT89系列单片机共有7种型号,分别为AT89C51、AT89LV51、AT89C52、AT89LV52、AT89C2051、AT89C1051、AT89S8252。 其中AT89LV51、AT89LV52分别是A

4、T89C51、AT89C52的低电压产品。最低电压可以低至2.7V。而AT89C2051、AT89C1051则是低档型的低电压产品。它们只有20条引脚,最低电压也为2.7V,见表1.2。1.1.3 MCS-51单片机的内部结构 时钟电路CPUROMRAMT0 T1中断系统串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定时计数器1.1.4 MCS-51单片机的信号引脚1.1.5 内部数据存储器低128单元 片内RAM(内部数据存储器)的地址范围是00HFFH。内部数据存储器低128单元的地址范围是00H7FH。分三个区。(1)工作寄存器区 00H1FH单元共32B,是4个

5、通用工作寄存器组,每组含8个寄存器(R0R7)。(2)位寻址区 20H2FH单元共16个字节。20H2FH单元用作位寻址时,共有168=128位,每位分配了一个特定的地址,即00H7FH,这些地址称为位地址.(3)用户数据区 307FH总共有80个RAM单元,存放用户数据或作堆栈操作使用。中断系统中的堆栈一般都设在这一区域内,MCS-51对用户数据区中的每个RAM单元是按字节存取的。 1.1.6 内部数据存储器高128单元符号名称地址符号名称地址P0#P0锁存器80HP1#P1锁存器90HSP堆栈指针81HSCON#串行口控制寄存器98HDPL数据指针低位字节82HSBUF串行数据缓冲器99H

6、DPH数据指针高位字节83HP2#P2锁存器A0HPCON电源控制及波特率选择87HIE#中断允许寄存器A8HTCON#定时器/计数器控制寄存器88HP3#P3锁存器B0HTMOD定时方式选择寄存器89HIP#中断优先级寄存器B8HTL0定时器/计数器0低位字节8AHB#B寄存器F0HTL1定时器/计数器1低位字节8BHPSW#程序状态寄存器D0HTH0定时器/计数器0高位字节8CHACC#累加器E0HTH1定时器/计数器1高位字节8DH1.1.7-1 P0口 P0口的字节地址为80H,位地址为80H87H。口的各位口线具有完全相同,但又相互独立的逻辑电路,如图2.6所示。图2.6 P0口逻辑

7、电路 1.1.7-2 P1口 P1口的地址为90H,位地址为90H97H。P1口的口线逻辑电路如图2.7所示。P1口只能作为通用的I/O口使用,所以在电路结构上和P0口不同主要表现为: 1.1.7-3 P2口 P2口的字节地址为0A0H,位地址为0A0H0A7H。P2口的逻辑电路如图2.8所示。 1.1.7-4 P3口 P3口的字节地址为0B0H,位地址为0B0H0B7H。P3口的逻辑电路如图2.9所示。 1.1.8 时钟电路 1.1.9 复位电路 (a)上电自动复位 (b)按键电平复位 (c)系统复位 开发过程与手段方法 用KeilC51设计信号灯软件(软件设计)章目录返回任务1.2 多种花

8、样点亮的流水灯设计与制作观看演示开发过程与手段方法 绘制信号灯电路(硬件电路设计)章目录返回1.2.1 单片机中断技术1. 中断的基本概念 2. 中断源1)外部中断、INT0、INT1 外部中断是由外部信号引起的。外部中断0和外部中断1的信号分别由P3.2和P3.3引脚输入。低电平或负跳变有效,由IT0和IT1设置,一旦输入信号有效,则将TCON中的IE0或IE1标志位置1,可向CPU申请中断。2)定时中断T0、T1 定时中断为定时器/计数器0和定时器/计数器1溢出中断,这属于内部中断。当定时器/计数器加1计数产生溢出时,则将TCON中的TF0、TF1标志位置1,向CPU申请中断。3)串行中断

9、TI/RI串行中断即为串行口的接收和发送中断。当串行口接收或发完一帧数据时,将TCON的RI或TI位置1,向CPU申请中断。3 中断控制 MCS-51单片机中断控制部分由4个专用寄存器组成,它们的功能分述如下:1) 定时器控制寄存器TCON该寄存器用于控制定时器的启、停及定时器的溢出标志和外部中断的触发方式及外部中断的请求标志。寄存器地址88H,位地址88H8FH。寄存器的内容及位地址表示如下:位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT02)串行口控制寄存器SCON 该寄存器的地址98H,位地址98H9FH。寄存器的内容及位地址表

10、示如下: 位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI其中与中断有关的控制位共2位:TI:串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置1,在转向中断服务后,由软件清0。RI:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置1,在转向中断服务后,由软件清0。串行中断由TI和RI的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。3) 中断允许控制寄存器IE该寄存器的地址0A8H,位地址0A8H0AFH。寄存器的内容及位地址表示如下:位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H

11、0A8H位符号EA/ESET1EX1ET0EX0其中与中断有关的控制位共6位:4)中断优先级控制寄存器IP MCS-51的中断分为2个优先级,每个中断源的优先级都可以通过中断优先级控制寄存器IP中的相应位来设定。IP寄存器的地址0B8H,位地址0B8H0BFH。寄存器的内容及位地址表示如下:位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H位符号/PSPT1PX1PT0PX0其中:PS:串行口中断优先级定位。PS=1,串行口为高优先级,否则为低优先级。5)中断优先级控制规则由于MCS-51具有2级优先级,因此它具备2级中断服务嵌套的功能,其中断优先级的控制规则如下: 低优先

12、级中断请求不能打断高优先级的中断服务,但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。 如果一个中断请求已被响应,则同级的其他中断服务将被禁止,即同级不能嵌套。 如果同级的多个中断请求同时出现,则CPU将按自然优先级顺序确定该响应哪个中断请求,其自然优先级顺序为:4 中断处理过程1.2.2 定时器/计数器的功能 51子系列单片机共有两个16位的定时器/计数器,简称定时器0和定时器1,分别用T0和T1表示。这两个定时器都具有定时和计数两种功能。1. 定时功能计数输入信号是内部时钟脉冲,每个机器周期使计数寄存器(如T0的TH0、TL0)的值增1。每个机器周期等于12个振荡周期,故计

13、数速率为振荡频率的1/12。当采用12MHz晶体时,计数速率为1MHz,即每微秒计数器加1,这样不但可以根据计数器计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。2. 计数功能 计数是对外部脉冲进行计数,计数脉冲来自相应的外部输入引脚T0或T1。当输入信号产生有1至0的跳变时,计数寄存器(如T0的TH0、TL0)的值增1。每个机器周期的S5P2期间,对外部输入进行采样。如在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的下一个周期的S3P1期间,计数值就增1。由于确认一次下跳变需要2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡频率的

14、1/24。对外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前至少采样一次,则这一电平至少要保持一个机器周期。故对输入信号的基本要求如图5.6所示,图中TCY为机器周期。定时器0和定时器1有四种可供选择的工作方式:方式013位定时器/计数器。方式116位定时器/计数器。方式2自动重计数初值的8位定时器/计数器。方式3定时器0为两个独立的8位定时器/计数器。1.2.2 定时器/计数器的控制寄存器 定时器的功能、方式选择及中断设置是由软件对相应的专用寄存器TMOD和TCON及IE等的设置来实现的,计数初值也由软件设置于16位的计数寄存器TH0、TL0或TH1、TL1中。方式控制

15、寄存器TMODTMOD是一个专用寄存器,地址为89H,用于控制两个定时器/计数器的工作方式。但它是不可以位寻址的,只能用字节操作指令来改变。各位定义如下:位 序B7B6B5B4B3B2B1B0位符号C/TM1M0C/TM1M0GATEGATE 定时器1 定时器0 1 定时工作方式0 方式0的计数器是13位结构,因而在完成计数功能时,其计数范围为18192(213)。由于进行加1计算,并在计数器计满溢出时将溢出中断标志TF0(TF1)置位,此时计数完成,所以计数初值计算为:计数初值=213-N其中N为要求的计数值。 在完成定时功能时,计数器对机器周期数进行加1计算,因此其定时时间的计算公式为:(

16、213计数初值)机器周期 或(213计数初值)振荡周期12如晶振频率为6MHz,则其定时时间的最小值和最大值分别为:最小定时时间:(213 (213 1)1/610-612 = 2(s)最大定时时间:(213 0)1/610-612 = 16384(s) 应注意:在给计数寄存器TH0、TL0(或TH1、TL1)赋初值时,应将计算得的计数初值转换为二进制数,然后按其格式将低5位二进制置入TL0(或TL1)的相应位,而高8位则置入TH0(或TH1)中。例5.1 现用T0作计数器,计算从引脚T0输入的脉冲个数,当计数值N为5000时结束,计算TH0、TL0的初值。计数初值=8192-5000=319

17、2=0 1100 0111 1000B 所以 (TH0)=63H (TL0)=18H2 定时工作方式1 方式1为16位定时器/计数器,计数寄存器由TH的全部8位和TL的全部8位构成。其逻辑结构和功能与方式0完全相同,所不同的只是组成计数寄存器的位数。用作计数功能时,计数范围为165536(216)。计数初值的计算公式为:计数初值=216-N用作定时功能时,其定时时间的计算公式为:(216-计数初值)机器周期或(216-计数初值)振荡周期12如晶振频率为6MHz,则其定时时间的最小值和最大值分别为:最小定时时间:(216 -(216-1)1/610-612 = 2(s)最大定时时间:(216-0

18、)1/610-612 = 131072(s) 131(ms)例5.3 用定时器1以方式1产生频率为50Hz的方波,由P1.0输出。以中断方式完成。设单片机晶振频率fosc=12MHz。 计算计数初值方波周期T=1/50=0.02s=20 ms,只要每隔10 ms P1.0引脚输出取反一次。因此定时时间为10 ms,计算计数初值X:(216-X)110-6=1010-3 求解得:X=55536=D8F0H (TH1)=D8H,(TL1)=F0H。3 定时工作方式2 在方式0和方式1工作时,当完成一次计数后,下一次工作时应重新设置初值。这不但影响定时精度,而且也给程序设计带来不便。 方式2为可自动

19、再装入的8位定时/计数器。该方式把高8位计数寄存器TH作为计数常数寄存器,用于预置并保存计数初值,而把低8位计数寄存器TL作为计数寄存器。当计数寄存器溢出时,自动又将计数常数寄存器TH的值再装入TL中,以进行下一次的计数工作。这样,方式2可以连续多次工作,直到有停止计数命令为止。 这种方式非常使用于循环定时或循环计数应用,例如用于产生固定脉宽的脉冲,此外还可以作为串行口的波特率发生器使用。定时和计数的应用用作计数功能时,计数范围为1255(28)。计数初值的计算公式为: 计数初值=28-N用作定时功能时,其定时时间的计算公式为: (28-计数初值)机器周期 或 (28-计数初值)振荡周期12如

20、晶振频率为6MHz,则其定时时间的最小值和最大值分别为:最小定时时间:(28-(28-1)10-612 = 2(s)最大定时时间:(28-0)10-612 = 512(s)例5.4 用定时器1以工作方式2计数,要求每计满100次,将P1.0端取反。 计算计数初值X:X=28-100=156 =9CH TMOD寄存器初始化:为把定时器1设定为方式2,则M1M0=10;为实现计数功能,应使C/T=1;为实现定时器的运行控制,则GATE=0。定时器0不用,有关位设定为0。因此(TMOD)=60H。4 定时工作方式3 工作方式3只使用于定时器T0,T0在该方式下被拆成两个独立的8位计数器TH0和TL0

21、,图5.9为定时器0在工作方式3的逻辑结构。 任务2.1 按键控制数码显示器设计与制作项目二:电子日历表设计与制作2.1.1 键盘接口技术 键盘是由若干按压式或触摸式开关组成的开关矩阵,如09数字键及功能键等。1. 按键开关的抖动问题单片机中应用系统中的按键或键盘一般是由机械触点构成的,如图8.4所示。图8.4 按键 图8.5 按键闭合和断开时的抖动 2. 去抖动处理 图8.6 硬件去抖动电路独立式按键及其接口程序 1. 独立式按键接口 独立式按键是指直接用I/O口线构成的单个按键电路,如图8.8所示。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上

22、的工作状态。(a)查询方式 (b)中断方式图8.8 独立式按键电路行列式键盘(也称矩阵式键盘)及接口1. 行列式键盘工作原理 图8.9 键盘接口电路 行列式键盘的接口及其软件设计行列式键盘的工作方式有编程扫描方式和中断扫描方式两种。(1)编程扫描方式 用“行扫描法”,又称为逐行(或列)扫描查询法,确定行列式键盘上何键被按下,这是一种最常用的按键识别方法,识别步骤同上。 结合图8.10中所示键盘,程序分析如下: 首先在主程序中对8155进行初始化,设置PA口为基本输出口,PB口为基本输入口,则命令字为01H。根据上图可知命令口地址为0100H,PA口地址为0101H,PB口地址为0102H。查询

23、有无按键按下的子程序KS清单如下:LED显示器的结构(a)符号与引脚 (b)共阴极 (c)共阳极图8.12 七段LED显示器 表8.3 七段LED的段码表显示字符段码(共阴)段码(共阳)显示字符段码(共阴)段码(共阳)03FHC0H96FH90H106HF9HA77H88H25BHA4HB7CH83H34FHB0HC39HC6H466H99HD5EHA1H56DH92HE79H86H67DH82HF71H8EH707HF8H灭00HFFH87FH80HLED显示器的工作方式 在单片机应用系统中,发光二极管LED显示器常用两种驱动方式:静态显示驱动和动态显示驱动。 所谓静态显示驱动,就是给要点亮

24、的LED通以恒定的电流,即每一位LED显示器各引脚都要占用单独的具有锁存功能的I/O接口。单片机只需要把要显示的字形段码发送到接口电路并保持不变即可,如果要显示新的数据,再发送新的字形段码。因此,使用这种方法单片机中CPU的开销小,但这种驱动方法需要寄存器、译码器等硬件设备,当需要显示的位数增加时,所需的器件和连线也相应增加,成本也增加。 而所谓动态显示驱动就是给欲点亮的LED通以脉冲电流,即采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮,这时LED的亮度就是通断的平均亮度。LCD显示器的结构 LCD(Liquid Crystal Diodes)是液晶显示器的简称,由于具有

25、体积小、重量轻、功耗低、寿命长、价格低等优点,常应用于便携式仪表或低功耗应用系统中,如手表、数字仪表、通信产品、家用电器等领域。 液晶显示器件的结构如图8.15所示,这种LCD是一种被动式显示器,它本身并不发光,只是调节光的亮度。图8.15 常用的液晶显示器件结构示意图8.4.2 LCD显示器的工作方式 LCD显示器的驱动方式一般有静态驱动和动态驱动两种方式,我们以静态驱动为例介绍其工作原理。 由于LCD的电化学特性,LCD的驱动一般采用交流驱动,通过异或门把控制信号和显示频率信号合并为交变的笔段驱动信号,使笔段波形与公用波形同相或反相,见表8.4。图8.16为基本的LCD驱动电路和工作波形,

26、其中A为显示频率信号,C为显示控制信号。当LCD字段上两个电极的电压相位相同时,两电极的相对电压为零,该字段不显示;当此字段上两个电极为交替变化的电压时,两电极的相对电压为两倍幅值方波电压,该字段呈黑色显示,如图8.16所示波形。 图8.16. 静态驱动电路原理及波形图表8.4 真值表 ACB0101001101108.4.3 LCD显示器的接口电路 图8.18所示是静态驱动方式的四位LCD静态显示的接口电路,采用MC14543译码驱动器,将输入的BCD码转换为7段码输出。PH为方波信号输入,由外部方波振荡器产生。LD为内部锁存器选通端,高电平,允许输入BCD码;低电平锁存数据。BI为消隐控制

27、,高电平消隐,即输出端ag输出信号的相位与PH端相同。 本章8.2节提到键盘分非编码键盘和编码键盘,并主要介绍了非编码键盘的工作原理及接口程序设计。非编码键盘虽然硬件接口简单,但是要占用CPU时间较多,为了克服这一缺点,出现了一些专供键盘及显示器接口使用的可编程接口芯片,如Intel 8279等芯片。本节就以Intel 8279芯片为例介绍它的工作原理及使用方法。 任务2.2 电子日历表设计与制作主程序流程图章目录返回项目三:简易数字电压表设计与制作3.1 A/D转换器的作用将模拟量转换为数字量,以便计算机接收处理传感器单片机A/D转换双积分式A/D转换器逐次逼近式A/D转换器。章目录返回3.

28、2 A/D转换器概述逐次逼近式典型A/D转换器芯片有:(1)ADC0801ADC0805型8位MOS型A/D转换器(2)ADC0808 / 0809型8位MOS型A/D转换器(3) ADC0816 / 0817章目录返回3.3 典型芯片ADC0809介绍ADC0809是一个8位8通道的AD转换器。章目录返回ADC0809转换有以下几步CLK:时钟信号,可由单片机ALE信号分频得到。ALE信号上升沿有效,锁存地址并选中相应通道。ST信号有效,开始转换。A/D转换期间ST为低电平。EOC信号输出高电平,表示转换结束。OE信号有效,允许输出转换结果。章目录返回3.4 ADC0809和单片机的连接写信

29、号、P2.0有效时,启动AD转换。转换结束后,输出高电平,向CPU发出中断请求读信号、P2.0有效时,允许输出AD转换结果。转换时钟由ALE分频得到。805174LS373ADC08092CLKD0-D711111GEOCSTALEOERDP2.0WRINT1ALEP0A0-A7A0A1A2ABCVR(+)VR(-)+5VGNDIN0IN7IN6IN5IN4IN3IN2IN1转换结果由此输出章目录返回3.5 0809编程应用中断方式编程:可采用中断、查询两种方式。 ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG OO13H ;中断入口地址 AJMP INT1 ;

30、跳转中断服务程序 MAIN:SETB IT1 ;边沿触发 SETB EA ;开中断 SETB EX1 ;允许中断 MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX DPTR,A;启动A/D转换 SJMP $;等待中断 INT1: MOVX A,DPTR ;读A/D转换结果 MOV B,A;存数 RETI ;返回中断方式:章目录返回查询方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG 1000H ;中断入口地址MAIN: MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX DPTR,A;启动A/D转换 L1: JB P3.3 L1;查询 MOVX A,DPTR ;读A/D转换结果 MOV B,A;存数 SJMP $章目录返回(1)利用单片机并行口实现D/A转换。(2)通过该项目进一步学习单片机的并行口扩展的相关知识点。(3)通过正弦波信号发生器的整体程序,学会如何编制含LCD显示、按键和D/A转换等多种功能的综合程序,初步体会大型程序的编制和调试技巧。 项目四:正弦波形发生器设计与制作教学任务:章目录返回正弦信号发生器软件仿真观看演示章目录返回正弦信号发生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论