当前位置:文档之家› 单片机考试常见试题程序分析题

单片机考试常见试题程序分析题

单片机考试常见试题程序分析题
单片机考试常见试题程序分析题

程序分析及编程

1.设(A)=04H,(CY)=1, 写出下列各条指令的结果。

RL A; (A) = 08H

RR A; (A) = 02H

RLC A; (A) = 09H

RRC A; (A) = 82H

2 设

(A)=7AH,(R0)=30H,(30H)二A5H,(CY)=1,写出下列各条指令的结果。

MOV A ,R0

(R0)=30H

XCH A, R0

(R0)=30H

XCHD A,@R0

(R0)=30H

(30H)=30H

ADD A,#30H (A)=D5H (CY )=1

(CY )=1

SUBB A,#30H (A)=D5H

(CY )=1

4.已知程序执行前有

A=02H SP=52H( 51H)=FFH

(52H)二FFH。下述程序执行

后:请问:A=(),SP=(),

(51H) =( ), (52H)=(),

PC=()。

POP DPH

POP DPL

MOV DPTR,#4000H

RL A

MOV B,A

MOVC A,@A+DPTR

PUSH A

MOV A,B

INC A

MOVC A,@A+DPTR

PUSH A

RET

ORG 4000H

DB

10H,80H,30H,50H,30H,

50H

答:(A) =50H, (SP)

=50H , (51H)=30H ,

(52H)=50H , (PC) =5030H

5?假定A=83H J (RC) =17H,

(17H) =34H,执行以下指

令后,A的内容为()。:

ANL A,#17H

ORL 17H,A

XRL A,@RC

CPL A答: CCBH

6.女口果DPTR=5C7BH

SP=32H (3CH) =50H,

(31H) =5FH, ( 32H)

(A)=3CH

(A)=3CH

(A)=A5H ADDC A,3CH (A)=C6H

=3CH则执行下列指令

则:

DPH=( ),DPL= (), SP=()

POP DPH

POP DPL

POP SP

答:DPH=3CH ,

DPL=5FH , SP=4FH

7?假定,SP=60H A=30H

B=70H执行下列指令后,

SP的内容为()61H单元的内容为(),62H单元的内容为()。

PUSH A

PUSH B 答: 62H , 30H , 70H

8.计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为12MHz)o

DL1:M0V R4,#255 ;1 个机器周期DL2:MOV P1,R3 ;2 个机器

周期

DJNZ R4,DL2 ;2 个

机器周期

DJNZ R3,DL1 ;2 个

机器周期

RET ;2个机器

周期

答:15348us 析:((2+ 2)

X 255 + 1 + 2)X 15+ 1 + 2

=15348us

9.假定A=83H (R0) =17H,

(17H) =34H,执行以下指令

后,A的内容为()。

ANL A,#17H

ORL 17H,A

XRL A,@RO

10.女口果(DPTR)=507BH

(SP)=32H , (30H)

=50H ,

(31H)=5FH, (32H)=3CH,

则执行下列指令后:DPH内

容为(),DPL内容为

(),SP内容为(

)。

POP DPH;

POP DPL;

POP SP;

答:(DPH)二3CH (DPL

=5FH

(SF)=50H

11?假设外部数据存储器

2000H单元的内容为80H, 执

行下列指令后,累加器A 中

的内容为()。

MOV P2, #20H

MOV RO, #00H

MOVX A, @R0

单片机程序分析题练习B2复习过程

1.程序如下: MOV SP,#13H MOV 33H,#7FH MOV 44H,#0ABH PUSH 33H PUSH 44H POP 33H POP 44H 程序执行后,(33H)=0ABh ,(44H)=7Fh 2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1)MOV A,#48H ;寻址方式: (A)= 48H (2)ADD A,60H ;寻址方式: (A)= 4DH (3)ANL A,@R0 ;寻址方式: (A)= 10H 3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? MOV R1,#30H ;(R1)=30H MOV A,#64H ;(A)= 64H ADD A,#47H ;(A)=ABH ,(CY)= 0 , (AC)= 0 DA A ;(A)=31H ,(CY)=1 , (AC)= MOV @R1,A ;(R1)= 30H ,(30H)= 31H 此程序段完成的功能 4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0 ORL A,#27H ANL A,28H XCHD A,@R0 CPL A 5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)=04H (CY)=1 (P)= 1 MUL AB (A)=08H (B)=00H (OV)=0 6.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11H MOV A , R2 A=20H

51单片机实例程100讲全集

目录 目录 (1) 函数的使用和熟悉 (4) 实例3:用单片机控制第一个灯亮 (4) 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 (4) 实例5:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 (5) 实例6:使用P3口流水点亮8位LED (5) 实例7:通过对P3口地址的操作流水点亮8位LED (6) 实例8:用不同数据类型控制灯闪烁时间 (7) 实例9:用P0口、P1 口分别显示加法和减法运算结果 (8) 实例10:用P0、P1口显示乘法运算结果 (9) 实例11:用P1、P0口显示除法运算结果 (9) 实例12:用自增运算控制P0口8位LED流水花样 (10) 实例13:用P0口显示逻辑"与"运算结果 (10) 实例14:用P0口显示条件运算结果 (11) 实例15:用P0口显示按位"异或"运算结果 (11) 实例16:用P0显示左移运算结果 (11) 实例17:"万能逻辑电路"实验 (11) 实例18:用右移运算流水点亮P1口8位LED (12) 实例19:用if语句控制P0口8位LED的流水方向 (13) 实例20:用swtich语句的控制P0口8位LED的点亮状态 (13) 实例21:用for语句控制蜂鸣器鸣笛次数 (14) 实例22:用while语句控制LED (15) 实例23:用do-while语句控制P0口8位LED流水点亮 (16) 实例24:用字符型数组控制P0口8位LED流水点亮 (17) 实例25:用P0口显示字符串常量 (18) 实例26:用P0 口显示指针运算结果 (19) 实例27:用指针数组控制P0口8位LED流水点亮 (19) 实例28:用数组的指针控制P0 口8 位LED流水点亮 (20) 实例29:用P0 、P1口显示整型函数返回值 (21) 实例30:用有参函数控制P0口8位LED流水速度 (22) 实例31:用数组作函数参数控制流水花样 (22) 实例32:用指针作函数参数控制P0口8位LED流水点亮 (23) 实例33:用函数型指针控制P1口灯花样 (25) 实例34:用指针数组作为函数的参数显示多个字符串 (26) 实例35:字符函数ctype.h应用举例 (27) 实例36:内部函数intrins.h应用举例 (27) 实例37:标准函数stdlib.h应用举例 (28) 实例38:字符串函数string.h应用举例 (29) 实例39:宏定义应用举例2 (29) 实例40:宏定义应用举例2 (29) 实例41:宏定义应用举例3 (30)

单片机原理及应用试卷和答案(三套试卷和答案)

试卷一 一、填空题(20分,每小题2分) 1、-19D的二进制的补码表示为11101101B。 2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。 3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。调 用返回时再进行出栈操作,把保护的断点弹回 PC。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 块芯片。 5、PSW中RS1 RS0=10H时,R2的地址为12H。 6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执 行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A 最后执行结果是执行结果将0送外部数据存储器的2410H单元。 8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)= 0FFH。 9、12根地址线可寻址4KB存储单元。 二、选择题(10分,每小题1分) 1、MCS-51响应中断时,下面哪一个条件不是必须的(C) (A)当前指令执行完毕(B)中断是开放的 (C)没有同级或高级中断服务(D)必须有RETI 2、执行PUSH ACC指令,MCS-51完成的操作是(A) (A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP (C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP 3、89C51是(C) (A)CPU (B)微处理器 (C)单片微机(D)控制器 4、关于MCS-51的堆栈操作,正确的说法是(C) (A)先入栈,再修改栈指针(B)先修改栈指针,再出栈 (C)先修改栈指针,再入栈(D)以上都不对

单片机课程设计剖析

河南理工大学 《单片机应用与仿真训练》设计报告 题目:基于单片机的电子琴设计 姓名:吴章艳方世巍 学号:310808010403 310808010409 专业班级:电气08—04班 指导老师:刘巍 所在学院:电气工程与自动化学院 2011年7月1日 摘要

本设计是利用AT89S52单片机来对电子琴的主体部分进行设计,主要运用了AT89S52单片机的定时、中断功能。定时器可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大后,就会发出不同音调。以STC89C52单片机为核心控制元件,与键盘、扬声器等部件组成核心模块设计电子琴。 定时器按设计的定时参数产生中断,这一次中断发出脉冲低电平,下一次取反发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲。本制作中巧妙地利用了单片机的定时器,让定时器中断一次就改变喇叭的状态一次,即形成矩形方波频率信号,每个频率信号对应不同的音阶,再分别由对应的按键控制,当相应的按键按下后便可产生相应的音调。首先设计电子琴的硬件电路和软件部分,设计中应用中断系统和定时/计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现,然后利用电路仿真软件Proteus进行仿真,完善电子琴的软硬件设计,最后进行软硬件的调试运行,最终实现了电子琴的基本功能。 电子琴能够为教师在进行现代音乐、电子音乐、电脑音乐的教学时,提供更为快捷、简便、有效的教学手段。该设计为未来进一步实现高性能电子琴产品奠定一定的基础,这对提高音乐教学质量具有重要意义。 关键词:AT89S52单片机、按键、扬声器、电子琴 目录

1 概述 (3) 1.1电子琴设计背景 (3) 1.2 设计目的及内容 (3) 2 系统总体方案及硬件设计 (4) 2.1系统总体结构图 (4) 2.2 系统硬件设计 (4) 2.2.1元件简介 (4) 2.2.2 AT89S52模块电路 (8) 2.2.3 键盘扫描模块电路 (9) 2.2.4 数码管显示模块电路 (10) 2.2.5 声音输出部分模块 (11) 3 软件设计 (12) 3.1音乐相关知识 (12) 3.2如何用单片机实现音乐的节拍 (12) 3.3如何用单片机产生音频脉冲 (13) 3.4系统总体功能流程图 (14) 4 Proteus软件仿真 (16) 5 课程设计体会 (17) 参考文献 (18) 附录电子琴程序清单 (19) 1 概述

单片机程序分析题练习B2

1.程序如下: MOV SP , #13H MOV 33H ,#7FH MOV 44H ,#0ABH PUSH 33H PUSH 44H POP 33H POP 44H 程序执行后, (33H)=0ABh 2.下列各条指令其源操作数的寻址方式是什么各条指令单独执行后, (60H )=35H ,(A ) =19H ,(R0)=30H ,(30H )=0FH 。 ( 1 ) MOV A , #48H ;寻址方式 A) = 48H ( 2) ADD A , 60H ;寻址方式 A) = 4DH ( 3) ANL A , @R0 ;寻址方式 A) = 10H 3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能 MOV R1, #30H ;( R1) =30H MOV A , #64H ; ( A) = 64H ADD A , #47H ;( A) =ABH ,( CY) = 0 , ( AC) = 0 DA A ;( A) =31H ,( CY) =1 ( AC) = MOV @R1, A ; ( R1) = 30H , ( 30H) = 31H 此程序段完成的功能 4. 设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A) =0 ORL A , #27H ANL A , 28H XCHD A , @R0 CPL A 5. 设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)=04H (CY)=1 (P) 1 MUL AB (A)=08H (B)=00H (OV)=0 6. 已知( R0) =20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后 ( 40H ) =15H MOV @R0 , #11H (20H)=11H MOV A , R2 A=20H ,(44H )=7Fh A 中的结果是什么设

单片机原理与应用试题及答案

单片机原理与应用试题 及答案 https://www.doczj.com/doc/f016066622.html,work Information Technology Company.2020YEAR

单片机原理与应用试卷及答案 一、填空题 1、10110110B 作为无字符数时,十进制数值为182;作为补码时,十进制数值为—74. 2、原码01101011B 的反码为01101011B ;补码为01101011B 。 3、由8051的最小系统电路除芯片外,外部只需要复位电路和时钟(晶振)电路,如果由8031的最小系统,还需要扩展外部ROM 电路。 4、若已知8051RAM 的某位地址为09H ,则该位所处的单元地址为21H 。 5、C51语言中,指令#define ADC XBYTE[OXFFEO]能够正确编译的前提是包含头文件absacc.h ,该指令的作用是定义一个外部地址单元为OXFFEO 。 二、选择题 1、程序和常数都是以(二进制)的形式存放在单片机程序的存储器中。 2、下列哪一个选项的指令语句不是任何时候都可以被C51正确编译(uchar; k=ox20) 3、当PSW 的RS0和RS1位分别为1和0时,系统选用的寄存器组为(1组) 4、若某存储器芯片地址线为12根,那么它的存储容量为(4KB ) 5、已知T osc =12MHZ ,TH1=177,TL1=224,TMOD=ox10,则从定时器启动到正常溢出的时间间隔为(20ms ) 三、简答题 答:①新建工程项目②配置工程项目属性③创建源文件④将源文件加入项目⑤保存项目 3、PSW 寄存器有何作用其各位是如何定义的 4、 答:标志寄存器PSW 是一个8位的寄存器,它用于保存指令执行结果的状态,以供工程查询和判别。 C (PWS.7):进位标志位 AC (PWS.6):辅助进位标志位 FO (PWS.5):用户标志位 RS1、RS0(PWS.4、PWS.3 PSW DOH

单片机应用技术课程整体教学设计

《单片机应用技术》整体教学设计 (2015~2016学年第2学期) 课程名称:单片机应用技术 所属系部:信息与智能工程系 制定人:郭志勇巩雪洁 合作人:自成留忠 制定时间:2016.1.16 电子信息职业技术学院

一、课程基本信息 一、课程定位 本课程主要是以智能控制、智能电子产品、智能机器人工程项目为主线,采 用企业真实工作任务,通过“项目驱动”教学模式,对国外广泛应用的MCS-51系列单片机的AT89S52单片机工作原理、应用系统的剖析,使学生获得有关单片机硬件、软件的基本概念、基本知识和单片机应用系统的设计编程入门知识以及用C 语言进行程序设计、运行、调试等基本技能,培养学生分析问题和解决问题的能力。 1. 岗位分析: 本课程主要培养具有智能电子产品和智能控制设计、分析、调试和制作能力的技术技能型人才,可以从事智能电子产品和智能控制设计开发、生产、销售与服务等相关工作,如图1所示。

图1 课程与岗位 2. 课程分析: 本课程是计算机控制技术、物联网应用技术等相关专业的职业能力必修课程,是计算机控制技术专业核心课程。在计算机控制技术专业课程体系中,基于单片机应用技术的课程结构如图2所示。 图2 基于单片机应用技术的课程结构 位于最底层的是本课程的先修课程,也是专业基础课程;本课程是专业核心课程;位于最上层的是本课程的后续课程,既专业课程。基于单片机应用技术的课程结构实现了无缝对接,同时也是我们学校其它相关专业的骨干课程,如嵌入式技术、电子信息工程技术、机电一体化、电气自动化、数控技术等专业都开设本课程。 二、课程目标设计 总体目标: 学通过本课程的学习,学生能熟练使用Proteus仿真软件、C语言编程,能完成简单的智能电子产品和智能控制设计开发;能根据智能电子产品和智能控制设计要求进行元器件焊接组装、软硬件调试;培养学生具有一定的创新思维能力,科学的工作方法和良好的职业道德意识,为提高学生职业技能奠定良好基础。 能力目标:

单片机程序分析试题与答案

六、设计题 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。 答:图(5分) 构思(3分) MOV A,#80H (1分) UP:MOV P1,A (1分) RR A (2分) SJMP UP (1分) 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 答:图(5分) 构思(3分) 程序(4分) ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1 MAIN: MOV IE,#83H SETB IT0 SETB IT1 MOV R0,#00H MOV DPTR,#TAB UP: MOV A,R0 MOVC A,@A+DPTR MOV P1,A SJMP UP AINT0: INC R0 CJNE R0,#10,AINT01 MOV R0,#0 AINT01: RETI BINT1: DEC R0 CJNE R0,#0FFH,BINT11 MOV R0,#9 BINT11: RETI 1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 1.SQR:1NC A MOVC A,@A+PC RET TAB:DB 0,1,4,9,16 DB 25,36,49,64,81 2.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y) 2.ORL C,11H

MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET 3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。 Y= 10 0 1 x x x > - = 0,Y=1 MOV A,#0FFH ;x<0,Y=-1 SJMP RES POSI:MOV A,#01H RES:MOV FUNC,A RET 4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的 单元中(低位在前)。 4. MOV R0,#SUM MOV A,R2 ANL A,#OFH MOV @R0,A ;存低字节BCD MOV A,R2 ANL A,#0F0H SW AP A 1NC R0 MOV @R0,A ;存高字节BCD RET 5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 5. MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H LOOP:MOVX A,@DPTR ;取数 MOVX @R0,A ;存数 1NC DPTR 1NC R0 DJNZ R2,LOOP RE T

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

单片机试题及答案教材

C51单片机习题及答案第一章 1-1选择 1.计算机中最常用的字符信息编码是( A ) A ASCII B BCD码 C 余3码 D 循环码 2 .要MCS-51系统中,若晶振频率屡 8MHz,—个机器周期等于(A )卩s A 1.5 B 3 C 1 D 0.5 3.MCS-51的时钟最高频率是(A ). A 12MHz B 6 MHz C 8 MHz D 10 MHz 4. 以卜不疋构成的控制器部件( D ): A 程序计数器、B指令寄存器、C指令译码 器、D存储器 5. 以下不是构成单片机的部件( D ) A 微处理器(CPU )、B存储器C接口适配器(1\0接口电路)D打印机 6. 卜列不是单片机总线是( D ) A 地址总线B控制总线C数据总线 D 输出总线 7.-49D的二进制补码为.(B ) A 11101111 B11101101 C 0001000 D 11101100 8?十进制29的二进制表示为原码(C ) A 11100010 B10101111 C 00011101 D 00001111 9.十进制0.625转换成二进制数是( A ) A 0.101 B 0.111 C 0.110 D 0.100 10选出不是计算机中常作的码制是( D ) A 原码 B反码 C补码 D ASCII 1-2填空 1.计算机中常作的码制有原码、反码和补码 2.十进制29的二进制表示为 00011101 3.十进制数-29的8位补码表示为.11100011 4.单片微型机CPU、存储器和1\0接口三部分组成. 5.若不使用MCS-51片内存器引脚EA必须接地. 6.输入输出设备是计算机与外部世界交换信息的载体 7.十进制数-47用8位二进制补码表示为.11010001 8.-49D的二进制补码为.11101101 9.计算机中最常用的字符信息编码是ASCII 10 ?计算机中的数称为机器数,它的实际值叫真值。— 1-3判断 1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。(V ) 2.MCS-51 上电复位时, SBUF=00H。( X )。SBUF 不定。 3.使用可编程接口必须处始化。( V) o 4.8155的复位引脚可与89C51的复位引脚直接相连。(V ) 5.MCS-51是微处理器。( X )不是。 6. MCS-51系统可以没有复位电路。(X )不可以。复位是单片机的初始化操作。 7 .要MCS-51系统中,一个机器周期等于 1.5卩So ( X )若晶振频率屡8MHz,才可能为 8.计算机中常作的码制有原码、反码和补码(V ) 9.若不使用MCS-51片内存器引脚EA必须接地.(V ) 1.5 s

5 STC15F2K60S2单片机的程序设计 例题

第5章STC15F2K60S2单片机的程序设计 例题 例5.1 分析ORG在下面程序段中的控制作用 ORG 1000H START: MOV R0,#60H MOV R1,#61H …… ORG 1200H NEXT: MOV DPTR,#1000H MOV R2,#70H …… 解:以START开始的程序汇编后机器码从1000H单元开始连续存放,不能超过1200H 单元;以NEXT开始程序汇编后机器码从1200H单元开始连续存放。 例5.2 分析END在下面程序段中的控制作用。 START: MOV A,#30H …… END START NEXT: …… RET 解:汇编程序对该程序进行汇编时,只将END伪指令前面的程序转换为对应的机器代码程序,而以NEXT标号为起始地址的程序将予以忽略。因此,若NEXT标号为起始地址的子程序是本程序的有效子程序的话,应将整个子程序段放到END伪指令的前面。

例5.3 分析下列程序中EQU指令的作用 AA EQU R1 ;给AA赋值R1 DA TA1 EQU 10H ;给DA TA1赋值10H DELAY EQU 2200H ;给DELAY赋值2200H ORG 2000H MOV R0,DATA1 ;R0←(10H) MOV A,AA ;A←(R1) LCALL DELAY ;调用起始地址为2200H的子程序 END 解:经EQU定义后,AA等效于R1,DATA1等效于10H,DELAY等效于2200H,该程序在汇编时,自动将程序中AA换成R1、DATA1换成10H、DELAY换成2200H,再汇编为机器代码程序。 使用赋值伪指令EQU的好处在于程序占用的资源数据符号或寄存器符号用占用源的英文或英文缩写字符名称来定义,后续编程中凡是出现该数据符号或寄存器符号就用该字符名称代替,这样,采用有意义的字符名称进行编程,更容易记忆和不容易混淆,也便于阅读。

单片机编程全集(含源代码)

前言 (2) 基础知识:单片机编程基础 (2) 第一节:单数码管按键显示 (4) 第二节:双数码管可调秒表 (6) 第三节:十字路口交通灯 (7) 第四节:数码管驱动 (9) 第五节:键盘驱动 (10) 第六节:低频频率计 (15) 第七节:电子表 (18) 第八节:串行口应用 (19)

前言 本文是本人上课的一个补充,完全自写,难免有错,请读者给予指正,可发邮件到ZYZ@https://www.doczj.com/doc/f016066622.html,,或郑郁正@中国;以便相互学习。结合课堂的内容,课堂上的部分口述内容,没有写下来;有些具体内容与课堂不相同,但方法是相通的。https://www.doczj.com/doc/f016066622.html, 针对当前的学生情况,尽可能考虑到学生水平的两端,希望通过本文都学会单片机应用。如果有不懂的内容,不管是不是本课的内容,都可以提出来,这些知识往往代表一大部分同学的情况,但本人通常认为大家对这些知识已精通,而在本文中没有给予描述,由此影响大家的学习。对于这些提出问题的读者,本人在此深表谢意。 想深入详细学习单片机的同学,可以参考其它有关单片机的书籍和资料,尤其是外文资料。如果有什么问题,我们可以相互探讨和研究,共同学习。 本文根据教学的情况,随时进行修改和完善,所以欢迎同学随时注意本文档在课件中的更新情况。 基础知识:单片机编程基础 单片机的外部结构: 1、DIP40双列直插; 2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3、电源VCC(PIN40)和地线GND(PIN20); 4、高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5、内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6、程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7、P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务) 1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3、一个串行通信接口;(SCON,SBUF) 4、一个中断控制器;(IE,IP) https://www.doczj.com/doc/f016066622.html, 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。教科书的160页给出了针对MCS51系列单片机的C语言扩展变量类型。 C语言编程基础: 1、十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2、如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3、++var表示对变量var先增一;var—表示对变量后减一。 4、x |= 0x0f;表示为 x = x | 0x0f; 5、TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6、While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)

单片机原理及应用试题及答案

广西工学院 2002 — 2003 学年第 2 学期课程考核试题考核课程单片机原理及应用考核班级自动化00级 学生数 145 印数 150 考核方式闭卷考核时间 120 分钟 一.填空题(每空1分,共20分) 1、单片机与普通计算机的不同之处在于其将CPU 微处理器、存储 器和I/O口三部分集成于一块芯片上。 2、使用双缓冲方式的D/A转换器,可实现多路模拟信号的同时输出。习题11.4 3、通过堆栈操作实现子程序调用,首先就要把PC的内容入栈,以进行断点保 护。调用返回时,再进行出栈保护,把保护的断点送回到PC。习题2.17 4、在基址加变址寻址方式中,以累加器A作变址寄存器, 以DPTR或PC 作基址寄存器。3.3 5、假定累加器A中的内容为40H,执行指令 1000H:MOVC A,@A+PC 后,把程序存储器1041H单元的内容送入累加器A中。 6、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作 数,而是操作数的地址。3.10 7、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为4BH 。 解析: ANL A,#17H ;A中83H与17H相与,(A)=03H ORL 17H,A ;(17H)中0B5H与(A)中03H相或,(17H)=B7H XRL A,@R0 A ;(A)中03H与(17H)中B7H异或,(A)=B4H

CPL A ;对A取反, A=4BH 8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 请问:A= 80H,SP= ,(41H)= ,(42H)= 。 9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供信号。 10、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问程序存 储器提供地址,而DPTR是为访问数据存储器提供地址。 11、16KB RAM存储器的首地址若为3000H,则末地址为 H。 解析:1000H=0001 0000 0000 0000B=2^12=4K,16K就是4000H,即:0100 0000 0000 0000B=2^14 所以末地址为:7000H-1=6FFFH

基于单片机的简易计算器设计与仿真

专业课程设计 ————基于单片机的简易计算器设计与仿真 学院:电气工程学院 班级:10自动化1班 学号:P101813378 姓名:陈辉、马维谦 指导老师:吴韬

基于单片机的简易计算器设计与仿真 摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。 计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89C52 单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握Microsoft Visual C++ 6.0应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。 关键字:AT89S51 LCD 控制按键

目录 第一章绪论.................................................................................. 4 1.1 课题简介 .......................................................................... 4 1.2 设计目的 .......................................................................... 4 1.3 设计任务 .......................................................................... 4 2.1 单片机发展现状 .............................................................. 5 2.2 计算器系统现状 .............................................................. 62.3 MCS-51系列单片机简介 ...................................................... 7 2.4 矩阵按键 ...................................................................... 11 2.5 计算器设计总体思想 .................................................. 11第三章硬件系统设计 ............................................................. 12 3.1 键盘接口电路 .............................................................. 12 3.2 LCD显示模块 ............................................................... 13 3.3 运算模块 ...................................................................... 14 4.1 汇编语言和C语言的特点及选择 ................................... 144.2 键扫程序设计 ................................................................... 14 4.3 算术运算程序设计 ...................................................... 15 4.4 显示程序设计 .............................................................. 16第五章系统调试与存在的问题 ............................................. 17 5.1 硬件调试............................................................................ 175.2 软件调试............................................................................ 17参考文献.................................................................................... 19

基于51单片机FAT32文件系统程序

基于51单片机FAT32文件系统程序 #ifndef __ZNFAT_H__ #define __ZNFAT_H__ #include "mytype.h" //类型重定义 /*******************************************************/ //znFAT的裁减宏--------------------------------------------------------- //#define ZNFAT_ENTER_DIR //有此宏,函数 znFAT_Enter_Dir() 参与编译 #define ZNFAT_OPEN_FILE //有此宏,函数 znFAT_Open_File() 参与编译 //#define ZNFAT_SEEK_FILE //有此宏,函数 znFAT_Seek_File() 参与编译 //#define ZNFAT_READ_FILE //有此宏,函数 znFAT_Read_File() 参与编译 //#define ZNFAT_READ_FILEX //有此宏,函数 znFAT_Read_FileX() 参与编译 //#define ZNFAT_ADD_DAT //有此宏,函数 znFAT_Add_Dat() 参与编译 //#define ZNFAT_CREATE_DIR //有此宏,函数 znFAT_Create_Dir() 参与编译 //#define ZNFAT_CREATE_FILE //有此宏,函数 znFAT_Create_File() 参与编译 //#define ZNFAT_DEL_FILE //有此宏,函数 znFAT_Del_File() 参与编译 //#define ZNFAT_XCOPY_FILE //有此宏,函数 znFAT_XCopy_File() 参与编译 //#define ZNFAT_RENAME_FILE //有此宏,函数 znFAT_Rename_File() 参与编译 //#define ZNFAT_GET_TOTAL_SIZE //有此宏,函数 znFAT_Get_Total_Size() 参与编译 //#define znFAT_GET_REMAIN_CAP //有此宏,函数 znFAT_Get_Remain_Cap() 参与编译 #include "cj.h" #include "cj.h" //---------------------------------------------------------------------- #define SOC(c) (((c-pArg->FirstDirClust)*(pArg->SectorsPerClust))+pArg->FirstDirSector) // 用于计算簇的开始扇区#define CONST const //设备表 #define SDCARD 0 //SD卡 #define UDISK 1 //U盘 #define CFCARD 2 //CF卡 #define OTHER 3 //其它 //这里的存储设备表,可以灵活扩充,以实现对更多存储设备的支持 //------------------------------------------- #define MAKE_FILE_TIME(h,m,s) ((((unsigned int)h)<<11)+(((unsigned int)m)<<5)+(((unsigned int)s)>>1)) /* 生成指定时分秒的文件时间数据 */ #define MAKE_FILE_DATE(y,m,d) (((((unsigned int)y)+20)<<9)+(((unsigned int)m)<<5)+((unsigned int)d)) /* 生成指定年月日的文件日期数据 */ //DPT:分区记录结构如下 struct PartRecord { UINT8 Active; //0x80表示此分区有效 UINT8 StartHead; //分区的开始磁头 UINT8 StartCylSect[2];//开始柱面与扇区 UINT8 PartType; //分区类型 UINT8 EndHead; //分区的结束头 UINT8 EndCylSect[2]; //结束柱面与扇区 UINT8 StartLBA[4]; //分区的第一个扇区 UINT8 Size[4]; //分区的大小

单片机应用技术考试试题(六)及答案

单片机应用技术考试试题(六) (本试题分笔试题和操作题两部分。共100分,考试时间120分钟。) 第一部分笔试题 (本部分共有4大题,总分60分,考试时间60分钟,闭卷) 一、填空题(每空1分,共20分) 1、半导体存储器的最重要的两个指标是()和()。 2、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对()。 3、指令ALMP的跳转范围是()。 4、通常、单片机上电复位时PC=(),SP=();而工作寄存器缺省则采用第()组,这组寄存器的地址范围是从()。 5、假定累加器A的内容30H,执行指令: 1000H:MOVC A,@A+PC 后,把程序存储器()单元的内容送累加器A中。 6、MCS-51单片机访问外部存储器时,利用()信号锁存来自()口的低8位地址信号。 7、MCS-51单片机8031中有( )个( )位的定时/计数器,可以被设定的工作方式有四种。 8、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择()。 9、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是()。 10、计算机的系统总线有地址总线、控制总线和()。 11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为()。 12、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为()。 13、单片机串行通信时,若要发送数据,就必须将要发送的数据送至()单元,若要接收数据也要到该单元取数。 11、单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用()的溢出率来设定和计算波特率。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1分,共10分) 1、在单片机中,通常将一些中间计算结果放在()中。 A、累加器 B、控制器 C、程序存储器 D、数据存储器 2、单片机8051的XTAL1和XTAL2引脚是()引脚。 A、外接定时器 B、外接串行口 C、外接中断 D、外接晶振 3、当标志寄存器P S W的R S O和R S I分别为1和0时,系统选用的工作寄存器组为()。 A、组0 B、组1 C、组2 D、组3 4、下列指令中错误的是()。 A、MOV A,R4 B、MOV 20H,R4 C 、MOV R4,30H D、MOV﹫R4,R3 5、8051单片机共有()中断源。

相关主题
文本预览
相关文档 最新文档