单片机原理及接口技术(第4版)
《单片机原理及接口技术》课程实验大纲
《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《MCU principles and interface technologies》experiment课程性质:专业选修课程课程编号:0510085所属系部:机电工程学院总学时:14学时预备知识:电路、数字电子技术课程在教学计划中的地位作用:本课程是机械电子工程专业的一门重要专业选修课程。
目前单片机技术开发和应用水平已成为一个国家工业化发展水平的标志之一。
单片机原理及其应用已成为从事电子技术的工程技术人员必须掌握的基础理论和基本技能之一。
通过本课程的学习使学生实践上掌握单片计算机的基本组成、工作原理及常用接口技术,建立单片机系统整体概念,使学生具备单片机应用系统软、硬件开发的初步能力。
教学方式:理论与实践相结合教学的目的与要求:通过本课程的学习,使学生掌握单片机的硬件结构、MCS-51的指令系统、MCS-51汇编语言程序设计、MCS-51的中断系统、MCS-51的定时器/计数器、MCS-51的串行口、MCS-51单片机扩展存储器的设计、MCS-51扩展I/O接口的设计、MCS-51 与键盘、显示器的接口设计、MCS-51单片机与D/A转换器和A/D转换器的接口、MCS-51的功率接口、MCS-51的串行通信技术及其扩展接口。
进一步理解MCS-51单片机的开发装置、工作原理、编程方法,学会使用开发机进行程序。
课程教材:《单片机原理及接口技术》蔡美琴主编高等教育出版社参考书目:1.《单片机程序设计基础》周航慈主编北京航天航空大学出版社2. 《单片机原理及其接口技术》胡汉才主编清华大学出版社编写日期:2012年6月制定课程内容及学时分配:发光二极管显示各相状态。
要求:掌握步进电机控制系统的硬件设计方法;熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试的能力。
正确连接电路,编写程序,调试运行。
实验一P1口亮灯实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写。
单片机原理及接口技术第四版答案
单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。
答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。
答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。
除了这一点两条指令不同外,其它操作都相同。
4.下列说法正确的是。
答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。
(3)正在执行的指令是reti或是访问ie或ip的指令。
如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。
6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。
a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。
单片机原理及接口技术(张毅刚 彭喜元著)课后答案
第1章单片机概述1.除了单片机这一名称之外,单片机还可称为和。
答:微控制器,嵌入式控制器。
2.单片机与普通微型计算机的不同之处在于其将、、和 3部分集成于一块芯片上。
答:CPU、存储器、I/O口。
3.8051与8751的区别是。
A.内部数据存储单元数目不同 B.内部数据存储器的类型不同C.内部程序存储器的类型不同 D.内部寄存器的数目不同答:C。
4.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。
5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
7.为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KB Flash存储器取代了87C51片内的4KB的EPROM。
第2章 AT89C51单片机片内硬件结构1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2μs2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12。
3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和。
单片机原理及接口技术课后习题 答案
第九章复习思考题1. 计算机系统中为什么要设置输入输出接口输入/输出接口电路是CPU与外设进行数据传输的桥梁..外设输入给CPU的数据;首先由外设传递到输入接口电路;再由CPU从接口获取;而CPU输出到外设的数据;先由CPU输出到接口电路;然后与接口相接的外设获得数据..CPU与外设之间的信息交换;实际上是与I/O 接口电路之间的信息交换..2. 简述输入输出接口的作用..I/O接口电路的作用主要体现在以下几个方面:1实现单片机与外设之间的速度匹配;2实现输出数据锁存;3实现输入数据三态缓冲;4实现数据格式转换..3. 在计算机系统中;CPU与输入输出接口之间传输数据的控制方式有哪几种各有什么特点在计算机系统中;CPU与I/O接口之间传输数据有3种控制方式:无条件方式;条件方式;中断方式;直接存储器存取方式..在无条件方式下;只要CPU执行输入/输出指令;I/O接口就已经为数据交换做好了准备;也就是在输入数据时;外设传输的数据已经传送至输入接口;数据已经在输入接口端准备好;输出数据时;外设已经把上一次输出的数据取走;输出接口已经准备好接收新的数据..条件控制方式也称为查询方式..CPU进行数据传输时;先读接口的状态信息;根据状态信息判断接口是否准备好;如果没有准备就绪;CPU将继续查询接口状态;直到其准备好后才进行数据传输..在中断控制方式下;当接口准备好数据传输时向CPU提出中断请求;如果满足中断响应条件;CPU则响应;这时CPU才暂时停止执行正在执行的程序;转去执行中断处理程序进行数据传输..传输完数据后;返回原来的程序继续执行..直接存储器存取方式即DMA方式;它由硬件完成数据交换;不需要CPU的介入;由DMA 控制器控制;使数据在存储器与外设之间直接传送..4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口;设外设8个按钮开关和8个LED;每个按钮控制1个LED;设计接口电路并编制检测控制程序..80C51图9.1题3接口电路原理图接口电路原理图如图9.1 源程序:MOV D PTR;#BFFFH ;设置输入/输出口地址COMT:MOVX A;@DPTR ;读取开关状态 NOP ;延时;总线稳定 MOVX @DPTR;A ;输出;驱动LED 显示 NOP;延时;总线稳定AJMP CONT5. 74LS377是8D 触发器;其功能表见表9.17;其中Di 为触发器的数据输入端;Qi 为触发器的数据输出端;G 是使能控制端;CLK 是时钟输入端;Q0为建立稳态输入条件之前;锁存器输出Q 的状态..采用它为8051单片机扩展1个8位的并行输出口..图9.2 题5接口电路原理图用74LS377扩展的输出口电路如图9-2所示..用P2.7与74LS377的使能控制端G 相连;当P2.7为0时;74LS377被选中;如果默认其他未用的地址线为1;则扩展的输出口地址为7FFFH..由于MCS-51单片机的WR 接到74LS377的时钟输入端CLK;当CPU 执行写外部输出口指令MOVX 时;把数据输出到数据总线上;在WR 信号由低变高时;写出的数据被打入74LS377并锁存..程序如下: MOV DPTR; #7FFFH ;输出口地址 MOV A; R6 ;取数据MOVX @DPTR; A ;输出;6. 74LS245是一种具有双向驱动的8位三态输出缓冲器;它的功能表见表9.18;其中G 为使能端;DIR 为方向控制端;A1~A8为A 端的数据输入/输出;B1~B8为B 端的数据输入/输出..当G 为低电平时;DIR 为高电平把A 端数据传送至B 端;DIR 为低电平;把B 端数据传送至A 端..在其他情况下不传送数据;并输出呈高阻态..采用它为8051单片机扩展1个8位的输入口..80C5180C511 2 图9-3 题6采用74LS245扩展输入口的2种电路图9-3为采用74LS245扩展输人接口电路..电路1中;DIR 上拉为高电平;74LS245数据传送方向强制为B 端到A 端;当P2.0为0时;且RD 为低电平时;使能端G 为低电平;74LS245三态门打开;单片机CPU 读取外设输入的数据..其他情况下;74LS245的三态门呈高阻状态..电路2中;只有单片机读取外设数据时;P2.0=0使74LS245的使能端G 有效;如果RD 为低电平;把74LS245数据传送方向置为A 端到B 端;其A→B 方向的三态门打开;单片机CPU 读取外设输入的数据..P2.0=1时;使能端G 无效;A 端和B 端处于隔离状态.. 图9-3的2个电路都采用P2.0为片选;其输入口地址为0FEFFH 默认未用地址线为1.. 7. 采用8155芯片为8051单片机系统扩展接口;外设为开关组8个开关组成和8个LED;每个开关控制1个LED..现需要读取开关组的状态;并把其状态存储到8155芯片RAM 中;若开关组的开关全部断开;则不记录..设计接口电路并编制检测程序..815MCS-图9.4 题7接口电路接口电路如图9.4所示; 8155的PB 口用作读取开关组状态;PA 口用作控制LED 组;分配地址如下:命令/状态寄存器:0100H ;PA 口:0101H ;PB 口:0102H ; PA 和PB 口为基本输入输出方式..K0控制LED0;K1控制LED1;以此类推..设存储开关状态的单元为STA TE..程序如下:CMMD EQU 0100H PORTA EQU 0101H PORTB EQU 0102H PORTC EQU 0103HSTATE EQU 20HMOV A;#02H ;初始化;工作方式控制字 MOV DPTR;# 0100H ;控制寄存器地址MOVX @DPTR; A;设置工作方式;初始化完成MOV A;#0FFH MOV DPTR;#0101H MOVX @DPTR;A ;上电后;熄灭LEDNOPMOV STATE;#0FFH ;没有开关闭合 DETECT: MOV DPTR;#0102H;PB 口地址MOVX A;@DPTR;从PB 口读开关状态MOVX @DPTR;A;从PA 口输出控制LED 指示灯NOPCJNE A;#0FFH;VALID SJMP DETECTVALID: MOV STATE;A;;记录开关状态AJMP DETECT8. 采用8255芯片为8051单片机系统扩展接口;外设为开关组8个开关组成和8个LED;每个开关对应1个LED..现需要每隔50ms 读取一次开关组的状态;并把其状态存储到内部RAM 中..设计接口电路并编制检测程序..假设系统晶振频率为12MHz..图9.5 单片机与8255接口电路图9.5为接口电路; PA 、PB 、PC 和控制寄存器地址分别为:0000H 、0001H 、0002H 和0003H..根据开关K0~K7状态控制LED0~LED7的显示状态;K0控制LED0;依此类推..设置8255的工作方式;PA 口外接开关;为方式0的输入;PB 口外接LED;为方式0的输出;则工作方式控制字的标志位D7为1;D6~D3A 组:0000; D2~D0B 组:010;组合后的控制字为:10000010;即82H..设存储开关状态的单元为STATE;用定时器/计数器T0定时50ms;工作方式为方式1;初始值为:1553650216=-M T ms;即3CB0HPORTA EQU 0100H PORTB EQU 0101H PORTC EQU 0102H CMMD EQU 0103H STATE EQU 20H //mian programACALL Ini8255; ACLL IniTimer0 WAIT:JBC TF0;DETECT SJMP WAIT DETECT: MOV TH0;#3CHMOV TL0;#0B0HMOVX A;@DPTR ;从PB口读开关状态MOV DPTR; #PortA ;PA口地址MOVX @DPTR;A ;从PA口输出控制LED指示灯NOPMOV STATE;AAJMP WAITIni8255: MOV A;#82H ;初始化;工作方式控制字MOV DPTR;#CMMD ;控制寄存器地址MOVX @DPTR; A ;设置工作方式;初始化完成MOV A;#0FFHMOV DPTR;#PORTAMOVX @DPTR;A ;上电后;熄灭LEDNOPRETIniTimer0: MOV TMOD;#01HMOV TH0;#3CHMOV TL0;#0B0HSETB TR0RET9. 简述矩阵键盘的行列扫描和线反转法原理..1行列扫描法:在按键识别过程时;依次使行线输出电平;然后检查列线的输入电平;如果所有列线的输入全为高电平;则该行无按键按下;如果不全为高电平;则被按下的按键在本行;且在输入电平变为低电平的列的交叉点上..2线反转法:第一步;首先使行线为输入;列线为输出..列线全部输出低电平;那么;行线中变为低电平的行线为按键所在的行..第二步;使行线变为输出;列线变为输入..行线输出全部为低电平;那么;列线中变为低电平的列线为按键所在的列..10. 一个简单计数器的电路原理图如图所示..要求每按一次S键;计数器计数一次;计数值送P1口显示;采用单只数码管显示;计16次后从0开始..图9.6 题10原理图1 BIT P3.3VALUE EQU 20HORG 0000HLJMP MAINORG 1000HM AIN: SETB P3.3MOV VALUE;#00ACALL DISP ;初始化显示0W AIT0: JB S1;WAIT0;ACALL DEL10MSW AIT1: JB S1;WAIT1 ;判断按下W AIT2: JNB S1;WAIT2;ACALL DEL10MSW AIT3: JNB S1;WAIT3 ;判断释放INC VALUE ;加1ANL VALUE;#00001111B ;仅显示低位ACALL DISP ;显示SJMP WAIT0//显示子程序DISP: MOV A;VALUE ;取显示信息MOV DPTR; #SEG_TAB ;字型码表的首地址MOVC A;@A+DPTR ;通过显示信息查其字型码MOV P1;A ;输出显示NOPRET//延时子程序DEL10MS:MOV R5;#10DELX: MOV R6;#200DEL0: NOPNOPNOPDJNZ R6;DEL0DJNZ R5;DELXRETS EG_TAB: DB 0C0H; 0F9H; 0A4H; 0B0H; 99H; 92H; 82H; 0F8H; 80H; 90HDB 88H; 83H; 0C6H; 0A1H; 86H; 8EH ;以下为显示字型码表;0~9;A~FEND11. 简述LED数码管的静态显示和动态显示原理..1静态显示:在多位静态显示时;各个LED数码管相互独立;公共端COM接地共阴极或接正电源共阳极..每个数码管的8个显示字段控制端分别与一个8位并行输出口相连;只要输出口输出字型码;LED数码管就立即显示出相应的字符;并保持到输出口输出新的字型码..2动态显示:多位LED数码管动态显示方式是各个LED数码管一位一位地轮流显示..在硬件电路上;各个数码管的显示字段控制端并联在一起;由一个8位并行输出口控制;各个的LED数码管的公共端作为显示位的位选线;由另外的输出口控制..动态显示时;各个数码管分时轮流地被选通;即在某一时刻只选通一个数码管;并送出相应的字型码;并让该数码管稳定地显示一段短暂的时间;在下一时刻选通另一位数码管;并送出相应的字型码显示;并保持显示一段时间;如此循环;即可以在各个数码管上显示需要显示的字符..图9.7 LED数码管静态显示原理图9.8 LED数码管动态显示原理12. 用P1和P3口作为输出口;设计一个5位的LED数码管显示系统;并在显示器上显示“HELLO”..+5V图 9.9 题12接口电路图接口电路图如图9.9所示;用2片74LS245提高接口的驱动能力;LED数码管为共阴型..程序如下:SEG_OUT EQU P3BIT_OUT EQU P1//====================================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV 20H;#40H //显示" HELLO" 对应字型表序号编码:40 12 23MOV 21H;#12HMOV 22H;#23HMOV R1;#30HMOV R0;#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DSPLY1SJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//===========================================//6位显示DSPLY1: MOV R0; #30H ;显示缓冲区地址MOV R2; #11111110B ;显示起始位置REDO: ACALL DISP ;显示1位MOV A; R2 ;计算下一个显示位置 RL AMOV R2; AINC R0 ;修改显示缓冲区地址指针 XRL A; #10111111B ;6位显示完否JNZ REDO ;未完;继续显示RET ;返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV S EG_OUT; A ;输出字型码MOV A; R2 ;取显示位置MOV BIT_OUT; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOV BIT_OUT;ARET;字型码表LED_SEG: DB 76H ; H 序号:00DB 79H ; E 序号:01DB 38H ; L 序号:02DB 3FH ; 0 序号:03DB 00H ; BLANK 序号:04DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETEND13. 一个显示电路如图9.60所示..请采用串行口方式0实现LED数码管的动态显示;在显示器上自左向右动态显示“654321”;每个字符保持时间为0.1s..图9.10 习题13原题电路图ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV 20H;#12H //显示数据MOV 21H;#34HMOV 22H;#56HMOV R1;#30HMOV R0;#20HCALL SPLIT //分离BCD码INC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DISPLYSJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//================================DISPLY: MOV R0; #30H ;显示缓冲区首地址MOV R2; #05H ;显示位置;最右端1位NEXT: ACALL DISP11 ;显示INC R0 ;修改显示缓冲区地址指针DEC R2 ;计算下一位显示位置CJNE R2; #0FFH; NEXT ;6位显示完否RET ;显示完返回;显示1位子程序DISP11: MOV A; @R0 ;取显示数据MOV DPTR; #SEG_TABMOVC A; @A+DPTR ;取显示数据的字型码MOV SBUF; A ;输出字型码GOON: JBC TI; DPLYAJMP GOONDPLY: MOV A; R2MOV P1; A ;输出显示位置ACALL DL100MS ;延时MOV P1;#07HRET;字型码表SEG_TAB:DB 0C0H; 0F9H; 0A4H; 0B0H; 99H; 92H; 82H; 0F8H; 80H; 90H DB 88H; 83H; 0C6H; 0A1H; 86H; 8EH//====================================DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETDL100MS:MOV R6;#100DELX0: ACALL DL1MSDJNZ R6;DELX0RETEND14. 采用8155或8255扩展I/O口;设计一个显示电路显示“654321”..图9.11 采用8255扩展的LED数码管动态显示接口电路图9.11为采用8255扩展的LED数码管动态显示接口电路..图中PA口用于输出字型码;PB口用于输出显示位置;LED数码管为共阴型;显示位置采用译码器译码的方式实现..在电路中采用同相缓冲器74LS07提高PA口的驱动能力;同相驱动器SN75451用于驱动显示器的公共端..电路中8255的PA和PB口处于基本输入/输出方式的输出模式;PA口地址为0000H;PB口为0001H;命令寄存器地址为0003H..定义SEG_OUT为PA口地址;BIT_OUT为PB口地址..程序如下://定义区SEG_OUT EQU 0000H //PortA 输出字型码BIT_OUT EQU 0001H //PortB输出位控码PortC EQU 0002H//CMMD EQU 0003H//命令寄存器地址//========================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV DPTR;#CMMD //8255初始化MOV A;#10000000B //方式0;A/B/C口为输出MOVX @DPTR;ANOPNOPMOV 20H;#12H //显示数据MOV 21H;#24HMOV 22H;#56HMOV R1;#30HMOV R0;#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DSPLY2SJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//===========================================//6位显示DSPLY2: MOV R0; #30H ;显示缓冲区首地址MOV R2; #00000000B ;显示起始位置REDO: ACALL DISP ;显示1位INC R2 ;计算下一次的显示位置INC R0 ;修改显示缓冲区指针CJNE R2; #06H; REDO ;6位显示完否RET ;显示结束返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV D PTR; #SEG_OUT ;字型码输出口地址MOVX @DPTR; A ;输出字型码MOV A; R2 ;取显示位置MOV D PTR; #BIT_OUT ;显示位置输出口地址MOVX @DPTR; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOVX @DPTR; ARET;字型码表LED_SEG: DB 3FH;06H;5BH;4FH;66H;6DH;7DH;07H ;'0;1;2;3;4;5;6;7' DB 7FH;6FH;77H;7CH;39H;5EH;79H;71H ;'8;9;A;B;C;D;E;F' DB 3EH; 50H; 40H; 08H; 00H ;'U; r; -; _; BLANK//======================================DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETEND15. 一个单片机的键盘显示系统采用3×4矩阵式键盘、8位LED数码管显示器..12个按键定义为数字键0~9、功能键ENTER和STOP..系统工作时;键入一组数值;按下ENTER键后;新数值替换原来的显示值在显示器上循环显示;按下STOP键;循环显示终止;显示数据被清除..设计硬件电路和编写相应的程序..+5V图9.12 题15原理图//definationSEG_OUT EQU P2 //字型输出BIT_OUT EQU P3 //位控输出DISPBUF EQU 40H //显示缓冲区40H~47HSETPTR EQU 38H //设定数据时的存指针的单元HOLDTIME EQU 39H //ENTER时;存储每位稳定时间的单元DLETIME EQU 255 //enter稳定时间BIT_CODE EQU 3AH //ENTER时存字型的单元BIT_LOC EQU 3BH //ENTER时存位控的单元ETR_FLAG BIT 28H.0 //ENTER按下标志STP_FLAG BIT 28H.1 //STOP按下标志//============================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60H//======================ENTER按下的初始化=================CLR ETR_FLAGCLR STP_FLAGMOV HOLDTIME;#DLETIME //ENTER按下时;每位的保持时间MOV BIT_CODE;#DISPBUFMOV BIT_LOC;#01111111B//===========清显示缓冲区=========MOV R0;#DISPBUFMOV R3;#8ACALL CLRRAM;MOV SETPTR;#DISPBUF //设定指针初始化;未键入数据时;显示“-”MOV DISPBUF;#12HSCANK: MOV P1;#0FH //键盘扫描MOV A;P1ANL A;#00000111BXRL A;#00000111BJZ NON0ACALL DL20MS //消抖MOV P1;#0FHMOV A;P1ANL A;#00000111BXRL A;#00000111BJZ NON0 //键按下//此处判断哪个键按下MOV R3;#11101111BCONTI: MOV P1;R3MOV A;P1 // 逐行扫描ANL A;#00000111BXRL A;#00000111BJNZ FOUNDMOV A;R3RL AMOV R3;AXRL A;#11111110BJNZ CONTINON0: JMP NON //没有键按下FOUND: MOV P1;#00000111BMOV A;P1ANL A;#00001111BMOV R4;A //暂存列编码MOV A;R3ANL A;#11110000B //取行编码ORL A;R4MOV R4;A // 存特征码;等待键释放NO_RLSE:MOV P1;#0FH //键释放MOV A;P1ANL A;#00000111BXRL A;#00000111BJNZ NO_RLSEACALL DL20MS //消抖MOV P1;#0FHMOV A;P1ANL A;#00000111BXRL A;#00000111BJNZ NO_RLSEMOV A;R4CJNE A;#0E6H;NUM2MOV R4;#01HJMP GODISP //1NUM2: CJNE A;#0E5H;NUM3MOV R4;#02H //2JMP GODISPNUM3: CJNE A;#0E3H;NUM4MOV R4;#03H //3JMP GODISPNUM4: CJNE A;#0D6H;NUM5MOV R4;#04H //4JMP GODISPNUM5: CJNE A;#0D5H;NUM6MOV R4;#05H //5JMP GODISPNUM6: CJNE A;#0D3H;NUM7MOV R4;#06HJMP GODISP //6NUM7: CJNE A;#0B6H;NUM8MOV R4;#07HJMP GODISP //7NUM8: CJNE A;#0B5H;NUM9MOV R4;#08HJMP GODISP //8NUM9: CJNE A;#0B3H;ENTERMOV R4;#09HJMP GODISP //9ENTER: CJNE A;#076H;NUM0MOV R4;#0AH //ENTERJMP ETR_DISP //ENTER按下;循环显示NUM0: CJNE A;#075H;STOPMOV R4;#00H //0JMP GODISPSTOP: CJNE A;#073H;NUMXMOV R4;#0BHJMP STP_DISP // STOP按下NUMX: JMP NON //没有按键按下GODISP: CLR ETR_FLAGCLR STP_FLAGMOV R0;SETPTRMOV A;R4MOV @R0;AINC R0MOV SETPTR;R0CJNE R0;#DISPBUF+8;GOONMOV SETPTR;#DISPBUFGOON: JMP REDNON: JB ETR_FLAG;ETR_DISP //无键按下;之前ENTER按下JB STP_FLAG;STP_DISP //无键按下;之前STOP按下//无键按下;之前有数字键按下RED: MOV R0;#DISPBUFACALL DSPLY1 //显示键入的数据JMP SCANKETR_DISP:MOV SETPTR;#DISPBUF //enter件按下;设定数据循环显示SETB ETR_FLAGMOV R0;BIT_CODEMOV R2;BIT_LOC ;显示起始位置ACALL DISP ;显示1位DJNZ HOLDTIME; SKIP0MOV HOLDTIME;#DLETIMEMOV A; BIT_LOC ;计算下一个显示位置RR AMOV BIT_LOC;AINC BIT_CODE ;修改显示缓冲区地址指针XRL A;#01111111B ;8位显示完否JNZ SKIP0MOV BIT_CODE;#DISPBUFMOV BIT_LOC;#01111111BMOV HOLDTIME;#DLETIME ;未完;继续显示SKIP0: J MP SCANK ;返回//STOP处理STP_DISP: MOV SETPTR;#DISPBUFSETB STP_FLAGMOV R0;#DISPBUFMOV R3;#8ACALL CLRRAM; //清显示缓冲区内容MOV DISPBUF;#12HMOV R0;#DISPBUF //最左边显示“-”ACALL DSPLY1JMP SCANK//===========================================//8位显示DSPLY1: MOV R2; #01111111B ;显示起始位置REDO: ACALL DISP ;显示1位MOV A; R2 ;计算下一个显示位置RR AMOV R2; AINC R0 ;修改显示缓冲区地址指针XRL A; #01111111B ;8位显示完否JNZ REDO ;未完;继续显示RET ;返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV S EG_OUT; A ;输出字型码MOV A; R2 ;取显示位置MOV BIT_OUT; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOV BIT_OUT;ARET;字型码表LED_SEG: DB 3FH;06H;5BH;4FH;66H;6DH;7DH;07H ;'0;1;2;3;4;5;6;7' DB 7FH;6FH;77H;7CH;39H;5EH;79H;71H ;'8;9;A;B;C;D;E;F' DB 3EH; 50H; 40H; 08H; 00H ;'U; r; -; -; BLANKDL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETDL20MS: MOV R7;#20; 12M时延时20msDEL00: ACALL DL1MSDJNZ R7;DEL00RETCLRRAM: MOV @R0;#14H //不显示INC R0DJNZ R3;CLRRAMRETEND16. 简述A/D和的作用..A/D把模拟量变成数字量..D/A把数字量转换成模拟量..17. 在检测系统中;通常采用均值滤波的方法来消除检测数据的随机干扰;即连续采样多次;取平均值作为测量值..采用ADC0809设计一个检测系统;对IN5通道接入的模拟采样8次;把它们的均值存放在30H单元..+R八路模拟量输入图9.12 题17的MCS-51单片机与ADC0809的接口电路18. 采用ADC0809设计一个8路巡回检测系统;每隔50ms对8个回路检测1次;并把采样值存储在40H开始的区域..系统晶振频率为12MHz..接口电路与题17相同..程序流程图见图9.13..程序如下:ORG 0000HLJMP STARTORG 000BHLJMP Timer0InterruptSTART:MOV SP;#60HLCALL InitTimer0MOV R0;#40H ;置数据区首地址指针MOV R6;#00H ;指向模拟量输入通道0;通道地址的低八位LOOP: NOPLJMP LOOPInitTimer0:;定时器0;定时50msMOV TMOD; #01H MOV TH0; #3CH MOV TL0; #0B0H SETB EA SETB ET0 SETB TR0 RETTimer0Interrupt: PUSH DPH PUSH DPLPUSH ACC MOV TH0; #3CH MOV TL0; #0B0H MOV DPH; #0BFH ;P2.6=0;通道地址的高八位 MOV DPL;R6 ;模拟通道0 MOVX @DPTR;A ;启动A/D 转换.. WAITAD: JB P3.3; WAITADMOVX A;@DPTR ;读A/D 转换结果 MOV @R0;A ;存转换结果 INC R0 ;修改数据区指针 INC R6;模拟通道地址加1 CJNE R6;#08;EXIT ;8个通道全采样完了吗MOV R6;#00H ;8路巡检结束;重新采样模拟量输入通道IN0 MOV R0;#40H;重设数据区首地址指针EXIT:POP ACCPOP DPL POP DPH RETIEND19. 采用2片ADC0809为8051单片机扩展16路模拟量输入通道.. 图9.13 地址分析:IC2:P2.7=1;P2.6=0;8个通道地址为: IN0:8000H ; IN1:8001H IN2:8002H ; IN3:8003H IN4:8004H ; IN5:8005H IN6:8006H ;IN7:8007HIC3:P2.7=0;P2.6=1;8个通道地址为:图9.13 题18 程序流程图IN0:4000H;IN1:4001HIN2:4002H;IN3:4003HIN4:4004H;IN5:4005HIN6:4006H;IN7:4007H+R八路模拟量输入八路模拟量输入图9.14 2片ADC0809为8051单片机接口电路图20. 用8051单片机和DAC0832设计一个应用系统;输出连续的三角波..接口电路和程序框图见图9.15..ORG 0020HMOV DPTR;#7FFFH ;指向0832LOOP: MOV R2;#0FFH ;循环次数MOV A;#00H ;赋初值LOOP1:MOVX @DPTR;A ;D/A转换输出INC ADJNZ R2;LOOP1MOV R2;#0FEHLOOP2:DEC AMOVX @DPTR;A DJNZ R2;LOOP2 ALMP LOOP END+5VDAC0832A VoutMCS-51P2.7WRDI7Vcc ILE Vref Rfb Iout1Iout2AGNDDGNDP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0DI6DI5DI4DI3DI2DI1DI0+-CSXFERWR2WR1a 接口电路b 程序流程框图图9.15 题20接口电路和程序流程框图21. 用8051单片机和DAC0832设计一个应用系统;连续输出周期为5.12秒的三角波提示:每10ms 转换1次;三角波的周期等于定时时间×转换次数..接口电路如图9.15..程序框图见图9.16图9.16 题21程序流程图ORG 0000H LJMP START ORG 000BHLJMP Timer0InterruptSTART: MOV SP; #60HLCALL InitTimer0 ;定时初始化MOV R6;#0;三角波DA 转换值;起始值为0MOV R7;#0;三角波上升下降标志;0 = 上升;1 = 下降 LOOP:;主处理程序NOPNOP ALMP LOOPInitTimer0:MOV TMOD;#01H MOV TH0; #0D8H MOV TL0; #0F0H SETB EA SETB ET0 SETB TR0 RETTimer0Interrupt:MOV TH0; #0D8H MOV TL0; #0F0H CJNE R7; #0; LOOP1 INC R6CJNE R6; #0FFH; LOOP01 MOV R7; #1LOOP01: MOV DPTR; #7FFFH;指向0832MOV A; R6 MOVX @DPTR;A;D/A 转换输出SJMP RET0LOOP1: DEC R6CJNE R6; #0; LOOP11 MOV R7; #0LOOP11: MOV DPTR; #7FFFH;指向0832MOV A; R6 MOVX @DPTR;A;D/A 转换输出SJMP RET0RET0: RETIEND22. 用8051单片机和DAC0832设计一个应用系统;输出占空比为50%的双极性方波;幅值在–5~+5V 之间..接口电路见图9.17;程序流程框图见图9.18..根据图9.17接口电路的连接关系;可以推导出下列公式:Vref)(2Vo1Vref)2R 2R Vo1R 2R (Vout +-=+-=程序流程框图见图9.17..程序如下: ORG 1000HSTART: MOV DPTR;#7FFFHLOOP: MOV A;#00H MOVX @DPTR;A CALL DELAY10MS MOV A;#0FFH MOV @DPTR;A CALL DELAY10MSJMP LOOP+5VDAC0832A Vo18051P2.7WRDI7Vcc ILE Vref Rfb Iout1Iout2AGND DGNDP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0DI6DI5DI4DI3DI2DI1DI0+-CS XFERWR2WR1A Vout+-2RR 2R图9.17 接口电路图图9.18 程序流程图。
单片机原理及接口技术
单片机原理及接口技术单片机(Microcontroller)是一种集成了微处理器核心、存储器、输入/输出端口和定时器等功能于一体的计算机系统。
它具有成本低廉、体积小巧、功耗低等优点,广泛应用于各个领域。
本文将介绍单片机的原理及接口技术。
一、单片机原理1. 单片机的组成结构单片机通常由CPU、存储器、输入/输出口、定时/计数器、中断系统等组成。
其中,CPU是单片机的核心,负责执行程序指令;存储器用于存储程序和数据;输入/输出口用于与外部设备进行数据交互;定时/计数器用于计时和计数;中断系统可以处理外部事件。
2. 单片机的工作原理单片机工作时,先从存储器中加载程序指令到CPU的指令寄存器中,然后CPU执行指令并根据需要从存储器中读取数据进行计算和操作,最后将结果写回存储器或输出到外部设备。
3. 单片机的编程语言单片机的程序可以使用汇编语言或高级语言编写。
汇编语言是一种低级语言,直接使用机器码进行编程,对硬件的控制更加精细,但编写和调试难度较大。
而高级语言(如C语言)可以将复杂的操作用简单的语句描述,易于编写和阅读,但对硬件的控制相对较弱。
二、单片机的接口技术1. 数字输入/输出接口(GPIO)GPIO是单片机与外部设备进行数字信号交互的通道。
通过配置GPIO的输入或输出状态,可以读取外部设备的状态或者输出控制信号。
GPIO的配置包括引脚的模式、电平状态和中断功能等。
应根据具体需求合理配置GPIO,以实现与外部设备的稳定通信。
2. 模拟输入/输出接口单片机通常具有模数转换器(ADC)和数模转换器(DAC),用于模拟信号的输入和输出。
ADC将模拟信号转换为数字信号,以便单片机进行处理。
而DAC则将数字信号转换为模拟信号,用于驱动模拟设备。
模拟输入/输出接口的配置需要考虑转换精度、采样率和信噪比等因素。
3. 串行通信接口串行通信接口允许单片机与其他设备进行数据交换。
常见的接口包括UART(通用异步收发器)、SPI(串行外设接口)和I2C(串行外设接口),它们具有不同的通信速率和传输协议。
单片机原理及接口技术 李朝青 第4版
3、CPU中的主要寄存器
1)累加器(A) 2)数据寄存器(DR) 3)指令寄存器(IR) 4)指令译码器(ID) 5)程序计数器(PC) 6)地址寄存器(AR)
单片机原理及接口技术
1)累加器(A)
累加器是微处理器中最繁忙的寄存器。 在算术和逻辑运算时,它具有双重功能:
运算前,用于保存一个操作数; 运算后,用于保存所得的和、差或逻辑运算结果。
例如: 两个数(7和9)相加,在相加之前,操作数
9放在累加器中,7放在数据寄存器中,执行两 数相加运算的控制线发出“加”操作信号,ALU 即把两个数相加并把结果(16)存入累加器, 取代累加器前面存放的数9。
单片机原理及接口技术
3)ALU的两个主要的输入来源
输入来源
累加器 数据寄存器
单片机原理及接口技术
设计者:刘艳玲
单片机原理及接口技术
第1章 微机基础知识
1.1 微处理器、微机和单片机的概念 1.2 微机的工作过程 1.3 常用数制和编码 1.4 数据在计算机中的表示 1.5 89C51/S51单片机 1.6 思考题与习题
单片机原理及接口技术
§1.1 微处理器、微机和单片机的概念
§1.1.1 微处理器(机)的组成 §1.1.2 存储器和输入输出接口
单片机原理及接口技术
5)程序计数器(PC)
通常又称为指令地址计数器。 在程序开始执行前,必须将其起始地址,即程序的
第一条指令所在的内存单元地址送到PC。
当执行指令时,CPU将自动修改PC的内容,使之总是保 存将要执行的下一条指令的地址。
由于大多数指令都是按顺序执行的,所以修改的过程 通常是简单的加1操作。
1)运算器的组成
运算器
单片机原理及接口技术-习题答案第四版李朝青(修订后)
单片机原理及接口技术课后习题答案(第四版)李朝青第一章1.什么是微处理器(CPU)、微机和单片机?答微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
2.单片机具有哪些特点(1)片内存储容量越来越大。
(2 抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。
3. 微型计算机怎样执行一个程序?答:通过CPU指令,提到内存当中,再逐一执行。
4. 微型计算机由那几部分构成?微处理器,存储器,接口适配器(即I/O接口),I/O设备第二章1.89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个2.89C51的EA端有何用途?答:/EA端接高电平时,CPU只访问片内并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。
/EA 端保持高电平时,CPU执行内部存储器中的指令。
3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits地址)(256B)4. 简述89C51片内RAM的空间分配。
2024版单片机原理及其接口技术胡汉才
•单片机概述•单片机内部结构•指令系统与程序设计目录•中断系统与外部扩展技术•接口电路设计与应用实例•调试方法与技巧01单片机概述单片机定义与特点定义特点单片机发展历程及趋势发展历程发展趋势8051系列PIC系列AVR系列ARM系列常见单片机类型介绍应用领域与前景展望应用领域工业自动化、智能仪表、汽车电子、智能家居、医疗设备、通信设备等领域。
前景展望随着物联网、人工智能等技术的不断发展,单片机的应用领域将进一步拓展,市场需求将持续增长。
同时,单片机的性能将不断提高,功能将不断完善,开发工具和支持将更加丰富,使得单片机的设计和开发更加便捷和高效。
02单片机内部结构CPU结构与功能运算器控制器寄存器组控制单片机各部分协调工作暂存数据和地址执行算术和逻辑运算程序存储器存放程序和常数数据存储器存放变量和中间结果特殊功能寄存器控制单片机的特定功能存储器组织与访问方式I/O端口及扩展方法并行I/O端口串行I/O端口I/O端口扩展方法定时器/计数器原理及应用定时器原理计数器原理定时器/计数器应用03指令系统与程序设计指令格式及寻址方式指令格式寻址方式寻址方式是指如何找到操作数的地址或数据。
常见的寻址方式有直接寻址、间接寻址、寄存器寻址、立即寻址等。
数据传送指令用于在单片机内部或外部存储器之间,以及存储器和累加器之间传送数据。
算术运算指令包括加、减、乘、除等基本算术运算,以及求补、比较等扩展运算。
逻辑运算指令用于执行与、或、非等逻辑运算,以及位操作等。
控制转移指令用于改变程序的执行流程,如条件转移、无条件转移、子程序调用等。
常见指令类型介绍汇编语言程序设计基础伪指令与宏定义的可读性和可维护性。
程序结构与设计执行效率。
调试与仿真实用程序设计技巧中断处理中断是单片机处理外部事件的重要方式,合理设计中断处理程序可以提高系统的实时性和响应速度。
资源优化单片机资源有限,需要合理规划和使用资源,如内存、I/O端口、定时器等,以提高系统的性能和稳定性。
单片机原理与接口技术课后答案
单片机原理与接口技术课后答案以下为单片机原理与接口技术课后答案:1. 什么是单片机?单片机是一种高度集成的计算机内核,具有处理器、内存、输入/输出接口等元件,可以用于控制、处理和操作外部设备。
2. 单片机的工作原理是什么?单片机的工作原理是通过执行存储在其内部存储器中的指令,来控制外围设备的操作。
它具有时钟、ALU、寄存器和一个指令集,通过时钟信号的控制,按照程序指令的顺序进行执行。
3. 单片机与外部设备的连接方式有哪些?单片机与外部设备的连接方式有并行接口、串行接口、通信总线接口等。
4. 并行接口是如何工作的?并行接口是使用多个传输线同时传输数据的接口。
单片机通过并行接口的数据总线,向外部设备发送数据或接收数据,同时通过控制线发送控制信号。
5. 串行接口是如何工作的?串行接口是使用单个传输线逐位传输数据的接口。
单片机通过串行接口的发送线发送数据,通过接收线接收数据,并且通过控制线发送控制信号。
6. 通信总线接口是如何工作的?通信总线接口通过将单片机与外部设备连接到同一总线上,实现它们之间的通信。
单片机可以通过总线向外部设备发送数据或接收数据。
7. 单片机的输入接口如何实现?单片机的输入接口可以通过输入寄存器、输入缓冲器和输入/输出控制电路等,将外部设备的信号输入到单片机中。
8. 单片机的输出接口如何实现?单片机的输出接口可以通过输出寄存器、输出缓冲器和输出/输入控制电路等,将单片机中的数据发送到外部设备。
9. 单片机的中断技术是什么?单片机的中断技术是在执行程序的过程中,根据一定的条件发生中断,暂停当前的程序执行,转而处理中断服务程序,然后再返回到原来的程序继续执行。
10. 单片机的定时器/计数器是什么?单片机的定时器/计数器是一种可编程的设备,可用于产生定时延迟、计数外设事件等。
它可以通过编程设置计数范围和工作方式,在给定的时钟信号下进行计数操作。
以上为单片机原理与接口技术课后答案。
微机原理与接口技术(第四版)课后习题答案
第1章微型电脑系统①处理器每个单位时间可以处理的二进制数据位数称电脑字长。
②总线信号分成三组,分别是数据总线、地址总线和控制总线。
③PC机主存采用DRAM组成。
④高速缓冲存储器Cache是处理器与主存之间速度很快但容量较小的存储器。
⑤ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。
⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
⑦主板芯片组是主板的核心部件,它提供主板上的关键逻辑电路。
⑧MASM是微软开发的宏汇编程序。
⑨指令的处理过程。
处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令〔简称取指〕,翻译指令代码的功能〔简称译码〕,然后执行指令所规定的操作〔简称执行〕的过程。
⑩机器语言层,即指令集结构。
〔学生很多认为是:汇编语言层。
前4章主要涉及汇编语言,但本书还有很多处理器原理等内容〕〔习题1.3〕填空题①Central Processing Unit,中央处理单元,处理器②1MB,4GB③216,64KB④EXE,COM⑤Instruction Set Architecture⑥目录⑦MMX,SSE3⑧64⑨IBM,DOS⑩PCI〔习题1.4〕说明微型电脑系统的硬件组成及各部分作用。
〔解答〕CPU:CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和假设干高速存储单元〔即寄存器〕。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入〔Input〕设备和输出〔Output〕设备,也称I/O设备。
I/O设备通过I/O接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
单片机原理及接口技术试题及答案
单片机原理及接口技术一、判断题1. 指令字节数越多,执行时间越长。
……………………………………()2. 内部寄存器Rn(n=0~7)作为间接寻址寄存器。
……………………()3. 8031芯片内一共有4K的ROM,256字节的RAM。
……………………()4. 8位构成一个字节,一个字节所能表达的数的范围是0-255。
………()5. 8051中的工作寄存器就是内部RAM中的一部份。
………………………()6. 8051中特殊功能寄存器(SFR)就是内部RAM中的一部份。
…………()7. MOV A,@R0这条指令中@R0的寻址方式称之为寄存器间址寻址。
……()8. MOV A,30H这条指令执行后的结果是(A)=30H ………………………()9. MOV A,@R7,将R7单元中的数据作为地址,从该地址中取数,送入A中()10. SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关()二、简答题1. 分别列出传送指令、算术指令、逻辑指令和转移指令。
2. 指出下列指令的寻址方式:1):MOV A,#01 3):ADD A,10H2):MOV A,@R0 4):SETB 20H3. 要设置T0为16位计数器;T1为8位定时器,请填写TMOD寄存器4. 说出SCON中SM0 SM1 SM2 REN TB8 RB8 TI RI 的意义和功能5. 按动态扫描设计,6根线可以接多少个按键?并画出与51单片机的接线图。
6. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ____;(DPL)=_______;(SP)=_______;7. 分析下列程序的功能PUSH ACCPUSH BPOP ACCPOP B8. 三片6264的地址范围分别是多少?(地址线未用到的位填1)9. 给8031单片机扩展一片2716和6116,请画出系统连接图,并给出地址范围。
单片机原理及运用和单片机接口技术
单片机原理及运用和单片机接口技术1. 单片机的原理及运用:单片机(Microcontroller)是一种集成电路,包含了处理器(CPU)、存储器(RAM 和ROM)、输入输出接口(I/O)、定时器/计数器等功能模块。
单片机通过内部程序的控制实现各种功能,广泛应用于嵌入式系统中。
单片机的工作原理是通过执行内部程序指令来完成各种任务。
单片机的内部存储器(ROM)中存储了一段程序代码,CPU会按照程序指令的顺序执行这些代码。
通过编写适当的程序代码,可以实现各种功能,如控制外部设备、处理数据等。
单片机可以应用于各种领域,如家电控制、工业自动化、电子仪器仪表和通信设备等。
在家电控制方面,单片机可以实现对电灯、电视、空调等设备的控制;在工业自动化方面,单片机可以用于控制机器人、生产线等;在电子仪器仪表方面,单片机可以实现对传感器的数据采集和处理;在通信设备方面,单片机可以用于控制无线通信模块等。
2. 单片机接口技术:单片机接口技术是指将单片机与外部设备连接起来的技术。
通过合适的接口技术,单片机可以与各种外部设备进行通信和控制。
常见的单片机接口技术包括以下几种:2.1 并行接口(Parallel Interface):并行接口是一种多线接口,通过多根线同时传输数据。
在单片机中,常用的并行接口是通用并行接口(GPIO),可以用来连接并行设备,如LED显示屏、液晶显示模块等。
2.2 串行接口(Serial Interface):串行接口是一种逐位传输数据的接口,通过少量的线路传输数据。
常见的串行接口有串行通信接口(UART)、SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)接口。
串行接口适用于连接串行设备,如串口设备、传感器等。
2.3 模拟接口(Analog Interface):模拟接口用于连接模拟设备,如传感器、电机等。
单片机通过模拟输入输出口(ADC和DAC)与模拟设备进行通信,实现模拟信号的采集和输出。
单片机原理及接口技术,习题答案第四版李朝青
单片机原理及接口技术课后习题答案(第四版)李朝青、、、、、、、、、、、、、、、、前两章略、、、、、、、、、、、、、、、、第三章1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6、MOV A,40H ;直接寻址(40H)→AMOV R0,A ;寄存器寻址(A)→R0MOV P1,#0F0H ;立即数寻址0F0→P1MOV @R0,30H ;直接寻址(30H)→(R0)MOV DPTR,#3848H ;立即数寻址3848H→DPTRMOV 40H,38H ;直接寻址(38H)→40HMOV R0,30H ;直接寻址(30H)→R0MOV P0,R0 ;寄存器寻址(R0)→P0MOV 18H,#30H ;立即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址((R0))→AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、用直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;立即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、用直接寻址,位寻址,寄存器寻址11、只能采用寄存器间接寻址(用MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)高128字节:直接寻址,位寻址,寄存器寻址13、采用变址寻址(用MOVC指令)14、压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。
单片机原理及接口技术部分习题与参考答案
《单片机原理及接口技术(修订本)》部分习题与参考答案第1章绪论1-2 什么叫单片机一个完整的单片机芯片至少有哪些部件答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一块集成电路上,称为单片微型计算机,简称单片机。
一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。
1-5 Intel 公司的主要单片机产品分为哪几大系列各系列的区别何在答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;48系列的单片机在片内集成4位CPU,片内含有多种I/O接口,有的根据不同用途还配有许多专用接口,价格便宜,控制功能强。
51系列的单片机在片内集成8位CPU、片内RAM为128字节,ROM为4K字节,4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。
96系列单片机CPU为16位,片内RAM为232字节,ROM为8K字节,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。
1-6 叙述51子系列与52子系列的区别答:51子系列包含8031/8051/8751三种型号,它们的基本组成、基本性能都相同,都具有一个8位CPU、片内数据存储器RAM128B、2个16位定时/计数器、有5个中断源,一个全双工串行接口,它们之间的区别在于片内程序存储器配置:8031片内没有ROM,使用时需在片外接EPROM。
8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。
8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
52子系列包含8032/8052/8752三种型号,52子系列与51子系列的区别在于:片内ROM 和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。
第2章 MCS-51系列单片机的结构及原理2-2 MCS-51单片机的引脚有何功能在使用8031时如何接法使用8751时如何接法答:引脚是片内外程序存储器的选择信号。
《单片机原理及接口技术》教案
第一章微机基础知识一、教学目的复习微机基础知识,入门单片机二、教学重点单片机的学习开发方法三、教学难点单片机的学习开发方法四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●微机知识复习约25 分钟(语言表述)●单片机应用介绍约25 分钟(语言表述结合黑板讲解,powerpoint)●单片机开发方法约25 分钟(语言表述结合黑板讲解,powerpoint)●常用单片机介绍约10分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)第二章89C51单片机硬件结构和原理一、教学目的学习51单片机内部资源二、教学重点51单片机的存储器结构三、教学难点存储器结构和输入输出口四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●内部结构剖析约30 分钟(语言表述结合黑板讲解,powerpoint)●单片机引脚及其功能约25 分钟(语言表述结合黑板讲解,powerpoint)●单片机存储器配置约40 分钟(语言表述结合黑板讲解,powerpoint)●时钟电路和复位操作约25分钟(语言表述结合黑板讲解,powerpoint)●低功耗方式约20分钟(语言表述结合黑板讲解,powerpoint)●输入输出口约35分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:2.6,2.16. 2.22第三章指令系统一、教学目的学习51单片机指令系统二、教学重点寻址方式、数据传送类和转移类指令三、教学难点寻址方式、转移类指令四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●汇编语言格式约20 分钟(语言表述结合黑板讲解,powerpoint)●寻址方式约65 分钟(语言表述结合黑板讲解,powerpoint)●指令系统约90 分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:3.5,3.26,3.36第四章汇编语言程序设计知识一、教学目的学习51单片机汇编程序设计方法二、教学重点汇编程序设计结构三、教学难点子程序设计中参数传递方法四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●汇编语言编程步骤约15 分钟(语言表述结合黑板讲解,powerpoint)●编程方法介绍约45 分钟(语言表述结合黑板讲解,powerpoint)●伪指令约10 分钟(语言表述结合黑板讲解,powerpoint)●源程序的编辑与汇编约15分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)第五章中断系统一、教学目的学习51单片机中断系统二、教学重点51单片机的中断响应过程、中断服务子程序的编写三、教学难点中断响应过程四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●微机输入输出方式约5分钟(语言表述结合黑板讲解,powerpoint)●中断概念约10 分钟(语言表述结合黑板讲解,powerpoint)●中断系统结构约30 分钟(语言表述结合黑板讲解,●中断控制约30分钟(语言表述结合黑板讲解,powerpoint)●中断响应过程约30分钟(语言表述结合黑板讲解,powerpoint)●中断服务程序举例约25分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:5.2,5.4,5.8,5.16第六章定时器及其应用一、教学目的学习51单片机定时器及其应用二、教学重点定时器的四种工作模式应用三、教学难点定时器四种工作模式及应用程序设计四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●定时器概述约10分钟(语言表述结合黑板讲解,powerpoint)●定时器的控制约35 分钟(语言表述结合黑板讲解,●定时器的工作模式及应用约50 分钟(语言表述结合黑板讲解,powerpoint)●综合应用举例约35分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:6.2,6.5,6.8第七章89C51串行口及串行通信技术一、教学目的学习51单片机串行口及其应用二、教学重点串行口的四种工作方式以及应用三、教学难点串行口的工作方式四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●串行通信基本知识约10分钟(语言表述结合黑板讲解,powerpoint)●51单片机的串行口约35 分钟(语言表述结合黑板讲解,powerpoint)●串口工作模式及应用约45 分钟(语言表述结合黑板讲解,powerpoint)●89C51与89C51点对点异步通信约20分钟(语言表述结合黑板讲解,powerpoint)●89C51与PC机异步通信约20分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:7.2,7.4,7.12第八章单片机小系统及外扩展一、教学目的学习51单片机系统扩展方法二、教学重点存储器的扩展、总线扩展三、教学难点串行总线扩展四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●串行总线扩展约45分钟(语言表述结合黑板讲解,powerpoint)●并行总线扩展约25 分钟(语言表述结合黑板讲解,powerpoint)●存储器扩展举例约45 分钟(语言表述结合黑板讲解,powerpoint)●外部中断扩展约15分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:8.4,8.6,8.12第九章应用系统配置及接口技术一、教学目的学习应用系统配置及接口技术二、教学重点单片机与键盘、LED、AD/DA转换芯片的接口技术三、教学难点矩阵键盘、串行接口芯片与单片机的接口四、教学方法讲解与黑板的板书,powerpoint五、教学用具黑板、电脑、投影仪六、教学过程:●键盘及其与单片机接口约40分钟(语言表述结合黑板讲解,powerpoint)●LED、LCD显示器接口约45 分钟(语言表述结合黑板讲解,powerpoint)●A/D转换芯片与单片机接口约45 分钟(语言表述结合黑板讲解,powerpoint)●D/A转换芯片与单片机接口约45分钟(语言表述结合黑板讲解,powerpoint)●总结约5分钟(语言表述结合黑板讲解)作业:9.2,9.8,9.10第十章系统实用程序一、教学目的学习单片机应用程序二、教学重点程序设计方法、数据采集及简单控制程序三、教学难点软件抗干扰技术四、教学方法自学。
《单片机原理与接口技术》课后答案(段晨东主编)详尽版
第一章复习思考题答案一、选择题1:B 2:C 3:B 4:A 5:B 6:D 7:D 8:C 9:B 10:B二、思考题1. 简述微型计算机的组成和工作原理。
微型计算机主要由微处理器CPU、存储器、输入设备和输出设备组成。
当使用计算机解决某个具体问题时,首先,根据解决问题的方案,编写出一系列解决这个问题的程序;然后,把程序输入到计算机中,命令计算机按照这些事先拟定步骤顺序执行。
CPU包括控制器和运算器。
CPU是计算机中最重要的部件,由它实现程序控制、操作控制、时序控制、数据加工、输入与输出控制、对异常情况和请求的处理等等。
存储器是计算机中的记忆部件,用来存储编写的程序,存放程序所用的数据以及产生的中间结果。
由输入设备把程序和数据送入计算机内部的“存储器”中保存,程序处理完毕把结果通过“输出设备”输出,以便人们识别。
接通电源后,CPU会自动地从存储器中取出要执行的程序代码,通过译码解析出代码所赋予的功能,如果进行数据运算,则从存储器中提取运算所需要的数据,再进行运算操作,并把运算结果存储到程序指定的存储区域,结束本次执行操作;如果执行转移操作,则提取程序代码中的转移信息,计算出程序转移的目标地址,然后跳转。
紧接着,CPU再从存储器中提取下一次要执行的代码,不断地重复上述操作过程。
2. 简述单片机在结构上与微型计算机的区别与联系。
微型计算机是以微处理器为基础,配以内存储器及输入输出(I/0)接口电路和相应的辅助而构成。
单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等集成到一块芯片上的微型计算机。
3. 单片机与微处理器有什么不同?单片机也称微控制器,它集成CPU、ROM、RAM、存储器、I/O口等,而微处理器是是CPU,它仅集成了运算器和控制器,没有存储器和接口。
4. 把下列十进制数转换为二进制数、八进制和十六进制数。
单片机原理及接口技术题目及答案
单片机原理及接口技术题目及答案一、填空1. 如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHD A, @ R1;结果(A)=42H ,(20H)=15H2. AT89S51的异步通信口为全双工(单工/半双工/全双工),若传送速率为每秒120帧,每帧10位,则波特率为1200 bit/s3. AT89S51内部数据存储器的位地址空间的字节地址范围是20H-2FH,对应的位地址范围是 00H-FFH。
4. 单片机也可称为微控制器或嵌入式控制器5. 当MCS-51执行MOVX A,@R1指令时,伴随着 RD控制信号有效。
6. 当单片机的PSW=01H时,这时当前的工作寄存器区是 0 区,R4所对应的存储单元地址为 04 H7. AT89S51的 P0 口为高8位地址总线口。
8. 设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,则其EA*引脚应该接 +5V9. 在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行256 次。
10. 欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H 命令。
11. 单片机外部三大总线分别为数据总线、地址总线和控制总线。
12. 数据指针DPTR有 16 位,程序计数器PC有 16 位13. 74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在 8块芯片中选中其中任一块。
14. MCS-51指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算15. 特殊功能寄存器中,单元地址低位为0或8 的特殊功能寄存器,可以位寻址。
16. 开机复位后,CPU使用的是寄存器第0组,地址范围是 00H-07H17. 若某存储器芯片地址线为12根,那么它的存储容量为 4kB18. 关于定时器,若振荡频率为12MHz,在方式0下最大定时时间为 8.192ms19. AT89S51复位后,PC与SP的值为分别为 0000H 和 07H20. LJMP跳转空间最大可达到 64K21. 执行如下三条指令后,30H单元的内容是 #0EHM O V R 1,#30HM O V 40H,#0 E HM O V ﹫R 1,40H二、判断题1 当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。
单片机原理与接口技术4ppt精选课件
最新课件
15
§4.1.2 汇编语言源程序格式
⑴标 号
如果标号没有赋值,汇编程序就把存放 该指令目标码第一字节的存储单元的地址 赋给该标号, 所以,标号又叫指令标号。 注意:系统中保留使用的关键字不能用
作标号。
最新课件
16
§4.1.2 汇编语言源程序格式
⑵操作码
对于一条汇编语言指令,这个字段是必不 可少的,
3、DATA语句可以把一个表达式的值赋给字 符名称,其中的表达式应是可求值的。 DATA伪指令在程序中用来定义数据地址
最新课件
38
DB 定义字节命令
格式:DB(项或项表)
功能:通知汇编程序从当前ROM地址开始, 保留一个字节或字节串的存储单元,并存 入DB后的数据。
注意:项或项表可以是一个字节,用逗号 隔开的字节串或括在单引号中的ASCII字符 串。
即汇编后生成目标程序存放的起始地址。
例如:
最新课件
31
ORG 汇编起始命令
例如:
ORG 2000H START: MOV A,#64H
┇ 规定了START的地址是2000H,
又规定了汇编后的第一条指令码从2000H开始存 放。
最新课件
32
END 汇编结束指令
• 格式:END • 功能:通知汇编程序结束汇编。
• 模块长度适中。20条~100条的范围较合适。
最新课件
50
二、编程技巧
1、尽量采用循环结构和子程序。 2、尽量少用无条件转移指令。 3、对于通用的子程序,考虑到其通用性,除了用
于存放子程序入口参数的寄存器外,子程序中用 到的其他寄存器的内容应压入堆栈(返回前再弹 出),即保护现场。
最新课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电源引脚:Vcc(40脚):电源端,为+5V 。
Vss(20脚):接地端。
外接晶体引脚:XTAL2(18脚)接外部晶体和微调电容的一端,在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体的固有频率。
若须采用外部时钟电路时,该引脚悬空。
检查89C51的振荡电路是否正常工作时,可用示波器查看XTAL2端是否有脉冲信号输出。
XTAL1(19脚)接外部晶体和微调电容的另一端,在片内,它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。
控制信号引脚:RST(9脚)为复位信号输入端,高电平有效。
当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。
PSEN(29脚)程序存储允许输出信号端。
当89C51由片外部程序存储器取指令(或常数)时,每个机器周期两次PSEN有效(即输出2个脉冲)。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN端同样可以驱动(吸收或输出)8个LS型的TTL负载。
要检查一个89C51小系统上电后CPU能否正常工作,也可以用示波器看PSEN端有无脉冲输出。
如有,则说明基本上工作正常。
ALE/PROG(30脚):地址锁存允许信号端。
当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。
CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。
平时不访问片外存储器时,ALE端也以振荡器频率的1/6固定输出正脉冲,因而,ALE信号可以用作对外输出的时钟或定时信号。
如果想确认89C51芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。
若有脉冲信号输出,则89C51基本上是好的。
ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。
此引脚的第2功能PROG在片内带有4KB Flash ROM的89C51编程写入(固化程序),作为编程脉冲输入端。
EA/VPP(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。
当EA端保持高电平时,CPU只访问片内Flash ROM并执行内部程序存储器中的指令,但当PC(程序计数器)值超过0FFFH(对89C51/S51为4KB)时,将自动转去执行片外程序存储器内的程序。
当输入信号EA引脚接低电平(接地)时,CPU只访问片外ROM并执行片外程序存储器中的指令,而不管是否有片内程序存储器。
然而需要注意的是,如果保密位LB1被编程,则复位时在内部会锁存EA端的状态。
当EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
在Flash ROM编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。
输入/输出端口P0、P1、P2和P3:P0端口(P0.0-P0.7,39-32脚)P0口是一个漏极开路的8位准双向I/O端口。
它作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。
当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。
作输入口使用时要先写1,这就是准双向的含义。
在CPU访问片外存储器(89C51/S51片外EPROM或RAM)时,P0口分时提供低8位地址和8位数据的复位总线。
在此期间,P0口内部上拉电阻有效。
P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口。
P1口输出缓冲器可驱动4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P1作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
由于它的内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻。
P2端口(P2.0-P2.7):P2是一个带有内部上拉电阻的8位双向I/O端口。
P2输出缓冲器可驱动4个TTL输入。
当P2口被写“1”时,通过内部上拉电阻拉高,且作为输入口。
P2作为输入口使用时,由于内部有一个上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器或16位地址外部数据存储器时,P2送出高8位地址。
在访问8位地址的外部数据存储器时,P2引脚上的内容在整个访问期间不会改变。
P3端口(P3.0-P3.7):P3是一个带内部上拉电阻的8位双向I/O端口。
其输出缓冲器可驱动4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
P3端口引脚与复用功能表存储器从物理结构上分为程序存储器空间和数据存储器空间,共四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
从用户的角度分三个逻辑空间:片内、片外统一编址0000H~FFFFH的64KB程序存储器地址空间(使用16位地址); 64KB 片外数据存储器地址空间, 地址也在0000H~FFFFH(使用16位地址)范围内编址;256字节数据存储器地址空间(00H~FFH,采用8位地址)。
程序状态字寄存器PSW(D0H)PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。
PSW的常用标志位有哪些? CY(PSW,7)进位标志位 AC(PSW.6)辅助进位标志位或半进位标志位 F0(PSW.5)用户标志位RS1和RS0(PSW.3和PSW.4)工作寄存器组选择控制位OV(PSW.2)溢出标志位PSW。
1为保留位 P(PSW.0)奇偶校验标志位PSW程序状态字RS0、RS1的组合关系堆栈是一种数据结构,按“后进先出”的规则对数据进行写入与读出,数据写入堆栈称为数据压入(PUSH),数据从堆栈中读出称为数据弹出(POP)89C51/S51芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
电容器C1和C2通常取30pF 左右,可稳定频率并对振荡频率有微调作用。
晶体振荡器的脉冲频率范围为fOSC=0~24 MHz。
节拍与状态周期时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。
时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。
在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1,节拍1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。
每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51/S51单片机各个部件协调地工作。
振荡周期:晶振的振荡周期,为最小的时序单位。
状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。
因此,一个状态周期包含2个振荡周期。
机器周期(MC):1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。
指令周期:执行一条指令所需的时间。
一个指令周期由1~4个机器周期组成,依据指令不同而不同。
振荡周期=1/fOSC=1/12 MHz=0.0833 μs状态周期=2/fOSC=2/12 MHz=0.167 μs机器周期=12/fOSC=12/12 MHz=1 μs指令周期=(1~4)机器周期=1~4 μsA=00H:表明累加器已被清0。
PSW=00H:表明选寄存器0组为工作寄存器组。
SP=07H:表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的数据被写入08H单元中。
P0~P3=FFH:表明已向各端口线写入1,此时,各端口既可用于输入,又可用于输出。
IP=×××00000B:表明各个中断源处于低优先级。
IE=0××00000B:表明各个中断均被关断。
TMOD=00H:表明T0,T1均为工作方式0,且运行于定时器状态。
TCON=00H:表明T0,T1均被关断。
SCON=00H:表明串行口处于工作方式0,允许发送,不允许接收。
PCON=00H:表明SMOD=0,波特率不加倍。
复位电路虽然简单,但其作用非常重要。
一个单片机系统能否正常运行,首先要检查是否能复位成功。
初步检查可用示波器探头监视RST 引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行实验。
指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言寻址:寻找指令中操作数或操作数所在地址.寻址方式:如何找到存放操作数的地址,把操作数提取出来的方法.寻址方式和所能涉及的寻址空间访问特殊功能寄存器和外数据存储器,应采用那些寻址方式?答: SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址中断的定义:当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断。
89C51共有哪些中断源?对其中端请求如何进行控制?答:1(1)INT0:外部中断0请求,低电平有效,通过P3.2引脚输入(2)INT1:外部中断1请求,低电平有效,通过P3.3引脚输入(3)T0:定时器/计数器0溢出中断请求(4)T1:定时器/计数器1溢出中断请求(5)TXD/RXD:串行接口中断请求。
2通过对特殊功能寄存器TCON、SCON、IE、IP 的各位进行置位或复位等操作,可实现各种中断控制功能.什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是CPU相应中断的先后顺序。
原则:(1)先响应优先级高的中断请求,再响应优先级低的(2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3)如果同级的多个请求同时出现,则CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。
解:MOV IE,#097HMOV IP,#02H13、89C51单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
试问以下几种中断优先顺序的安排(级别由高到低)是否可能:若可能,则应如何设置中断源的中断级别:否则,请简述不可能的理由。