单片机个人知识点总结
单片机个人知识点总结

◆波特率公式:TH1=256-f/(波特率*12*32/2^SMOD)◆MCS-51系列单片机内部有哪些主要的逻辑部件?答案:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内RAM、21个特殊功能寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级。
◆机器周期是指:完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期;一个机器周期由六个状态组成,包含有12个振荡周期;◆当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高);◆程序计数器PC是用来存放下一条将要执行的指令地址,共16 位。
单片机上电复位后,PC =0000H ;◆当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指:当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性;◆何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值?答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。
在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。
在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用◆简述MCS-51单片机程序存储器的几个特殊入口地址的含义。
0000H:复位入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口中断服务程序入口地址◆何谓静态显示?何谓动态显示?两种显示方式有何优缺点?所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。
LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。
单片机重点知识点

单片机重点知识点单片机(Microcontroller)是一种集成了微处理器核心、存储器以及各种外设功能于一体的微型计算机系统。
它广泛应用于各个领域,如家电、汽车、医疗设备等。
本文将介绍单片机的重点知识点,以帮助读者更好地理解和应用单片机技术。
一、单片机的基础知识1. 单片机的定义:单片机是一种集成电路,内部包含微处理器核心、存储器、输入输出端口等部分,可以按照程序运行和控制外部设备。
2. 单片机的主要特点:体积小、功耗低、成本低、功能强大、易于编程和控制。
3. 单片机的组成部分:- 微处理器核心(CPU):执行数据处理和控制任务。
- 存储器:存储程序和数据。
- 输入输出端口(I/O):与外界设备进行数据交互。
- 定时器计数器(Timer/Counter):用于产生各种定时、延时和计数功能。
- 串行通信接口(USART):用于与其他设备进行串行通信。
二、单片机的基本指令集单片机的指令集是一组在单片机内部执行的机器指令,用于控制单片机的操作。
常见的指令包括:1. 数据传输指令:将数据从一个寄存器传输到另一个寄存器。
2. 算术指令:进行各种算术运算,如加法、减法、乘法和除法。
3. 逻辑指令:进行逻辑运算,如与、或、非等。
4. 控制指令:用于控制程序的跳转、循环和中断。
三、单片机的编程语言单片机的编程语言常见的有汇编语言和高级语言,其中汇编语言更接近机器语言,而高级语言更易于理解和编写。
1. 汇编语言:汇编语言是一种低级语言,与机器指令一一对应。
通过使用助记符(Mnemonic)来表示指令操作码,有助于提高代码的可读性,但编写和调试较为复杂。
2. 高级语言:高级语言如C语言、Python等,通过编译器将源代码转换为单片机可以执行的机器语言。
这种语言更易于理解和编写,并且具有丰富的库函数,可以快速开发单片机应用程序。
四、常用的单片机外设和应用1. 通用输入输出端口(GPIO):用于与外部设备进行数字信号的输入和输出。
单片机常考知识点总结归纳

单片机常考知识点总结归纳一、单片机概述单片机是一种集成了微处理器、存储器和输入/输出功能的集成电路芯片,也称为微控制器。
常见的单片机有8051系列、AVR系列、PIC系列等。
单片机通常具有CPU、存储器、定时器、串行通信接口、模拟输入/输出和数字输入/输出等外围设备。
二、单片机的基本特点1. 控制功能:单片机是用来控制各种设备和系统的,其核心是实现程序控制和数据处理。
2. 内部存储器:单片机有自带的ROM、RAM和EEPROM存储器,存储程序和数据。
3. 输入输出功能:单片机通过外设和接口实现与外部设备的连接和通信。
4. 超低功耗:单片机通常工作在微功耗下,能长时间运行在电池供电环境中。
5. 嵌入式应用:单片机广泛应用于嵌入式系统、家电控制、自动化设备等领域。
三、单片机常考的知识点1. 单片机的基本原理:包括单片机的工作原理、内部结构、外围设备和程序存储等内容。
2. 单片机的硬件结构:包括CPU、存储器、输入输出设备、定时器计数器、串行通信接口等部分。
3. 单片机的编程开发:包括汇编语言编程、C语言编程、软件开发工具和调试技术等内容。
4. 单片机的应用实例:包括LED显示、按键控制、数码管驱动、定时器应用、串口通信等应用案例。
5. 单片机的系统设计:包括单片机系统设计的原则、方法和技术要点等内容。
6. 单片机的外围接口:包括串行通信接口、模拟输入输出、数字输入输出等外围接口知识。
7. 单片机的存储器管理:包括ROM的存储器结构、程序存储、数据存储和EEPROM的应用。
8. 单片机的中断处理:包括中断的类型、中断的嵌套、中断的优先级和中断的应用等知识点。
9. 单片机的定时器应用:包括定时器的工作原理、定时器的编程、定时器的应用实例等内容。
10. 单片机的串口通信:包括串口的工作原理、串口的编程、串口的数据传输和应用实例等。
11. 单片机的模拟输入输出:包括模拟输入输出的工作原理、模拟输入输出的编程和应用实例等。
51单片机学习总结(史上最全版,自己总结)

51单⽚机学习总结(史上最全版,⾃⼰总结)单⽚机学习总结Lesson1 预备知识与点亮⼀个⼆极管⼀、预备知识与流⽔灯1、CPU ROM RAM STC I/O⼝2、电平特性:⾼与低,TTL电平:⾼+5v,低0v;RS232电平:⾼-12v,低+12v,计算机与单⽚机通讯时要加电平转换芯⽚max232(实验板上左下⾓)3、⼆进制:遇⼆进⼀;⼗六进制:⼗进制中的0-15分别表⽰为⼗六进制的0、1....9、A、B、C、D、E、F,⼀般把四个⼆进制数放在⼀起转换为⼀个⼗六进制数,转换时先把⼆进制数转换成⼗进制数,再把⼗进制数转换成⼗六进制数。
0001B>1H;1010B>AH;0010 1100>2CH(这⾥B表⽰的是⼆进制,H表⽰的⼗六进制)。
0x表⽰⼗六进制。
4、⼆进制的逻辑运算:“与”、“?”、“&”;“或”、“+”、“|”;“⾮”“A”;“异或”“⊕”,相同为0,不同为1。
按位与&,按位或|,按位异或~,按位取反~5、芯⽚缺⼝⽅向,芯⽚插反会导致短路。
⼆、80C51系列介绍1、80C51的引脚封装:总线型:有4组⾮总线型:只有20个引脚,送数据时,数据在总线上跑2、C51知识:sfr,特殊功能寄存器声明;sfr16,sfr的16位数据声明;sbit,特殊功能位声明;bit,位变量声明。
例如sfr SCON=0X98,sfr16 T2=0xCC,sbit 0V=PSW^2(第2位定义为ov)。
单⽚机都是从0开始记值。
3、C-51的运算符:4、单⽚机掌握⼏点:5、stc-isp的使⽤就德飞莱单⽚机⽽⾔,单⽚机类型为stc90c516RD+,com类型为com4,在下载程序时,⼀定要先把开发板上的电源断掉,过2秒钟再打开,顺序不能颠倒。
如果此界⾯长期没有变化,考虑以下⼏点:6、Keil的使⽤:(1)、先建⼯程,⽂件名没有后缀名,保存,选择atmel中的80c52(2)、再建⽂件,有后缀名,后缀名.c(c语⾔)或.asm(汇编语⾔)(3)、将⽂件添加在⼯程⾥,在左⽅,右击(5)、先下载程序,后打开电源(6)、注释的⽅式有两种,⼀是//,换⾏⽆效;⼆是/* */,但是注释的语句不编译。
(完整版)单片机知识点总结

(完整版)单⽚机知识点总结单⽚机考点总结1.单⽚机由CPU、存储器及各种I/O接⼝三部分组成。
2.单⽚机即单⽚微型计算机,⼜可称为微控制器和嵌⼊式控制器。
3.MCS-51系列单⽚机为8位单⽚机,共40个引脚,MCS-51基本类型有8031、8051和8751.(1)I/O引脚(2)8031、8051和8751的区别: 8031⽚内⽆程序存储器、8051⽚内有4KB程序存储器ROM、8751⽚内有4KB程序存储器EPROM。
(3)4.MCS-51单⽚机共有16位地址总线,P2⼝作为⾼8位地址输出⼝,P0⼝可分时复⽤为低8位地址输出⼝和数据⼝。
MCS-51单⽚机⽚外可扩展存储最⼤容量为216=64KB,地址范围为0000H—FFFFH。
(1.以P0⼝作为低8位地址/数据总线;2.以P2⼝作为⾼8位地址线)5.MCS-51⽚内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。
(1)MCS-51⽚内有128字节数据存储器(RAM),字节地址为00H—7FH;00H—1FH: ⼯作寄存器区;00H—1FH: 可位寻址区;00H—1FH: ⽤户RAM区。
(2)21个特殊功能寄存器(SFR)(21页—23页);(3)当MCS-51上电复位后,⽚内各寄存器的状态,见34页表2-6。
PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H,TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H,TL1=00H, SCON=00H, P0~P3=FFH6. 程序计数器PC:存放着下⼀条要执⾏指令在程序存储器中的地址,即当前PC值或现⾏值。
程序计数器PC是16位寄存器,没有地址,不是SFR.7. PC与DPTR的区别:PC和DPTR都⽤于提供地址,其中PC为访问程序存储器提供地址,⽽DPTR为访问数据存储器提供地址。
单片机知识点总结

单片机知识点总结单片机(Microcontroller Unit, MCU)是一种集成电路芯片,其中包含了处理器核心、内存、输入/输出接口和时钟等功能。
它被广泛应用于电子产品中,如手机、电视、汽车、家电等。
掌握单片机的知识可以让我们更好地理解和应用电子产品,下面是对单片机的知识点总结。
一、单片机的基础知识1.单片机的定义及优势:单片机是一种集成电路芯片,它集成了处理器核心、内存、输入/输出接口和时钟等功能,具有体积小、功耗低、可靠性高等优点。
2.单片机的分类:按照处理器核心的位数可以分为8位、16位和32位单片机;按照内存的类型可以分为片内存和片外存储器的单片机。
3.单片机的工作模式:包括运行模式、睡眠模式和停机模式等。
4.单片机的内存结构:包括程序存储器(ROM)、数据存储器(RAM)和特殊功能寄存器(SFR)等。
二、单片机的体系结构1.CPU:中央处理单元,负责执行指令。
2.存储器:包括程序存储器、数据存储器和特殊功能寄存器。
3.输入/输出接口:用于与外部设备进行数据交换。
4.时钟和定时器:用于控制单片机的时序和计时功能。
5.中断系统:用于处理外部中断和内部中断。
三、单片机的编程语言1.汇编语言:基于指令的二进制码编写,直接控制硬件。
2.C语言:结构化的高级语言,可以方便地编写复杂的程序。
3.嵌入式C:为了适应单片机特点而进行的扩展和优化。
四、单片机的IO口1.数字IO口:用于实现数字信号的输入和输出。
2.模拟IO口:用于实现模拟信号的输入和输出。
3.串口通信:基于异步串行通信协议,用于与计算机或其他外部设备进行数据交换。
4.并行口:用于实现并行数据的输入和输出。
五、单片机的时钟和定时器1.系统时钟:单片机中的主时钟,用于控制单片机的工作频率。
2.定时器:用于生成定时时间间隔,实现延时等功能。
3.看门狗定时器:用于监控系统的运行状态,防止死锁现象。
六、单片机的中断系统1.中断的概念:在程序运行过程中,由外部事件触发的异常处理机制。
单片机复习知识点

单片机复习知识点单片机(Microcontroller)是一种集成了处理器核心、存储器、输入/输出接口和其他辅助功能的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于各个领域。
单片机的学习与掌握对于电子工程师而言至关重要。
本文将回顾一些常见的单片机复习知识点,帮助读者巩固基础知识,提高应用能力。
1. 单片机基础知识1.1 单片机的定义单片机是一种包含处理器核心、存储器、输入/输出接口和其他辅助功能的微型计算机系统。
1.2 单片机的特点- 体积小、功耗低、成本低。
- 集成度高、可编程性强。
- 可以完成复杂的控制任务。
1.3 单片机的工作原理单片机通过执行指令集中的指令来完成特定的任务。
它使用时钟信号控制指令的执行速度,通过读写存储器和与外部设备进行通信来完成输入/输出操作。
2. 单片机体系结构2.1 单片机的组成部分单片机包含中央处理器(CPU)、存储器、输入/输出接口和时钟模块等组成部分。
2.2 单片机的存储器单片机的存储器包括程序存储器(ROM)和数据存储器(RAM)。
程序存储器用于存储程序指令,数据存储器用于存储程序运行时所需的数据。
2.3 单片机的输入/输出接口单片机通过输入/输出接口与外部设备进行通信。
输入接口将外部信号输入到单片机,输出接口将单片机处理后的信号输出到外部设备。
3. 单片机编程3.1 单片机编程语言常见的单片机编程语言包括汇编语言和高级编程语言。
汇编语言直接操作单片机的指令集,高级编程语言通过编译器将代码转化为机器指令。
3.2 单片机编程流程单片机编程一般包括以下步骤:- 编写程序代码。
- 使用编译器将代码转化为机器指令。
- 将机器指令烧录到单片机的存储器中。
- 运行单片机,执行程序。
4. 常见的单片机应用4.1 家电控制单片机广泛应用于家电控制领域,如空调、洗衣机、电视等。
通过单片机的控制,可以实现家电的自动化控制和智能化操作。
4.2 工业自动化在工业生产中,单片机被广泛用于各种控制系统,如温度控制、压力监测和流量控制等。
单片机基础知识点总结

单片机基础知识点总结以下是单片机基础知识点的总结:1.单片机概念:单片机是一种集成电路,集中了微处理器、存储器和各种输入/输出接口电路,可作为嵌入式系统的核心控制器。
2.单片机的组成:单片机主要由中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/OPort)、定时器/计数器、串行通信接口等组成。
3.单片机的工作原理:单片机通过运行存储在ROM中的程序指令,执行各种计算和控制操作。
输入/输出端口用于与外部设备进行数据交互。
4.单片机的编程:单片机程序通常使用汇编语言或高级语言(如C语言)编写,并通过专门的开发工具进行编译、烧录和调试。
5.I/O控制:单片机的输入/输出端口用于与外部设备连接和数据交互,可以实现数字输入/输出、模拟输入/输出和串行通信等功能。
6.定时器/计数器:单片机的定时器/计数器可以生成精确的时间延迟和计数功能,用于控制任务的执行时间和计数操作。
7.中断处理:单片机支持中断功能,可以在特定事件发生时中断当前程序的执行,转而执行中断服务程序,提高系统的响应速度和实时性。
8.存储器管理:单片机的存储器包括ROM(只读存储器)和RAM (随机访问存储器),用于存储程序指令、数据和临时变量。
9.时钟管理:单片机需要一个时钟源来提供时序和同步信号,通常使用晶体振荡器或外部时钟源。
10.低功耗设计:单片机通常需要在电池供电或功耗敏感的应用中使用,因此需要进行低功耗设计,包括睡眠模式、时钟管理、外设关闭等。
这些是单片机基础知识的一些重要点,了解这些知识可以为学习和应用单片机提供基础。
单片机是嵌入式系统的核心,广泛应用于各种领域,如家电控制、工业自动化、汽车电子等。
深入学习和实践单片机编程能够帮助您掌握嵌入式系统的开发和控制技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◆波特率公式:TH1=256-f/(波特率*12*32/2^SMOD)◆MCS-51系列单片机内部有哪些主要的逻辑部件?答案:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内RAM、21个特殊功能寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级。
◆机器周期是指:完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期;一个机器周期由六个状态组成,包含有12个振荡周期;◆当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高);◆程序计数器PC是用来存放下一条将要执行的指令地址,共16 位。
单片机上电复位后,PC =0000H ;◆当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指:当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性;◆何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值?答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。
在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。
在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用◆简述MCS-51单片机程序存储器的几个特殊入口地址的含义。
0000H:复位入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口中断服务程序入口地址◆何谓静态显示?何谓动态显示?两种显示方式有何优缺点?所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。
LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。
静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。
◆编程将片内RAM 30H~39H单元中的内容送到以3000H为首的存储区中。
MOV R0,#30HMOV DPTR,#3000HMOV R7,#10L1:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,L1RET◆片内RAM 60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。
MOV 50H,#0MOV 51H,#0MOV 52H,#0MOV R7,#20MOV R0,#60HL3: MOV A,@R0JZ L1JB ACC.7,L2INC 50HSJMP LENDL2:INC 51HSJMP LENDL1:INC 52HLEND: INC R0DJNZ R7,L3RET◆从片外RAM 2000H单元开始存有20个有符号数,要求把它们传送到片外RAM 3000H 开始的单元,但负数不传送,试编写程序。
MOV DPTR,#2000HMOV R0,#20HMOV R7,#20L1: MOVX A,@DPTRMOV @R0,AINC DPTRINC R0DJNZ R7,L1MOV DPTR,#3000HMOV R0,#20HMOV R7,#20L2: MOV A,@R0JB ACC.7,L3MOVX @DPTR,AL3: INC DPTRINC R0DJNZ R7,L2RET◆在片外RAM 2000H、2001H和3000H、3001H中分别存放两个字数据(高8位在偶地址),试比较两个数的大小,把大数存放在4000H、4001H单元中。
MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,AINC DPTRMOVX A,@DPTRMOV 21H,AMOV DPTR,#3000HMOVX A,@DPTRMOV 30H,AINC DPTRMOVX A,@DPTRMOV 31H,ACLR CMOV A,21HSUBB A,31HMOV A,20HSUBB A,30HJNC L1MOV A,20HMOV B,21HSJMP L2L1:MOV A,30HMOV B,31HL2:MOV DPTR,#4000HMOVX @DPTR,AINC DPTRMOV A,BMOVX @DPTR,ARET◆试编写一段对中断系统初始化的程序,允许外部中断0、外部中断1、定时器/计数器T0溢出中断、串行口中断,且使定时器/计数器T0溢出中断为高优先级中断。
SETB EASETB EX0SETB EX1SETB ET0SETB ESSETB PT0D7D6D5D4D3D2D1D0IE (A8H)EA _—ET0_—ES ET1 EX1 EX0IE名称:EA:中断允许总控制位;ES:串行口中断;ET1:定时器/计数器1中断;EX1:外部中断1中断;IP名称:PS:串行口中断;PT1:定时器/计数器1中断; PX1:外部中断1中断。
◆设MCS 51单片机时钟为12MHz,利用定时器T0编程令P1.0引脚输出2ms的矩形波程序,要求占空系数为1:2(高电平时间短)。
ORG 0000HLJMP MAINORG 000BHLJMP T0INTORG 0030HMAIN:MOV SP,#60HMOV R7,#0MOV TMOD,#01H ;初始化MOV TH0,#0FDH ;定时666微妙MOV TL0,#66HSETB EASETB ET0SETB TR0L1:SJMP L1;中断服务程序T0INT:MOV TH0,#0FDH ;重载初始值MOV TL0,#66HINC R7CJNE R7,#1,LL1CLR P1.0SJMP LLENDLL1: CJNE R7,#3,LLENDSETB P1.0MOV R7,#00HLLEND:RETI◆如果MCS-51单片机系统的晶振频率为12MHz,分别指出定时器/计数器方式1和方式2的最长定时时间。
方式1:65536us;方式2:256us◆设MCS-51单片机的晶振频率为12MHz,要求在P1.0输出周期是200ms的方波,试编写程序。
ORG 0000HLJMP MAINORG 001BHLJMP T1INTORG 0030HMAIN: MOV SP,#70HMOV TMOD,#10H ;T1方式1MOV TH1,#3CH ;定时50msMOV TL1,#0B0HMOV R7,#2 ;50ms*2=100msSETB EASETB ET1SETB TR1SJMP $T1INT: MOV TH1,#3CHMOV TL1,#0B0HDJNZ R7,L1MOV R7,#2CPL P1.0L1:RETI◆设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止位),试编程初始化程序。
设定串行口位方式1.MOV SCON,#40HMOV PCON,#80HMOV TMOD,#20HMOV TH1,#0F4HMOV TL1,#0F4HSETB TR1◆设外部晶频率振为11.0592MHz,串行口工作在方式1,波特率为4800b/s。
编写用T1作为波特率发生器的方式字并计算T1的计数初值。
TMOD:20HTH1=TL1=0FAH◆设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM 30H~3FH存储区的数据块通过串行口传送到乙机内部RAM 40H~4FH存储区中。
甲机发送(采用查询方式):MOV SCON,#80H ;设置工作方式2MOV PCON,#00H ;置SMOD = 0,波特率不加倍MOV R0,#30H ;数据区地址指针MOV R2,#10H ;数据长度LOOP: MOV A,@R0 ;取发送数据MOV C,P ;奇偶位送TB8MOV TB8,CMOV SBUF,A ;送串行口并开始发送数据WAIT: JBC TI,NEXT ;检测是否发送结束并清TISJMP WAITNEXT: INC R0 ;修改发送数据地址指针DJNZ R2,LOOPRET乙机接收(采用查询方式):MOV SCON,#90H ;工作方式2,并允许接收MOV PCON,#00H ;置SMOD = 0MOV R0,#40H ;置数据区地址指针MOV R2,#10H ;等待接收数据长度LOOP: JBC RI,READ ;等待接收数据并清RISJMP LOOPREAD: MOV A,SBUF ;读一帧数据MOV C, PJNC LP0 ;C不为1转LP0JNB RB8,ERR ;RB8 = 0,即RB8不为P转ERRAJMP LP1LP0: JB RB8,ERRLP1: MOV @R0,AINC R0DJNZ R2,LOOPRET◆在一个8031应用系统中扩展一片2764、一片8255A和一片6264。
试画出系统框图,并指出所扩展的各个芯片的地址范围。
将图8-23中的/CE1接74LS138译码器的/Y0端。
2764的地址空间范围:0000H~1FFFH6464的地址空间范围:0000H~1FFFH82552A的口地址:PA口:0FFFCH;PB口:0FFFDH;PC口:0FFFEH;控制口0FFFFH。
◆单片机采用晶振6MHZ,P1口接有8个发光管,围成圆形(跑马灯)。
要求:①发光管每次只亮一个,一次从P1.0~P1.7循环发光,切换时间为1秒(低电平亮);②延时采用T0定时器,工作于自动装入时间常数的定时器工作方式,允许T0中断,试写出完整的可调试程序。
ORG 0000HLJMP startORG 000BHLJMP timer0ORG 30Hstart:MOV TMOD,#02H ;T0工作于方式2—自动重装载MOV TL0,#06 ;定时器自动重装初值MOV TH0,#06MOV R7,#100MOV R6,#20 ;R6、R7中断次数,一次中断500uS,即500*100*20=1sMOV A,#0FEH ;循环送出的控制字节MOV P1,A ;送出控制字节,P1.0灯亮SETB TR0SETB ET0SETB EAwait:SJMP wait ;主程序,无限循环timer0:DJNZ R7,EXITMOV R7,#100DJNZ R6,EXITMOV R6,#20RL A ;左循环一位 MOV P1,A EXIT:RETIEND◆ 一个单片机系统,时钟频率fosc=11.059Mhz ,现要求串行口通信的波特率为9600bps ,采用T1作为波特率发生器,试计算出定时器T1的自动重装载值、实际波特率并验算实际波特率与理论波特率的相对误差?取:SMOD=0;T1 自动重装载值: FDH N ==-=⨯⨯⨯-=25332561232960010059.112566演算: ()bps 波特率8.9599253256123210059.116=-⨯⨯⨯=误差计算:%0018.096008.95999600=-=误差程序段:MOV TMOD ,#20HMOV TH1,#0FDH MOV TL1,#0FDH SETB TR1◆8255初始化:PORTA EQU (A 口地址)PORTB EQU (B 口地址) PORTC EQU (C 口地址) CS8255 EQU (/CS 地址) ORG 0000HMOV DPTR #CS8255 MOV A,#10010000B MOVX @DPTR,A◆编制一个计算符号函数y=SGN(x)的完整的可调试的程序。