南开大学滨海学院单片机考试资料

合集下载

C51单片机秒表计时(C语言)

C51单片机秒表计时(C语言)
if(mm==80) //考虑其它损耗,调整后约为1S
{ cout++;
mm=0;}
}
效果显示
图一(电路总图)
图二(效果显示)注:第四位显示为单位:S
程序清单
#include<reg51.h>
#include<stdio.h>
unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F };
sbit P37=P3^7;
}
/*********显示程序*****************/
void display()
{
x=cout/10;//秒十位
P34=0;
P1=Tab[x]; delay();
P34=1;
y=cout-x*10; //秒各位
P35=0;
P1=Tab[y]; delay();
P1=做任何修改或编辑并不能对任何下载内容负责
南开大学滨海学院
C51嵌入式软件设计(C语言)
题目:计时秒表
功能描述:本设计实现在99秒内的秒表计时,一个按键实现开始、暂停、复位。
原理概述:P1接四位七段数码管,P3.2接一按键产生外部中断0,P3.4-P3.7控制扫描显示。计时使用定时器0产生10ms中断累计。按键不同次序决定了对应的控制功能,因为第一次按键必定为开始计时,所以第二次按键判断为暂停,依次第三次为置零。主程序调用显示程序,显示程序实时显示计时时间。
sbit P36=P3^6;
sbit P35=P3^5;
sbit P34=P3^4;
unsigned int a=0,cout=0,mm=0;x,y,p,q;

2023年大学_单片机原理及应用模拟试题及答案

2023年大学_单片机原理及应用模拟试题及答案

2023年单片机原理及应用模拟试题及答案单片机原理及应用模拟试题(一)一、填空与说明题1、8051单片机的内部硬件结构包括了:、、、以及片内数据储存器、片内程序储存器、并行I/O 位出力器等部件,这些部件通过相连接。

2、MCS-51单片机的PO-P4口,其中的PO口和P2口除了可以进行数据的输入、输出外,通常还用来构件系统的和在PO~P4口中,位真正的双向口,为准双向口。

3、请说明MCS-51单片机程序状态字PSW中的各位的含义。

CY AC FO RS1 RS0 OV / PCY:AC:FO:RS1、RS0:OV:P:4、单片机系统中经常采用的地址择码技术包括方法和方法。

5、INTEL8279是一种专用于和芯片。

当8279的引脚AO为“1”时,CPU 对8279写入的数据为,读出的.数据为。

6、MCS-96单片机的最大寻址空间是,该空间的地址范围为,系统上电及复位的程序入口地址为。

二、简答题(12分)1、 MCS-51系列单片机具有几个中断源?分别是如何定义的?其中哪些中断源可以被定义为高优先级中断?如何定义?2、各中断源对应的中断服务程序的入口地址是否能任意设定?3、如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置?请举例加以说明。

三、参数计算题(12分)已知亿MCS-51单片机系统是拥10MHZ的外部晶体振荡器,请问:1、该片机系统的状态周期与机器周期各为多少?2、该单片机的定时器O(TO)工作在方式2时,TO的最大定时时间为多少?3、当单片机的定时器O(TO)工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少?四、改错题(10分)请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。

1、CLR A2、MUL R0,R13、MOV DPTR,1050H4、 MOV A,@R75、 ADD 30H,20H6、 MOV R1,C7、 JMP @RO+DPTR8、 MOV A,#3000H9、 MOVC @A+DPTR,A10、 MOVX A,@A+DPTR五、程序分析题(8分)设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?请填入给定的各个寄存器及片内单元中。

单片机试题库有答案电子技术基础考试必备(十套试题,有答案)

单片机试题库有答案电子技术基础考试必备(十套试题,有答案)

单片机试题库有答案电子技术基础考试必备(十套试题,有答案)导读:就爱阅读网友为您分享以下“电子技术基础考试必备(十套试题,有答案)”的资讯,希望对您有所帮助,感谢您对的支持!3.正弦波振荡器的振荡频率取决于()A.正反馈的强度B.反馈元件的参数C.选频网络参数4.放大电路中若测得某三极管极间电压如下:1—2间为7V,2—3间为6.3V,则该管类型、材料及1、2、3极分别为()A.NPN型、硅管、E、C、BB.NPN型、硅管、C、B、EC.NPN型、锗管、E、C、BD.PNP型、硅管、E、C、B5.直流稳压电源中的电路工作的先后顺序是()A.滤波、稳压再整流B.整流、滤波再稳压C.滤波、整流再稳压D.整流、稳压再滤波6.二十进制编码器,若有四个输出端,可进行编码的个数是()A.2个B.10个C.16个D.8个7.下列电路中具有记忆功能的是()A.编码器B.译码器C.计数器D.全加器8.对一般触发器,当满足Qn+1=Qn时,为何功能()A.记数B.保持C.不定D.置0、置19.能使输出电流稳定的是:()A.串联负反馈B.电压负反馈C.并联负反馈D.电流负反馈10.TTL数字电路中集成芯片的电源电压值一般取用()17A.1VB.100VC.20VD.5V三.分析计算题(每题10分,共40分)1、在如图所示放大电路中,改变Rb1的就可以调整放大器的静态工作点。

现在要-8.5V,问Rb1应选多大?2、如图电路中,若输入电压Vi=16V,稳压管的稳定电压Vz=10.7V,负载电阻RL=100欧,试求RL上的直流电压Vo及晶体三极管的功率损耗。

18阻值,求VCEQ=3、如图电路,假设两个触发器的初始状态均为0态,根据输入的波形画出输出波形,并列出状态表说明是模为多少的计数器。

4、分析下图所示逻辑电路。

电路输入变量A、B、C和输出函数F,G均代表一位二进制数。

试写出输出表达式,列出真值表,并说明电路的逻辑功能。

单片机大学笔试题及答案

单片机大学笔试题及答案

单片机大学笔试题及答案一、选择题(每题2分,共20分)1. 单片机中,CPU的中文名称是()。

A. 中央处理单元B. 存储器C. 输入输出接口D. 定时器/计数器答案:A2. 8051单片机的内部ROM大小为()。

A. 4KBB. 8KBC. 16KBD. 32KB答案:B3. 8051单片机的定时器/计数器数量是()。

A. 1个B. 2个C. 3个D. 4个答案:B4. 下列哪个不是单片机的I/O端口()。

A. P0B. P1C. P2D. P3答案:D5. 单片机中的中断服务程序是在()执行的。

A. 主程序B. 子程序C. 中断向量表D. 定时器/计数器答案:C6. 8051单片机的外部中断源有几个()。

A. 2个B. 3个C. 4个D. 5个答案:A7. 下列哪个不是单片机的定时器/计数器工作模式()。

A. 模式0B. 模式1C. 模式2D. 模式4答案:D8. 8051单片机的内部RAM大小为()。

A. 128字节B. 256字节C. 512字节D. 1024字节答案:B9. 单片机的程序计数器PC的位数是()。

A. 8位B. 16位C. 24位D. 32位答案:B10. 8051单片机的外部中断请求信号是()。

A. INT0B. INT1C. TF0D. TF1答案:A二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______。

答案:工作寄存器组;位寻址区2. 单片机的I/O端口通常具有______和______两种功能。

答案:推挽输出;开漏输出3. 8051单片机的外部中断优先级由______决定。

答案:IP寄存器4. 在8051单片机中,______指令用于将累加器A的内容传送到外部数据存储器。

答案:MOVX5. 8051单片机的定时器/计数器在工作模式1下,定时器/计数器是______。

答案:16位的6. 8051单片机的定时器/计数器在工作模式2下,定时器/计数器是______。

(完整版)《单片机原理与应用》试题及答案

(完整版)《单片机原理与应用》试题及答案
WR
D0~DE7WR
8

RD
WR
试题1参照答案
一、填空题(25分,每空1分)
1.AT89S51单片机为8位单片机
2.
MCS-51系列单片机的典型芯片分别为
8031、8051
、8751。
3.
AT89S51的异步通信口为
全双工
(单工/半双工/全双工)
4.
AT89S51有2
级中止,
5此中止源
5.
AT89S51内部数据储存器的地点范围是
2.采纳6MHz的晶振,准时1ms,用准时器方式0时的初值应为多少?(请给出计算过程)
1
(6分)
3.剖析以下程序的功能(5分)
PUSH ACC
PUSH
B
POP
ACC
POP
B
四、图为8段共阴数码管,请写出以下数值的段码。
a b
cd e f g h
a
D0D1D2D3D4D5D6D7
f
b
g
c
e
d
h
0______;1________;2________;3____ _;_4______;5_____;
abcdefgh
a
D0D1D2D3D4D5D6D7
f
b
g
c
e
dh
0__ 3FH___1__06H___2_5BH
3_4FH__ 4_66H_56DH___
P__73H__7_03H___ 8_7FH__
C_39H_
五、简述MCS-51系列单片机主从构造多机通信原理,设有一台主机与三台从机通信,此中
一台从机通信地点号为01H,请表达主机呼喊从机并向其传递一个字节数据的过程。(请给出原理图) (10分)

滨海学院C语言期末考试提纲

滨海学院C语言期末考试提纲

南开大学滨海学院2010-2011学年第一学期2009年级《C#语言程序设计》期末复习提纲考试答题时限:100 分钟考试形式:闭卷笔试一、选择题(本题共有10道小题,每小题2分,共20分)1、C语言中运算对象必须是整型的运算符是 AA) % B)/ C)!D)**2、若变量已正确定义为int型,要给a、b、c输入数据,正确的输入语句是 DA) read ( a, b, c );B)scanf ( “ % d% d% d”, a, b, c );C)scanf ( “ % D% D% D”, &a, %b, %c );D) scanf ( “ % d% d% d”, &a, &b, &c );3、合法的用户标识符是怎样规定的?只能由字母/数字/下划线三种字符组成,且第一个字符必须为字母或下划线.4、以下运算符中优先级最高的算符是 AA) !B) % C) -= D) &&5、为表示关系:x≥y≥z,应使用的C语言表达式是什么? AA)(x >= y )&& ( y >= z ) B)(x >= y )AND ( y >= z )C) ( x >= y >= z ) D)(x >= y )& ( y >= z )6、判断下述表达式中哪个符合C语言语法要求?AA) a=a+7; B)a=7+b+c, a++ C)int(12.3%4) D)a=a+7=c+b7、以下选项中不正确的C语句是?CA) {int i; i++; printf(“%d\n”,i) }; B) ;C) a=5,c=10 D) { ; }8、以下程序段执行后的输出结果是什么?1/2int c1=1, c2=2, c3;c3=c1/c2; printf(“%d\n”,c3);9、以下程序段执行后的输出结果是什么?int a = 0, b = 0, c = 0;c = ( a -= a – 5 ), ( a = b, b + 3 );printf (“%d, %d, %d\n”,a, b, c);10、已定义的以下函数的类型是什么?浮点型fff (float x ){ printf(“%f\n”, x * x ); }11、C语言中,字符型数据在微机内存中的存储形式是什么?ASCII12、下述函数调用语句中含有的实参个数是几个?func ( ( exp1, exp2 ), (( exp3, exp4, exp5 ) );13、若有定义:int x, *pb; 则正确的赋值表达式是:DA) pb = &x B) pb = x C) *pb = &x D) *pb = *x14、若有以下程序执行后的输出结果是什么?#include <stdio.h>main ( ){ int **k, *a, b = 100;a = &b; k = &a; printf (“%d\n”, **k );}15、有以下程序执行后的输出结果是什么?#include <stdio.h>typedef union {long x[2],; int y[4]; char z[8];} MYTYPE;MYTYPE them;main ( ){ printf (“%d\n”, sizeof ( them ) ); }16、判断以下叙述中的对错:A、一个变量的作用域的开始位置完全取决与变量定义语句的位置B、全局变量可以在函数以外的任何部位进行定义C、局部变量的生存期只限于本次函数调用,因此不可能将局部变量的运算结果保存至下次调用D、一个变量说明为static存储类是为了限制其他编译单位的引用17、以下程序执行后的输出结果是什么?#include <stdio.h>main ( ){ int i, x [ 3 ][ 3 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };for ( i = 0; i <= 3; i++ )printf (“%d,”, x [ i ] [ 2 – i ] );}18、以下叙述中正确的是:A) do-while语句构成的循环不能用其他语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成循环时,只有在while后的表达式为非零时循环结束D) 用do-while语句构成循环时,只有在while后的表达式为零时循环结束19、以下叙述中错误的是:A) 一个变量的作用域的开始位置完全取决与变量定义语句的位置B) 全局变量可以在函数以外的任何部位进行定义C) 局部变量的生存期只限于本次函数调用,因此不可能将局部变量的运算结果保存至下次调用D) 一个变量说明为stati c存储类是为了限制其他编译单位的引用20、合法的八进制数是:A)0 B) 028 C) -077 D) 01.021、合法的十六进制数是:A)0xff B) 0Xabc C) 0x11 D) 0x1922、若变量a、b、t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句组是:A) a = a + b, b = a – b, a = a – b; B) t = a, a = b, b = t;C) a = t; t = b; b = a; D) t = b ; b = a ; a = t;23、有以下程序:#include《stdio.h>main ( ){ int k = -3 ;if ( k <= 0 ) printf ( “* * * * \n”)else printf ( “&&&&\n”);}程序的输出结果是:A) #### B) &&&&C) ####&&&& D) 有语法错不能通过编译24、有以下程序:#include《stdio.h>main ( ){ int x = -3 ;for ( x = 3; x < 6; x++ )printf ( ( x % 2) ? (“* * %d”) : (“# # %d\n”, x ) ;}程序的输出结果是什么?26、判断char型变量c是否为大写字母的最简单且正确的表达式为:A) …A‟ <= c <= …Z‟B) ( c >= …A‟ ) || c <= …Z‟ )C) ( c >= …A‟ )AND ( c <= …Z‟ ) D) ( c >= …A‟ )&& ( c <= …Z‟ )27、以下叙述中错误的是:A) 一个变量的作用域的开始位置完全取决与变量定义语句的位置B) 全局变量可以在函数以外的任何部位进行定义C) 局部变量的生存期只限于本次函数调用,因此不可能将局部变量的运算结果保存至次调用D) 一个变量说明为stati c存储类是为了限制其他编译单位的引用二、填空题(本题共有10道小题,每小题2分,共20分)1、C语句的最后用⑴结束。

《单片机原理与应用技术》部分参考试题及参考答案

《单片机原理与应用技术》部分参考试题及参考答案

物机院(系)级专业班《单片机原理与应用技术》试卷注意事项:1、学生的院(系)别、专业、班级、姓名、学号必须填写在考生信息栏内指定的位置。

2、学生在考试之前必须填写考试时间和地点。

3、答题字迹要清楚,并保持卷面清洁。

一、填空题(本大题共10小题,每空2分,共30分)请在每小题的空格中填上正确答案。

错填、不填均无分。

5.在AT89S51单片机中,一个机器周期包括12个时钟周期,如果采用12MHZ晶振,一个机器周期为1us6、通常、单片机上电复位时PC= 0000H ,SP= 07H ;7. 51系列单片机的CPU是由和构成。

8. 51系列单片机的存储器包括:数据存储器和程序存储器。

9.堆栈数据写入和读出遵守“先入后出,后进先出”的规则。

二、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

2.对某单元的部分位取反,应采用下面哪种逻辑操作()。

A. ANLB. XRLC. CPLD. ORL3.程序计数器PC和堆栈指针SP两个寄存器的位数分别是()A.PC-8位,SP-8位 B.PC-8位,SP-16位C.PC-16位,SP-8位 D. PC-16位,SP-16位4. 若(A)=40H, (CY)=0, 则执行RLC A 指令后,(A)=( ) 。

A. 56HB. 0C0HC. 80HD. 0B3H5、以下哪一条指令的写法是错误的()。

A. INC DPTRB. DEC AC. MOV R0,#0FEHD. PUSH A6、以下哪一条是位操作指令()。

A. CLR P1.0B. MOV P0,#0FFHC. CPL AD. POP PSW7、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是()A. MOVB. MOVXC. MOVCD. 以上都是10.已知一位7段共阳数码管(如图2),要使它显示数字3,则它的代码是()。

(完整版)单片机考试试题带答案

(完整版)单片机考试试题带答案

单片机原理及应用试卷A一、填空题(每空1分,共20分)1、单片微型计算机由CPU、存储器和I/O 三部分组成。

2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。

3、访问8031片外数据存储器采用的是寄存器间接寻址方式。

4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。

5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。

6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择。

7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。

8、中断请求信号有电平触发和脉冲触发两种触发方式9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。

10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。

11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对并行I/O口内的锁存器进行的。

12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。

二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。

每题1.分,共10分)1、计算机能识别的语言是( C )。

(A)汇编语言(B)自然语言(C)机器语言(C)高级语言2、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。

(A)P0和P2口(B)P0口(C)P2和P3口(D)P2口3、在中断服务程序中,至少应有一条( D )。

(A )传送指令 (B )转移指令 (C )加法指令 (D )中断返回指令 4、访问外部数据存储器时,不起作用的信号是( C )。

(A )RD (B )WR (C )PSEN (D )ALE 5、以下指令中,属于单纯读引脚的指令是( C )。

(A )MOV P1,A (B )ORL P1,#0FH (C )MOVC C ,P1.5 (D )DJNZ P1,LAB 6、使用定时器T1时,有几种工作模式( C )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.单片机硬件组成8位CPU 2.单片机的引脚功能。

ALE,EA,PSEN,RSTALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:对片内FLASH存储器编程时,此引脚输入编程脉冲。

EA/Vpp:①EA:外部程序存储器访问允许控制端。

接高电平:不超过0FFFH(4KB)单片机读取片内ROM(4KB)程序。

超过4KB 自动读取片外60KB(1000H-FFFFH)ROM程序。

接低电平:只读取外部ROM的内容,范围是0000H-FFFFH,4KB ROM不起作用②Vpp:对片内FLASH 进行编程时,Vpp引脚接入编程电压PSEN: 片外ROM选通信号,低电平有效RST复位信号输入端,高电平有效。

加上持续时间大于两个机器周期高电平可以使单片机复位。

3.单片机四个I/O区别P1,P2,P3都是8位准双向I/O口,具有内部上拉电阻,他们都可以当作通用的I/O输入,但都应先向端口输出锁存器写入1。

都可以驱动4个LS型TTL负载。

但P1口是专为用户使用的I/O口,P2可以作为普通的,P3作为通用的。

而P0口是8位漏极开路的双向I/O口,它要作为通用I/O使用必须加上拉电阻变成准双向口,也必须写入1,并且它可以驱动8个个LS型TTL负载。

4.单片机P3口的第二功能5.状态寄存器PSW格式及意义。

OV,P,寄存器选择。

PSW格式意义:PSW的不同位包含了程序运行状态的不同信息,其中4位保存当前指令执行后的状态,以供程序查询和判断。

OV(溢出标志位):当执行算术指令时,用来指示运算结果是否产生溢出。

如果结果产生溢出,OV=1;否则,OV=0P(奇偶标志位):该标志位表示指令执行完时,累加器A中1的个数是奇数还是偶数。

P=1,表示A中1的个数为奇数。

=0时相反。

RS1、RSO(4组工作寄存器区选择控制位1和位0):这两位用来选择片内RAM的4组工作寄存器区中的某一组为当前的工作寄存区。

(00H-7FH)6.PC指针的作用:用于存放下一条将要执行指令的地址。

当一条指令按PC所指向的地址从程序存储器中取出之后,PC的值会自动加1即指向下一条指令。

用户不可对它直接进行读写,因其是不可直接寻址的。

7.单片机的存储器结构:程序存储器,数据存储器,特殊功能寄存器,位寻址区。

单片机的存储器结构8.中断入口地址9.数据存储器的空间分配位寻址区的地址分配:地址为20H~2FH的16个单元字节,每个字节8位,一共128个位可进行位寻址,也可进行字节寻址。

这128位每位都有一个地址,从00H~7FH。

有地址,CPU就可以通过指令进行访问,即可以通过位操作指令对这些位进行置1、清0、取反等操作。

10.堆栈的概念,单片机堆栈初始化状态,生长方向,以及相关操作指令概念:在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出的原则,这个RAM区叫堆栈。

SP=07H为初始化状态,生长方向为向上生长型(即每向堆栈压入一个字节数据时,SP内容增加1)。

操作指令为数据压入堆栈(SP自动加1)和数据弹出堆栈(SP自动减1)11.主要的特殊功能寄存器:①堆栈指针SP②P0,P1,P2,P3口寄存器③ACC累加器④数据指针DPTR⑤寄存器B⑥看门狗定时器WDT12.机器周期,指令周期与指令时序。

MOVX等读写时序。

机器周期:CPU完成一个基本操作需要的时间称为机器周期。

一个周期完成一个基本操作,几个操作完成指令。

12个时钟周期(单片机基本时间单位)为一个机器周期,分为六个状态S1-S6(AT89C51) T=1/f(晶体频率)指令周期:执行一条指令所需的时间。

指令时序:按字节分为单,双,三字节指令。

执行指令可能用一个或多个机器周期。

按执行时间分,单字节为单机器周期,双,三字节为双机器周期,而单字节乘除为4机器周期。

MOVX读写时序:单字节双周期先在ROM读取指令,然后对外部RAM进行读或写操作。

第一次机器周期时,与其他指令一样,第一次读指令操作码有效,第二次无效。

第二周期时,对外部RAM访问,不产生读指令操作。

13.复位后单片机各个特殊功能寄存器的状态。

0000H:PC指针、数据指针DPTR 00H:累加器Acc、PSW、寄存器B、数据指针DPTR1低子节DP1L、DP1H、数据指针DPTR0低子节DP0L、DP0H 07H:堆栈指针SPXXX00000B:中断优先级控制寄存器IP 0XX00000B:中断允许控制寄存器IE14.DPTR的功能,DPH,DPL功能:是一个16位的特殊功能寄存器,存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针,也可以将外部RAM中地址的内容传送到内部RAM的地址所指向的内容中。

高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。

DPH和DPL的地址分别为83H、82H。

15.单片机最小系统16.七种寻址方式17.循环顺序结构例: 50ms 延时子程序。

设晶振频率为12MHz ,则机器周期为1us 。

DEL: MOV R7,#200 ;1MCDEL1: MOV R6,#123 ;1MCNOP ;1MCDJNZ R6,$ ;2MCDJNZ R7,DEL1 ;2MCRET ;2MC延时时间:t=1+200[(1+1+2*123)+2]+2≈50000us=50ms18.分支判断类型例:设变量x 以补码形式存放在片内RAM 30H 单元中,变量y 与x 的关系是:编程根据x 的值求y 值并放回原单元。

ORG 0100HSTART:MOV A,30HJZ NEXT ;x=0,转移ANL A,#80H ;保留符号位JZ ED ;x>0,转移MOV A,#05H ;x<0,不转移ADD A,30HMOV 30H,ASJMP EDNEXT:MOV 30H,#20HED:SJMP $⎪⎩⎪⎨⎧<+=>=0,50,200,x x x H x xy ,1020,105,10x x y H x x x >⎧⎪==⎨⎪+<⎩19.中断源的概念。

单片机的中断源,中断入口地址概念:中断是指由于某种事件的发生,CPU暂停执行当前的程序,转而执行另一程序或事件,处理完毕后又返回执行原来中止的程序。

把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源中断源:①INT0:外部中断0,中断请求信号由INT0引脚输入,中断请求标志IEO,入口地址0030H,优先级第一②INT1:外部中断1,中断请求信号由INT1引脚输入,中断请求标志IE1,入口地址0013H优先级第三③定时器/计数器T0计数溢出发出的中断请求,中断请求标志TF0,入口地址000BH优先级第二④定时器/计数器T1计数溢出发出的中断请求,中断请求标志TF1,入口地址001BH优先级第四⑤串行口中断请求,中断请求标志为发送中断TI 或接收中断RI,入口地址为0023H优先级第第五20.中断的流程:主程序→断点→响应中断请求→中断服务程序→返回主程序→断点→继续执行主程序21.几个重要的寄存器TCON:定时器/计数器控制寄存器,字节地址88H,可位寻址SCON:串行口控制寄存器,字节地址98H ,可位寻址IE:片内中断允许寄存器,控制CPU各中断开放或屏蔽,字节地址A8H,可位寻址IP:中断优先级寄存器,字节地址B8H,可位寻址22.中断优先级的调整用位操作指令:CLR(禁止) SETB (允许)用字节操作指令:MOV I*,#**H23.中断的触发方式:电平触发方式,跳沿触发方式24.中断应用程序举例:通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。

已知: (B)=01h,要求采用边沿触发,低优先级。

此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。

ORG 0000H (P.134) INT:MOV A,B ;自B寄存器中取数 LJMP MAIN RL A ;左环移一次ORG 0013H ;中断矢量 MOV B,A ;存回B,备下次取用 LJMP INT (MOV P1,A) ;输出到P1口MAIN:SETB EA ;开总中断允许“开关” RETI ;中断返回SETB EX1 ;开分中断允许“开关”CLR PX1 ;0 优先级(也可不要此句)SETB IT1 ;边沿触发MOV B,#01H ;给 B 寄存器赋初值中断服务程序HERE:SJMP HERE ;原地等待中断申请25.MCS-51单片机P1.3为输出,P3.2为按键,每按一次按键,P1.3取反一次ORG 0000HSJMP STARTORG 0003H ;外部中断地址入口LJMP INT_0 ;转到真正的处理程序ORG 0030HSTART: SETB IT0 ;下降沿触发SETB EX0 ;开总外部中断0SETB EA ;开总中断LJMP $ ;跳转到本行INT_0: CPL P1.3 ;取反P1.3RETI ;中断返回END26.定时器T0,方式1初始化假设系统时钟频率采用6MHz,在P1.0引脚上输出一个周期为2ms的方波,如图所示基本思想:方波周期T0确定,T0每隔1ms计数溢出1次,即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务子程序中对P1.0取反,如图6-13所示。

为此要做如下几步工作。

(1)计算计数初值X:机器周期 = 2μs = 2 ⨯ 10−6s设需要装入T0的初值为X,则有(216−X)⨯2⨯10−6=1⨯ 10−3,216−X=500,X=65036。

X化为十六进制数,即: 65036 = FE0CH 。

T0的初值为TH0 =FEH,TL0 = 0CH。

(2)初始化程序设计:采用定时器中断方式工作。

包括定时器初始化和中断系统初始化,主要是对寄存器IP、IE、TCON、TMOD的相应位进行正确的设置,并将计数初值送入定时器中。

(3)程序设计:中断服务子程序除了完成所要求的产生方波的工作之外,还要注意将计数初值重新装入定时器,为下一次产生中断做准备。

本例,主程序用一条转至自身的短跳转指令来代替。

ORG 0000H ;程序入口 IT0P:MOV TL0,#0CH;中断子程序,T0重装初值RESET: SJMP MAIN ;转主程序 MOV TH0,#0FEHORG 000BH ;T0中断入口 CPL P1.0 ;P1.0的状态取反LCALL IT0P;转T0中断处理程序IT0P RETIORG 0030H ;主程序入口 ENDMAIN: MOV TMOD,#01H;设置T0为方式1定时MOV TL0,#0CH ;T0初始化,装初值的低8位MOV TH0,#0FEH;装初值的高8位SETB ET0;允许T0中断程序说明:当单片机复位时,从程序入口 SETB EA;总中断允许0000H跳向主程序MAIN处执行。

相关文档
最新文档