江苏大学单片机复习资料
单片机考试复习

单片机考试复习单片机是嵌入式系统中的关键组成部分,掌握单片机的原理和编程技巧对于学习和应用嵌入式系统有着重要的意义。
为了备考单片机考试,以下是一些复习的重点内容,帮助大家系统地进行复习。
1. 单片机基础知识1.1 单片机的概念和发展历程单片机是一种集成度很高的微型计算机系统,具有片上集成的特点。
从早期的8位单片机到现在的32位单片机,单片机的发展经历了几个重要的阶段。
1.2 单片机的工作原理单片机通过执行存储在其内部存储器中的指令,在控制下完成特定功能。
了解单片机的架构和工作原理是学习和理解单片机编程的基础。
2. 单片机编程基础2.1 汇编语言单片机的底层程序一般使用汇编语言进行编写。
掌握汇编语言的语法和指令集是了解单片机底层运行机制的关键。
2.2 C语言C语言虽然是高级语言,但是在单片机编程中也得到了广泛的应用。
掌握C语言在单片机编程中的基本语法和特点,能够更加高效地进行程序开发。
2.3 嵌入式编程技巧在单片机编程中,还需要掌握一些嵌入式编程技巧,如中断处理、时钟配置、IO口控制等。
这些技巧能够提高单片机程序的可靠性和性能。
3. 单片机外部设备接口3.1 数字输入输出口单片机常用的数字输入输出口是与外部设备进行信息交互的重要接口。
了解数字输入输出口的特点和编程方法,能够灵活地控制和读取外部设备的状态。
3.2 模拟输入输出口模拟输入输出口常用于与模拟信号进行交互。
掌握模拟输入输出口的工作原理和编程方法,能够实现对模拟信号的采集和处理。
3.3 串口通信串口通信是单片机与外部设备进行通信的一种常见方式。
了解串口通信的原理和常用协议,能够实现单片机与其他设备的数据交换。
4. 单片机应用案例4.1 LED显示控制LED显示控制是单片机最基础的应用之一,通过控制LED的亮灭状态可以实现各种显示效果。
了解LED显示控制的原理和编程方法,能够实现对LED的动态控制。
4.2 按键输入和响应按键输入和响应是单片机与外部设备交互的一种常见方式。
单片机期末复习资料(完全版)

◆单片机期末考试题型:第一题:填空题(30分),总30小空,每空1分第二题:判断题(15分),总15小题,每题1分第三题:简答题(30分),总6小题,每题5分,本题包括程序分析题第四题:编程题(25分),总2小题◆复习资料要点:教材 + 平时作业 + 实验报告(简答题和程序题主要复习课后习题和实验题)◆主要复习知识点:第一章微机计算机系统的基本知识1.单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。
从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其为单片微型计算机,简称单片机。
2.微型处理器是单片机的核心。
它主要由三部分组成:寄存器阵列、运算器和控制器、3.程序计数器PC,专门用于存放现行指令的16位地址。
CPU就是根据PC中的地址到ROM中读取程序指令。
每当取出现行指令一个字节后,PC就自动加1,PC+1→PC,当遇到转移指令或子程序时,PC内容会被指定的地址取代,实现程序转移。
PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器。
(PC的功能与作用)4.运算器用来完成算术运算和逻辑运算操作,是处理信息的主要部件。
运算器主要由累加器A、状态寄存器PSW、算术运算单元ALU组成。
①累加器A,用来存放参与算术运算和逻辑运算的一个操作数和运算结果。
②状态字寄存器,用来保存ALU操作运算的条件标志,如进位标志、奇偶标志等。
③算术运算单元ALU,由加法器和其他逻辑电路组成,其基本功能是进行加法和移位运算,由此实现其他各种算术和逻辑运算。
5.控制器是分析和执行指令的部件,控制器只要由程序计数器PC、指令寄存器和指令译码器组成。
6.总线是用于传送信息的公共途径。
总线可以分为数据总线、地址总线、控制总线。
7.数据总线DB:数据线D0~D7共8位,由P0提供,分时输送低8位地址(通过地址锁存器锁存)和8位数据信息。
江苏大学单片机考试复习资料

江苏⼤学单⽚机考试复习资料第⼀章概述1、什么是SOC型的单⽚机?在传统的单⽚机的基础上再集成了很多外部设备到芯⽚⾥,形成的⽚上系统(System On Chip)就是SOC型的单⽚机。
2、单⽚机分为:ROM型:内容不可改EPROM型:擦写不⽅便⽆ROM型:需外接ROMOTP ROM型:低成本,⼀次可编程E2PROM型:擦写较⽅便,不能ISPFlash ROM(MTP ROM型)型:使⽤最⽅便,可以ISP2、单⽚机的发展概况:初级阶段、低性能阶段、⾼性能阶段、新⼀代阶段3、单⽚机在哪些领域有应⽤?举例说出10种含有单⽚机的产品或设备。
智能仪表、机电⼀体化、实时控制、分布式多机系统、家⽤电器等消费类领域空调、冰箱、洗⾐机、微波炉、彩电、⾳响、家庭报警器、电⼦宠物、⼿机、MP3第2章C8051F单⽚机的结构与原理1、CIP-51有哪些存储空间?各个存储空间的功能及寻址范围是什么?物理结构上可分为:⽚内程序存储器⽚外程序存储器⽚内数据存储器⽚外数据存储器按功能和寻址可分为:程序存储器(64KB的flash,以512字节为⼀个扇区,通常是只读,但可⽤MOVX写⼊)内部数据存储器(256字节的RAM,0x00-0x1F通⽤寄存器4*8 0x20-0x2F 可位寻址空间)外部数据存储器(64KB的外部数据空间,MOVX、DPTR、R0或R1⽤间接寻址⽅式访问;默认情况下MOVX指令访问XRAM,还可⽤于写Flash)?特殊功能寄存器(0x80-0xFF直接寻址存储器空间,⼀般在内部RAM的0x30-0xFF单元中开辟堆栈)位地址空间(内部RAM中0x20-0x2F单元以及特殊功能寄存器中地址为8的倍数的特殊功能寄存器可以位寻址)2、中断22个,分外部中断、串⼝(UART0、UART1、SPI、SMBus等)、定时/计数器、电压⽐较器、A/D转换中断中断使能控制(受中断允许寄存器IE、EIE1、EIE2控制)中断优先级别的设定(每个中断源都可以设置为⾼优先级1和低优先级0,由中断优先级寄存器IP、EIP1、EIP2统⼀管理)中断响应时间最快为5个时钟周期:1个周期⽤于检测中断;4个周期完成对ISR的长调⽤(LCALL)。
单片机期末考试重点(苏大,陈蕾版)

微机接口技术总结第一章概述1.什么是微型计算机系统?什么是微型计算机?什么是微处理器?2.什么是总线?总线分为哪几类?计算机的字长取决哪种总线?计算机系统中存储器容量取决于哪种总线?3.数据在计算机内的表示。
掌握原码、补码、ASCII码、BCD码、7段码的含义。
4.什么是ALU?缓冲器与锁存器有什么区别?三态缓冲器的“三态”是指什么?5.什么是单片机?6.什么是存储器的“读操作”和“写操作”?7.哈佛结构与冯-纽曼结构计算机有什么区别?8.简述单片机的结构与特点。
9.单片机与通用微机有什么区别?10.单片机的发展趋势?第二章8086微处理器1.RAM和ROM有什么区别?2.SRAM和DRAM有什么区别?3.存储器芯片地址引脚数与容量的关系?4.4KB的SRAM存储器,若起始地址是0,结束地址是多少?5.2K×8(即2KB)SRAM芯片,2K×8是什么含义?6.存储器芯片上一般有哪几类引脚信号?信号的功能是什么?7.74LS138译码器的引脚信号功能。
第三章MCS-51结构1.8051单片机的基本组成?CPU、存储器(数据存储器RAM、程序存储器ROM)、I/O接口(并行口、串行口、中断系统、定时器/计数器)、以及时钟电路和存储器扩展电路。
2.8031,8051,8751内部存储器结构有什么区别?3.单片机内的寄存器结构?工作寄存器区、专用寄存器区4.掌握常用几个寄存器的特殊用途。
(A B SP PSW DPTR PC)5.程序状态字寄存器PSW中各位的含义。
CY AC RS1RS0OV P6.8051芯片上共有多少引脚?RST、ALE、PSEN、EA分别是什么信号?7.PSEN、RD、WR在使用时有什么区别?8.8051的复位方法有哪两种?9.振荡周期、状态周期、机器周期、指令周期之间的关系如何?10.并行口P0、P1、P2、P3各有什么功能?11.8051复位后,寄存器SP、P0、P1、P2、P3、PC的值分别是多少?12.80C51(CMOS型)有哪两种低功耗方式?13.分别从物理空间和逻辑空间分析,8051单片机存储器的配置如何?14.片内数据存储器由哪几部分构成?说明地址空间分配情况。
单片机复习资料

单片机复习资料一、简答题1、单片机的晶振电路和复位电路。
2、单片机的存储结构。
3、举例说明寻址方式。
立即寻址:MOV A,#3AH 这条指令的功能是把立即数3AH送入累加器A中直接寻址:MOV A,#30H 这条指令中的操作数就在30H单元中,就是30H是操作数的地址。
寄存器寻址:MOV A,R0 这条指令的意思就是把寄存器R0中的内容传送到累加器A中,操作数就在R0中寄存器间接寻址:MOV R0,#30H MOV A,@R0 这两条指令就是将R0中的值30H送到累加器A中位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。
例如:SETB P1.0 也就是把P1.0这一个为置14、常规中断系统。
中断请求源SIO TI INT1 T0 INT0标志位TI(收)/RI(发) TF1 IE1 TF0 IE0使能位ES ET1 EX1 ET0 EX0优先级PS(最高) PT1 PX1 PT0 PX0(最低)中断入口0023BH 001BH 0013H 000BH 0003H触发方式收发信息溢出低电平触发溢出低电平触发中断请求源:(1)外部中断请求源:即外中断0和1,经由外部引脚引入的,在单片机上有两个引脚,名称为INT0、INT1,也就是P3.2、P3.3这两个引脚。
在内部的TCON中有四位是与外中断有关的。
IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。
这两种方式的差异将在以后再谈。
IE0:INT0中断请求标志位。
当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。
IT1、IE1的用途和IT0、IE0相同。
(2)内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。
当CPU响应中断后,再由硬件将TF0清0。
单片机原理复习提纲以及练习大全(含答案)

第一章:单片机概论1、基本概念:单片机、嵌入式系统,单片机组成2、MCS51系列单片机主要机型3、其他与MCS51单片机兼容的改进型单片机系列及特点4、计算机技术发展及分支第二章:单片机结构和时序1、MCS51单片机内部结构及组成部分2、CPU的组成本分及各部分的功能3、程序存储器组织和空间,区物理空间,逻辑空间,容量4、数据存储器组织和空间区分内部低端RAM、高端RAM和外部数据RAM的空间,寻址方式、访问方法及特点5、重点关00~7FHRAM的三大分区的功能6、单片机复位及复位电路,复位后特殊功能寄存器的初始值7、单片机的时序,关于几个周期的概念8、单片机I/O口的功能及特点9、单片机系统扩展和总线扩展方法10、单片机外部数据和程序存储器的扩展方法11、单片机最小应用系统的设计方法,注意三个工作条件和电路中元器件的参数选择第三章:单片机指令系统1、指令的基本格式2、指令中常用的符号3、寻址方式的含义,每一种寻址方式所适合的操作数所处的存储空间5、个类指令的用法6、特别关注片内存储器,片外数据存储器,ROM的数据访问方法7、堆栈操作指令和操作方法8、子程序调用和中断调用过程的异同点以及使用堆栈的情况第四章:程序设计1、掌握程序设计的基本方法2、弄清顺序程序、分支程序、循环程序的结构特点和程序设计方法3、子程序的参数、设计、调用过程、调用方法4、数字处理程序的调用方法5、重点掌握一下程序的设计方法(1)、双字节、多字节加减法程序设计方法(2)、比较数据大小产生分支的有关分支程序的设计方法(3)、内存数据的清除、累加、拷贝程序的设计方法(4)、主程序、初始化程序、中断向量安装、中断服务子程序设计、6、伪指令的用法第五章:单片机内部功能1、定时/计数器的结构、特点2、定时/计数器的工作方式和有关的寄存器3、定时/计数器的时间常数计算方法4、定时/计数器初始化方法5、方波发生器程序的设计方法6、数字电子钟计时程序的设计方法7、串行口的结构及工作方式,了解每一种工作方式数据帧结构的特点8、与串行口有关的寄存器9、串行通信波特率的计算方法10、多字节接收、发送程序和全双工串行通信程序设计方法11、中断的结构和基本概念12、中断、中断源、中断向量、中断响应13、中断有关的寄存器14、中断的开发禁止和中断初始化方法15、中断响应的条件及过程第七章:接口技术1、单片机键盘的特点和类型2、独立式键盘结构和序设计方法3、数码显示器的内部结构和类型4、数码显示器的驱动电路和单片机的接口方法5、扫描式显示器的程序设计方法机步骤(1)根据硬件电路建立显示码表的方法(2)二翻十、拆字、转码的方法(3)扫描显示程序的设计方法******************************************************************************一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
单片机复习要点(完成)

三、片内基本功能单元
80C51有四个并行I/O口,2个16位定时器/计数器, 有5个中断源,1个全双工的串行口 1.并行I/O口 P1、P2、P3均为准双向口,每一位可单独设置为 输入/输出,做为输入时必须向锁存器写“1”,P0口内 部无上拉电阻,当做总线用时是真正的双向口,如果 作为一般I/O口,则必须外接上拉电阻,此时也是准双 向口。 对接口操作,指令有两类: 读引脚指令和读锁存器指令
第一操作数 < 第二操作数,则置Cy = 1 第一操作数 > 第二操作数,则Cy = 0
可实现三分支。
二、寻址方式和指令系统
5、散转指令 JMP @A+DPTR (A中内容为无符号数) 可实现多分支 例:在键盘处理程序中,命令键的键值(为0AH、 0BH、0CH、0DH中一个)已送到A中,请根据此值确 定转移方向(即转到相应命令子程序入口)
二、寻址方式和指令系统
特点: a、不改变特殊功能寄存器及PC的状态,不需预处理。 b、要计算偏移量; c、如果查表指令地址为Y3Y2Y1Y0 ,则表格只能存放在 Y3Y2Y1Y0 +1~ Y3Y2Y1Y0 +100H之间的256个单元中。
二、寻址方式和指令系统
⑵ MOVC A,@A+DPTR 这以DPTR为基地址,加上变址寄存器A中的内容 (为无符号数),形成操作数的地址,把该地址单元 中的内容送到累加器A 中。指令执行后,DPTR的内容 不变。
三、片内基本功能单元
中断的响应过程: 在响应中断过程中,80C51单片机必须做以下三件事: (1)将相应的优先级状态触发器置位(指明CPU开放处 理的中断优先级别)。 (2)清中断标志(TI、RI除外) (3)执行一个硬件子程序,把断点地址,也就是当前PC 的内容压入堆栈。将相应的是断服务程序入口送给PC 单级外部中断,单片机的响应时间为3~8个机器周期。
单片机复习资料(仅供参考)

单片机复习资料(仅供参考)一、填空题1、MSC-51单片机的堆栈区只可设置在数据存储器,堆栈寄存器SP是8位寄存器。
2、MSC-51单片机外部中断请求信号有脉冲触发和电平触发方式,在电平方式下,当采集到INT0、INT1的有效信号为1时,激活外部中断。
3、十六进制数DA转换为十进制数是218,二进制数10110110转换为十六进制数是B6。
4、PCON寄存器中与串行通信有关的只有D7位(SMOD),该位为波特率倍增位。
当SMOD=1时,串行口波特率增加一倍;当SMOD=0时,串行口波特率为设定值。
5、定时器的计数方式是对自T0,T1引脚的脉冲计数,输入的外部脉冲在负跳变时有效,计数器加1。
定时功能也是通过计数器计数来实现的,定时功能下的计数脉冲来自单片机内部的时钟电路。
6、编写子程序和中断服务程序时,必须注意现场的保护和恢复。
7、MSC-51单片机外部总线分别是数据总线、地址总线和控制总线。
8、MSC-51单片机内部提供2个可编程的16位定时/计数器,定时器有4种工作方式。
9、设X=5AH,Y=36H,则X与Y“或”运算结果为7EH,X与Y“异或”运算结果为6CH。
10、若采用12MHz的晶体振荡器,则MSC-51单片机的振荡周期83ns,机器周期为1us。
11、当定时/计数器工作方式寄存器TMOD中的功能选择位C/T 为0时,工作于定时方式。
12、DPTR在访问外部数据存储器时作地址指针使用,DPTR是16位寄存器。
13、串行通信工作在方式3时,对于TH0智能作定时功能使用,同时借用了定时/计数器1的运行控制位TR1 和溢出标志位TF1,并占用了T1的中断源。
TH0启动和停止受TR1控制,而计数溢出时则置位TF1。
14、串行口方式2接受到的第9位数据送SCON存器的TB8位中保存。
15、子程序返回命令是RET,中断子程序返回指令是RETI。
16、单片机与普通计算机的不同之处在于其将微处理器、存储器和各种输入输出口三部分集成于一块芯片上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概述1、什么是SOC型的单片机?在传统的单片机的基础上再集成了很多外部设备到芯片里,形成的片上系统(System On Chip)就是SOC型的单片机。
2、单片机分为:•ROM型:内容不可改•EPROM型:擦写不方便•无ROM型:需外接ROM•OTP ROM型:低成本,一次可编程•E2PROM型:擦写较方便,不能ISP•Flash ROM(MTP ROM型)型:使用最方便,可以ISP2、单片机的发展概况:初级阶段、低性能阶段、高性能阶段、新一代阶段3、单片机在哪些领域有应用?举例说出10种含有单片机的产品或设备。
智能仪表、机电一体化、实时控制、分布式多机系统、家用电器等消费类领域空调、冰箱、洗衣机、微波炉、彩电、音响、家庭报警器、电子宠物、手机、MP3第2章C8051F单片机的结构与原理1、CIP-51有哪些存储空间?各个存储空间的功能及寻址范围是什么?物理结构上可分为:•片内程序存储器•片外程序存储器•片内数据存储器•片外数据存储器按功能和寻址可分为:•程序存储器(64KB的flash,以512字节为一个扇区,通常是只读,但可用MOVX写入)•内部数据存储器(256字节的RAM,0x00-0x1F通用寄存器4*8 0x20-0x2F 可位寻址空间)•外部数据存储器(64KB的外部数据空间,MOVX、DPTR、R0或R1用间接寻址方式访问;默认情况下MOVX指令访问XRAM,还可用于写Flash)•特殊功能寄存器(0x80-0xFF直接寻址存储器空间,一般在内部RAM的0x30-0xFF单元中开辟堆栈)•位地址空间(内部RAM中0x20-0x2F单元以及特殊功能寄存器中地址为8的倍数的特殊功能寄存器可以位寻址)2、中断22个,分外部中断、串口(UART0、UART1、SPI、SMBus等)、定时/计数器、电压比较器、A/D转换中断中断使能控制(受中断允许寄存器IE、EIE1、EIE2控制)中断优先级别的设定(每个中断源都可以设置为高优先级1和低优先级0,由中断优先级寄存器IP、EIP1、EIP2统一管理)中断响应时间最快为5个时钟周期:•1个周期用于检测中断;•4个周期完成对ISR的长调用(LCALL)。
如果申请中断时CPU正在执行RETI指令,则需要再执行一条指令才能进入中断服务程序。
最长为18个时钟周期:•1个时钟周期检测中断;•5个时钟周期执行RETI;•8个时钟周期完成DIV指令;4个时钟周期执行对ISR的长调用(LCALL)中断响应过程硬件动作置位优先级状态触发器、断点入栈、执行LCALL转中断入口、清除中断请求标志、对RI、TI而言相同优先级的硬件查询顺序中断源同级时的优先顺序外部中断0定时器0中断高外部中断1定时器1中断串行口0中断定时器2中断……串行口1中断外部晶振准备好低3、端口输入/输出(并行口)C8051F020有8个8位I/O端口、64个数字I/O引脚;低端端口(P0~P3)既可以按位寻址也可以按字节寻址高端端口(P4~P7)只能按字节寻址所有引脚都耐5V电压,都可以被配置为漏极开路或推挽输出方式和弱上拉4、优先权交叉开关译码器C8051F020 内有大量的数字资源需要通过P0~P3才能使用(本身没有对外的引脚)。
引脚的分配通过优先权交叉开关译码实现的。
UART0优先权最高,而CNVSTR优先权最低通过3个特殊功能寄存器XBR0、XBR1、XBR2实现另外,牢记如果P0撤销勾选,P0后面的跟着缩进(看图,意会)5、电源管理方式CIP-51 有两种可编程的电源管理方式(节电方式):a)空闲方式(等待方式)i.CPU停止运行,而外设和时钟处于活动状态(10μA~5mA)。
内部寄存器和存储器内容保持不变。
ii.通过置位IDLE(PCON.0)进入iii.中断和复位可结束空闲方式b)停机方式(掉电方式)i.CPU停止运行,所有的中断和定时器(除时钟丢失检测器)等外设都处于非活动状态,系统时钟停止。
(0.2μW)ii.通过置位STOP(PCON.1)进入iii.只有系统复位可退出停机方式6、复位源(看图能说得出来)总共7个(上电/掉电复位、外部/RST引脚复位、外部CNVSTR信号复位、软件命令复位比较器0复位、时钟丢失检测器、看门狗定时器超市复位)第3章51单片机编程语言1、C51存储器类型如果在变量声明时未声明变量的存储器类型,则该变量的存储器类型,由程序的存储模式来决定。
•小模式(small model):默认data区,缺省模式。
•紧凑模式(compact model):默认pdata区•大模式(large model):默认xdata区2、C51特殊数据类型•bit:位类型(直接声明),如:bit flag;•sbit:可位寻址的对象(在bdata中声明的变量)如:int bdata ibase; sbit mybit15=ibase^15;•sfr:8位特殊功能寄存器,如:sfr ACC=0xE0; sbit signbit=ACC^7;•sfr16:16位特殊功能寄存器,如:sfr16 T2=0xCC;第4章 C8051F 单片机的片内功能部件定时/计数器能用公式求出定时器初值例4.1 若f OSC =12MHz ,用系统时钟的十二分频作为计数源,请计算定时2ms 所需的初值,并给出初始化程序。
解:∵ f OSC = 12MHz ,用系统时钟的十二分频作为计数源时,方式2、3的最大定时时间只有0.256ms ,因此要想获得2ms 的定时时间,必须用方式0或方式1。
方式0• TC=213-2ms/1us=6192=1830H• 即:TH0=0C1H ;TL0=10H (高三位为0)方式1• TC=216-2ms/1us=63536=F830H• 即:TH0=0F8H ;TL0=30Hvoid T0_mode1_2ms_init(){CKCON &= 0xf7; //T0计数源选择系统脉冲的12分频TMOD=0x01; //T0方式1定时TH0=0xf8; //初值TL0=0x30;TCON |= 0x10; //启动T0,可用TR0=1代替}给定时器赋初值的语句也可以采用如下方法:TH0=(65536-2000)/256;TL0=(65536-2000)%256;或TH0=-2000/256;)(a f T N OSCM T -⨯=-212)01(TL0=-2000%256;例4.2 若f OSC=12MHz,T1工作于方式1,产生50ms的定时中断,TF1为高级中断源。
试编写主程序和中断服务程序,使P1.0产生周期为1s的方波。
解:让P1.0每500ms取反一次即可实现。
定时器的单次定时时间不可能达到500ms,但可通过多次定时产生500ms的定时时间,如让T1工作在方式1,单次定时时间为50ms,那么T1中断10次就是500ms的时间。
(1)确定定时常数•假设使用f OSC的12分频作为计数源,则T计数=12/f OSC=12/(12×106)=1μs•由公式TC=M-T/T计数,可知TC=216-50×103=15536=3CB0H•∴TH1=0x3c,TL0=0xb0。
程序清单如下(中断方式)#include <c8051f020.h>sbit P1_0 = P1^0;int count=10; //10次T1中断为500msvoid main( void ){ CKCON&=0xef; //T1的计数源选择系统脉冲的12分频TMOD=0x10; //T1方式1XBR2=0x40; //并行端口输出使能P1_0=0;TH1=0x3c; //初值TL1=0xb0;IE|=0x88; //允许T1中断IP|=0x08; //TF1中断为高级中断TCON|=0x40; //启动T1While(1); //死循环,等待中断,产生方波}void Timer1_ISR (void) interrupt 3{TH1=0x3c; //重装初值TL1|=0xb0; //提高计数精度count--; //中断计数if (count==0) //500ms到,重赋计数初值,P1.0取反{count=10; P1_0=!P1_0;}}程序清单如下(查询式程序)#include <c8051f020.h>sbit P1_0= P1^0;void main( ){int count=10; //10次T1中断为500msCKCON&=0xef; //T1的计数源选择系统脉冲的12分频XBR2=0x40;TMOD=0x10; //T1方式1P1_0=0;TR1=1; //启动T1For(; ;) //死循环,产生方波{TH1=-50000/256; //T1初值TL1=-50000%256;Do {} while(!TF1); //查询等待TF1置位,TF1=0; count--;If (count==0){count=10;P1_0=!P1_0;}}}2、并行通信和串行通信并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。
串行通信指数据是一位一位按顺序传送的通信方式3、串行通信的传送方向单工(或单向)配置,只允许数据向一个方向进行传送;半双工(或半双向)配置,允许数据向两个方向中的任何一个方向传送,但一次只能有一个发送,一个接收;全双工(或全双向)配置,允许同时双向传送数据4、异步通信和同步通信异步通信以字符为单位,每个字符用起始位0开始,然后从低位到高位逐位传送数据,最后用停止位1表示字符结束同步通信以数据块为单位,每一数据块开头时发送一个或两个同步字符,使发送与接收双方取得同步。
数据块的各个字符间取消了起始位和停止位。
5、UART发送电路+接收电路+波特率发生器、错误校验电路、多机通信控制电路和交叉开关 TI0:发送中断标志位,该位必须由软件清0RI0:接收中断标志位,该位必须由软件清06、波特率设计和初值X例4.6 已知C8051F 单片机时钟振荡频率为11.0592MHz ,选用定时器T1工作方式2作波特率发生器,波特率为2400bit/S ,求初值X 。
解:设波特率控制位SMOD0=0,定时器T1计数脉冲控制位T1M=0,则有:查询方式接收程序#include <c8051f020.h>void main(void)波特率⨯⨯⨯-=-32)12(2256)11(M T SMODn SYSCLK X H 4F 024*******)12(100592.112256)10(60==⨯⨯⨯⨯-=-X{ char data *p; //接收缓冲区地址指针unsigned char i;TMOD=0x20; //初始化并启动T1TH1=0xfd;TL1=0xfd;TR1=1;SCON0=0x50; //UART0初始化,方式1 、允许接收p=0x20; //地址指针初始化for(i=0;i<32;i++){while(!RI0); //等待UART0接收一个字符RI0=0;*p=SBUF0; //放入接收缓冲区p++;}}中断方式发送主程序#include <c8051f020.h>char data *p; //发送数据块地址指针void main(void){TMOD=0x20; //初始化并启动T1TH1=0xfd;TL1=0xfd;TR1=1;SCON0=0x40; //UART0初始化,方式1p=0x20; //地址指针初始化EA=1; //开中断ES0=1;SBUF0=*p; //发送第一个字符while(1); //等待发送中断}void interrupt_UART0(void) interrupt 4{TI0=0; //清发送中断标志p++;if(p<0x40)SBUF0=*P; //发送下一字节elseES0=0; //关串口中断,和查询不一样的另一个地方}例4.8 试编写一个UART0带奇偶校验的发送程序。