当前位置:文档之家› 单片机应用系统实验

单片机应用系统实验

单片机应用系统实验
单片机应用系统实验

实验一系统认识及基本程序设计实验

一、实验目的

1. 学习Keil 集成开发环境的操作;

2. 熟悉TD-51 系统板的结构及使用,熟悉51指令系统;

3.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解;

4.学习查表程序的设计方法,进一步熟悉51 的指令系统。

二、实验设备

PC机一台,TD-NMC+教学实验系统。

三、实验步骤

⑴编写实验程序,经编译、链接无误后,启动调试功能;

⑵观察实验现象,并分析原因;

⑶按复位键退出调试状态。

四、实验内容

1. 将BCD 码整数0~255 存入片内RAM 的20H、21H、22H 中,然后转换为二进制整数00H~FFH,保存到寄存器R4 中。修改20H、21H、22H 单元的内容,如:00H,05H,08H;观察实验结果。

参考程序:

;==============================================================

; 文件名称:

; 功能描述: BCD整数转换为二进制整数(8位, 范围从00H--FFH)

;==============================================================

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV R0, #20H ;BCD存放高位地址

MOV R7, #03H ;BCD码0--255, 最多3位

CLR A

MOV R4, A

LP1: MOV A, R4

MOV B, #0AH

MUL AB ;乘10

ADD A, @R0 ;加下一位的值

INC R0 ;指向下一单元

MOV R4, A ;结果存入R4

DJNZ R7, LP1 ;转换未结束则继续

SJMP MAIN ;设置断点, 观察实验结果R4中的内容

END

2. 将16 位二进制整数存入R3R4 寄存器中,转换为十进制整数,以组合BCD 形式存储在RAM 的20H、21H、22H 单元中。

参考程序:

;=============================================================

; 文件名称:

; 功能描述: 二进制整数(16位)转换为十进制整数(组合BCD)

;=============================================================

; 0--FFFFH(R3R4)==>0--65535

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV R0, #22H ;转换结果低位地址

MOV A, R0

PUSH ACC ;ACC表示累加器A的直接地址

MOV R7, #03H

CLR A

LP1: MOV @R0, A ;结果存储地址清零

DEC R0

DJNZ R7, LP1

POP ACC

MOV R0, A

MOV R7, #16

LP2: PUSH ACC

CLR C

MOV A, R4 ;R4中为二进制数的低位

RLC A

MOV R4, A

MOV A, R3 ;R3中为二进制数的高位

RLC A

MOV R3, A

MOV B, #03H

LP3: MOV A, @R0

ADDC A, @R0 ;执行乘2操作

DA A ;十进制调整

MOV @R0, A ;结果保存

DEC R0

DJNZ B, LP3

POP ACC

MOV R0, A

DJNZ R7, LP2

LJMP MAIN ;设置断点观察结果, 可进行下一次转换

END

3. 通过查表的方法将16 进制数转换为ASCII 码;

参考程序:

;============================================================= ; 文件名称:

; 功能描述: 查表程序设计, 将十六进制数0~F通过查表的方法

; 转换为ASCII码

;============================================================= ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV DPTR, #ASCTAB ;表格首地址送DPTR

MOV A, R7 ;R7中为待转换的数

ANL A, #0FH ;取低4位

MOVC A, @A+DPTR ;查表

MOV R5, A ;低4位转换结果送R1

MOV A, R7

ANL A, #0F0H ;取待转换数的高4位

SWAP A ;高4位与低4位交换

MOVC A, @A+DPTR ;查表

MOV R6, A ;高4位转换结果送R2

SJMP MAIN ;设置断点观察结果

ASCTAB: DB 30H, 31H, 32H, 33H, 34H

DB 35H, 36H, 37H, 38H, 39H

DB 41H, 42H, 43H, 44H, 45H, 46H

END

4. 通过查表的方法实现y=x2,其中x为0~9 的十进制数,以BCD码表示,结果仍以BCD 码形式输出。

参考程序:

;==============================================================

; 文件名称:

; 功能描述: 查表程序, 用程序实现Y=X*X, X为0到9的十进制数,

; 用BCD码(00H到09H)表示, 将X的平方, 即Y也以BCD码

; 的形式保存到R1中.

;==============================================================

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV DPTR, #SQR ;取表格首地址

MOV A, R7 ;要计算的值

MOVC A, @A+DPTR ;查表

MOV R6, A ;结果保存

SJMP MAIN

SQR: DB 00H, 01H, 04H, 09H, 16H

DB 25H, 36H, 49H, 64H, 81H

END

实验二片内I/O口及中断应用实验

一、实验目的

了解P1 口作为输入输出方式使用时,CPU 对P1 口的操作方式。了解MCS-51 单片机的中断原理,掌握中断程序的设计方法。

二、实验设备

PC机一台,TD-NMC+教学实验系统,连接线若干

三、实验步骤

⑴按实验内容要求完成硬件连线;

⑵编写实验程序,经编译、链接无误后,启动调试功能;

⑶观察实验现象,并分析原因;

⑷按复位键退出调试状态。

四、实验内容

1. 片内I/O口应用实验

P1 口是8 位准双向口,每一位均可独立定义为输入输出。编写实验程序,将P1 口的低4 位定义为输出,高4 位定义为输入,数字量从P1 口的高4 位输入,从P1 口的低4 位输出控制发光二极管的亮灭。

;============================================================

; 文件名:

; 功能说明: 数字量输入输出实验, P1口高4位输入, 低4位输出

;============================================================

ORG 0000H

LJMP START

ORG 0100H

START: ORL P1, #0F0H ;P1口高四位为输入

MOV A, P1 ;读P1口的值

SWAP A ;A中高,低4位交换

MOV P1, A ;输出到P1口

SJMP START

END

2. 片内中断系统实验

⑴定时器中断

单片机集成的定时器可以产生定时中断,利用定时器0 和定时器1,编写实验程序在及引脚上输出方波信号,通过示波器观察实验现象并测量波形周期。改变计数值,重新运行程序,反复验证程序功能。

参考程序:

;================================================================

; 文件名:

; 功能说明: 采用定时器的中断, 在与引脚上输出周期波形.

;================================================================

ORG 0000H

LJMP START

ORG 000BH

LJMP TIMER0

ORG 001BH

LJMP TIMER1

ORG 0100H

START: MOV P1, #0FFH

MOV TH0, #0F8H ;初始化定时器0计数初值

MOV TL0, #00H

MOV TH1, #0F8H ;初始化定时器1计数初值

MOV TL1, #00H

MOV TMOD, #11H ;设置定时器工作模式为方式1

MOV TCON, #50H ;启动定时器

MOV IE, #8AH ;使能中断

SJMP $

TIMER0: CPL ;定时器0中断服务程序, 对引脚取反

MOV TH0, #0F8H ;重新装入计数初值

MOV TL0, #00H

RETI ;中断返回

TIMER1: CPL ;定时器1中断服务程序

MOV TH1, #0F8H

MOV TL1, #00H

RETI

END

⑵外部中断

手动扩展外部中断INT0、INT1,当INT0 产生中断时,使LED8 亮8 灭闪烁4 次;当INT1 产生中断时,使LED 由右向左流水显示,一次亮两个,循环4 次。先按KK1-,观察实验现象,然后按KK2-,观察实验现象。

51 单片机加入了中断系统,从而提高了CPU 对外部事件的处理能力和响应速度。增强型单片机SST89E554RC 共有8 个中断源,即外部中断0(INT0)、定时器0(T0)、外部中断1(INT1)、定时器1(T1)、串行中断(TI 和RI)、定时器2(T2)、PCA 中断和Brown-out 中断。

参考程序:

;======================================================================

; 文件名:

; 功能说明: 外部中断INT0, INT1操作.

; 外部中断0: 使发光二极管闪烁4次.

; 外部中断1: 使发光二极管由右向左流水显示, 一次亮两个LED.

;======================================================================

ORG 0000H

LJMP START

ORG 0003H

LJMP EINT0

ORG 0013H

LJMP EINT1

START: MOV P1, #00H

SETB IT0 ;定义外部中断0为边沿触发

SETB EX0 ;使能外部中断0

SETB IT1 ;定义外部中断1为边沿触发

SETB EX1 ;使能外部中断1

SETB EA ;使能总中断

SJMP $

EINT0: MOV R7, #04H ;外部中断0中断服务程序

ELP0: MOV P1, #0FFH

ACALL DELAY ;调用延时程序

MOV P1, #00H

ACALL DELAY

DJNZ R7, ELP0

RETI

EINT1: MOV A, #03H ;外部中断1中断服务程序

MOV R7, #10H

ILP1: MOV P1, A

RL A

RL A

ACALL DELAY

DJNZ R7, ILP1

RETI

DELAY: MOV R6, #0FFH ;延时子程序

DLP1: MOV R5, #0FFH

DLP2: DJNZ R5, DLP2

DJNZ R6, DLP1

RET

END

实验三定时器/计数器应用实验

一、实验目的

1.了解MCS-51 单片机定/计数器的工作原理与工作方式;

2.掌握定时/计数器T0 和T1 在定时器和计数器两种方式下的编程;

3.学习定时/计数器T2 的可编程时钟输出功能。

二、实验设备

PC机一台,TD-NMC+教学实验系统,连接线若干

三、实验步骤

⑴按实验内容要求完成硬件连线;

⑵编写实验程序,经编译、链接无误后,启动调试功能;

⑶观察实验现象,并分析原因;

⑷按复位键退出调试状态。

四、实验原理

通常,8051 单片机内部有2 个16 位定时/计数器,即定时器0(T0)和定时器1(T1)。增强型单片机SST89E554RC 内部还有一个16 位定时器T2,与其相关的特殊功能寄存器有TL2、TH2、RCAP2L、RCAP2H、T2CON 等。

定时器/计数器2 控制寄存器(T2CON)各位的含义简述如下:

TF2:定时器溢出标志,当定时器溢出时置位,必须由软件清除。当RCLK=1 或TCLK=1

时此位将不会被置位。

EXF2:定时器2 外部标志,当EXEN2=1 并且T2EX 引脚上出现负跳变引起捕捉或重载发

生时此位置1。如果定时器2 中断使能,EXF2=1 会引起中断,此位必须软件清除。DCEN=1 时,EXF2 不会引起中断。

RCLK:接收时钟标志,RCLK=1,串行口使用T2 的溢出脉冲作为方式1 和3 下的接收时

钟;RCLK=0,串行口使用T1 的溢出脉冲作为接收时钟。

TCLK:发送时钟标志,与RCLK 的作用相同。

EXEN2:定时器2 外部使能标志。EXEN2=1 且T2 未被用于串口时钟时,若T2EX 引脚上

出现负跳变则出现捕捉或重载。EXEN2=0 时,T2 忽略T2EX 引脚上的变化。

TR2:启动/停止定时器2,为1 时启动定时器2。

C/T2#:定时器/计数器选择。C/T2#=1 为计数功能;C/T2#=0 为定时功能。

CP/RL2#:捕捉/重载标志。CP/RL2#=1,当EXEN2=1 且T2EX 引脚上出现负跳变时捕

捉发生。CP/RL2#=0,T2 溢出时重载发生,或当EXEN2=1 且T2EX 引脚上出现负跳变时重

载发生。如果RCLK=1 或TCLK=1,此位会被忽略,T2 溢出时自动重载。

定时器/计数器2 模式寄存器(T2MOD)各位的含义简述如下:

T2OE:定时器2 输出使能位。

DCEN:递减计数使能位。

五、实验内容

1. 使用定时器0 与定时器1 进行定时,在和引脚上输出方波信号,通过示波器

观察波形输出,测量并记录方波周期。

参考程序:

;=======================================================================

; 文件名称:

; 功能说明: 使用定时器0和定时器1在与引脚上输出方波.

;======================================================================= ORG 0000H

LJMP START

ORG 0100H

START: MOV TMOD, #11H ;设置定时器工作方式为方式1

MOV TH0, #0F8H ;装入定时器0的计数初值

MOV TL0, #00H

MOV TH1, #0F8H ;装入定时器1的计数初值

MOV TL0, #00H

SETB TR0 ;启动定时器

SETB TR1

MLP1: JNB TF0, MLP2 ;判定时器0溢出标志

MOV TH0, #0F8H ;重装定时器0的计数初值

MOV TL0, #00H

CPL

CLR TF0 ;清溢出标志

MLP2: JNB TF1, MLP1 ;判定时器1溢出标志

MOV TH1, #0F8H

MOV TL1, #00H

CPL

CLR TF1

AJMP MLP1

END

2. 将定时/计数器1 设定为计数器方式,每次计数到10 在引脚上取反一次,硬件连接如图所示,按单次脉冲KK1,观察发光管D0 的状态,每10 次变化一次。

参考程序:

;=======================================================================

; 文件名称:

; 功能描述: 利用计数器1, 在计数10次后对引脚取反一次

;=======================================================================

ORG 0000H

AJMP START

ORG 0100H

START: MOV TMOD, #60H ;设置定时器/计数器1为计数器方式, 且为方式2

MOV TH1, #0F6H ;装入计数初值

MOV TL1, #0F6H

SETB TR1 ;启动计数

MLP1: JNB TF1, MLP1 ;判溢出标志

CPL ;取反

CLR TF1 ;清溢出标志

AJMP MLP1

END

3. 定时器2 可以作为时钟发生器使用,并在引脚上输出占空比为50%的方波。编程定时器2,使用示波器测量输出时钟,测量时钟周期;假定需要输出1MHz 的方波信号,试修改程序,并使用示波器测量,验证程序的正确性。

引脚与T2 复用,除作为普通I/O 引脚外,还有两个功能,即为定时/计数器2 输入外

部时钟,输出占空比为50%的周期时钟。

如果将T2 配置为时钟发生器,那么必须将C/T2#设置为0,将T2OE 设置为1,并设置TR2 为1 以启动定时器。输出时钟的频率取决于晶振频率以及捕捉寄存器的重载值,公式如下:

输出频率=晶振频率÷[n×(65536-RCAP2H,RCAP2L)]

其中n=2(6 时钟模式)或n=4(12 时钟模式)

晶振频率为,工作于12 时钟模式下,输出频率的范围为:42Hz~。

参考程序:

;=======================================================================

; 文件名称:

; 功能描述: 使用定时器2作为时钟发生器, 测量引脚输出, 测量周期.

;=======================================================================

T2CON EQU 0C8H ;定义特殊功能寄存器

T2MOD EQU 0C9H

RCAP2L EQU 0CAH

RCAP2H EQU 0CBH

ORG 0000H

AJMP START

ORG 0100H

START: MOV RCAP2H, #0FFH ;改变RCAP2H,RCAP2L中的值可以改变时钟频率

MOV RCAP2L, #00H

MOV T2MOD, #02H ;设置T2工作于时钟输出模式下

MOV T2CON, #04H ;启动定时器T2

SJMP $

END

实验四看门狗实验

一、实验目的

了解看门狗的工作原理,学习看门狗的编程方法。

二、实验设备

PC机一台,TD-NMC+教学实验系统,连接线若干

三、实验步骤

⑴按图连接实验电路图;

⑵编写实验程序,编译、链接无误后启动调试;

⑶允许实验程序,LED 闪烁;

⑷按单次脉冲KK1-,对WDT 停止刷新;

⑸经过大概3 秒钟,可观察软件界面,产生复位,程序停止运行(注意界面变化);

⑹改变WDT 的超时周期,反复实验几次,验证看门狗功能。

每次重新运行程序前,都应该先停止调试,然后重新启动调试,这样方可保证系统正常工作。

四、实验原理

SST89E554RC 提供了一个可编程看门狗定时器(WDT),可以防止软件跑飞并自动恢复,提高系统的可靠性。用户程序中如果使用了看门狗,那么必须在用户自己定义的时间内刷新WDT,亦称“喂狗”。若在规定的时间内没有刷新WDT,则产生内部硬件复位。WDT 以系统时钟(XTAL1)作为自己的时基,WDT 寄存器每隔344064 个时钟加1,时基寄存器(WDTD)的高8 位被用作WDT 的重载寄存器。WDT 的结构框图如图3-4-1 所示。WDT 超时周期计算如下:

周期=(255-WDTD)×344064÷fCLK(XTAL1)

看门狗定时器控制寄存器(WDTC)

各位说明如下:

WDOUT:看门狗输出允许

0:看门狗复位不在复位引脚上输出

1:如果看门狗复位允许位WDRE=1,看门狗复位将在复位脚上输出复位信号32 个时钟WDRE:看门狗定时器复位允许

0:禁止看门狗定时器复位

1:允许看门狗定时器复位

WDTS:看门狗定时器复位标志

0:外部硬件复位或上电会清除此位,向此位写 1 会清除此位,若由于看门狗引起的复位将不影响此位。

1:看门狗溢出,此位置1

WDT 看门狗定时器刷新

0:刷新完成,硬件复位此位。

1:软件设置此位以强迫看门狗刷新,俗称“喂狗”。

SWDT 启动看门狗定时器

0:停止WDT

1:启动WDT

看门狗定时器数据/重载寄存器(WDTD)

五、实验内容

学习SST89E554RC 的看门狗功能模块,编写实验程序,程序正常运行时8 个LED 闪烁,

通过按键使看门狗产生超时,引起系统复位。

参考程序:

;======================================================================

; 文件名称:

; 功能描述: 看门狗实验, 程序运行时LED闪烁. 使用按键使看门狗产生

; 超时, 引起系统复位. 系统复位, 软件停止按钮变灰.

;======================================================================

WDTD EQU 85H ;看门狗定时器数据/重载寄存器WDTC EQU 0C0H

WDT BIT 0C1H ;看门狗定时器刷新位

ORG 0000H

AJMP START

ORG 0003H

AJMP EINT0

ORG 0100H

START: MOV WDTD, #9FH ;看门狗定时

MOV WDTC, #1FH ;看门狗控制

SETB F0 ;设置标志

SETB IT0 ;外部中断0触发方式

SETB EX0 ;外部中断0使能

SETB EA ;全局中断使能

MLP1: JNB F0, MLP2 ;判标志

MOV P1, #0FFH

ACALL DELAY

MOV P1, #00H

ACALL DELAY

SETB WDT ;喂狗

AJMP MLP1

MLP2: SJMP $

EINT0: MOV P1, #00H

CLR F0 ;清标志

RETI

DELAY: MOV R7, #0FFH ;延时

DLP1: MOV R6, #0FFH

DLP2: NOP

NOP

DJNZ R6, DLP2

DJNZ R7, DLP1

RET

END

实验五串口通讯实验

一、实验目的

1. 学习MCS-51 单片机串口的工作原理及程序设计;

2. 了解使用11F 软件实现程序脱机运行的方法;

3. 熟悉启动加载代码与SoftICE 相互切换的方法。

二、实验设备

PC机一台,TD-NMC+教学实验系统。

三、实验步骤

(1)串口通讯实验电路如图3-7-2 所示;

(2)编写实验程序,经编译、链接无误后启动调试;

(3)进入调试界面,点击命令,打开串口1 监视窗口;

(4)运行实验程序,观察此时有如图3-7-2 所示输出;

(5)阅读节的内容,首先将系统程序由SoftICE 切换到启动加载程序;

(6)将编译生成的Hex 文件通过11F 软件下载到单片机内部Flash 中;

(7)复位单片机,打开超级终端或串口调试软件,将端口号及波特率等设置好,观察PC

显示,如图3-7-3 和图3-7-4 所示;

(8)实验结束,重新将SoftICE 下载到单片机系统区替换启动加载程序。

四、实验原理

MCS-51 单片机内部的全双工串行接口部分,包含有串行接收器和串行发送器。有两个物理上独立的接收缓冲器和发送缓冲器。接收缓冲器只能读出接收的数据,但不能写入。发送缓冲器只能写入发送的数据,但不能读出。因此可以同时收、发数据,实现全双工通讯。两个缓冲器是特殊功能寄存器SBUF,它们公用地址为99H,SBUF 是不可位寻址的。此外,还有两个寄存器SCON 和PCON 分别用于控制串行口的工作方式以及波特率,定时器T1 可以用作波特率发生器。

SST89E554RC 提供了增强型全双工串行接口,具有帧错误检测和自动地址识别的功能。

由于SST89E554RC 的串口用作调试目的,所以Keil C51 软件提供了串口模拟窗口,可以借

助此窗口调试串口通讯程序。也可以将程序编译生成目标代码(.HEX),脱机运行。

五、实验内容

编写实验程序,每隔一定的时间单片机向串口发送一次数据“Xi’an Tangdu Corp.”。

;=====================================================================

; 文件名称:

; 功能说明: 串口输出实验, 定时向串口发送数据"Xi'an Tangdu Corp.".

; 在串口观察窗1中可以观察数据.

;=====================================================================

ORG 0000H

LJMP START

ORG 0100H

START: LCALL INITCOM ;初始化串口

MLP1: MOV DPTR, #SENDDATA ;数据起始地址

MLP2: MOV A, #00H

MOVC A, @A+DPTR

CJNE A, #00H, MLP3

AJMP MLP5

MLP3: MOV SBUF, A ;发送数据到串口

MLP4: JNB TI, MLP4 ;判发送结束否?

CLR TI ;清发送标志

INC DPL

AJMP MLP2

MLP5: LCALL DELAY

AJMP MLP1

; Xi' an Tangdu

SENDDATA: DB 58H,69H,60H,61H,6EH,20H,54H,61H,6EH,67H,64H,75H

DB 20H,43H,6FH,72H,70H,2EH,0DH,0AH,00H

; Corp .

INITCOM:MOV SCON, #50H ;串口初始化

MOV TMOD, #20H ;波特率设置为19200bps

MOV PCON, #80H

MOV TH1, #0FDH

SETB TR1

CLR ES ;不启动串口中断

RET

DELAY: MOV R7, #0FFH

DLP1: MOV R6, #0FFH

DLP2: NOP

NOP

NOP

DJNZ R6, DLP2

DJNZ R7, DLP1

RET

END

实验六静态存储器扩展实验

一、实验目的

1. 掌握单片机系统中存储器扩展的方法;

2. 掌握单片机内部RAM 和外部RAM 之间数据传送的特点。

二、实验设备

PC机一台,TD-NMC+教学实验系统。

三、实验步骤

1. 按图连接使用电路;

2. 按实验内容编写实验程序,经编译、链接无误后启动调试;

3. 打开存储器观察窗口,在存储器#1 的Address 中输入D:0x30,在存储器#2 的Address

中输入X:0x0000 来监视存储器空间;

4. 可单步运行程序,观察存储器内容的变化,或在while(1)语句行设置断点再运行程序,

验证实验功能。

四、实验原理

存储器是用来存储信息的部件,是计算机的重要组

成部分,静态RAM 是由MOS 管组成的触发器电路,每个

触发器可以存放1 位信息。只要不掉电,所储存的信息

就不会丢失。因此,静态RAM 工作稳定,不要外加刷新

电路,使用方便。但一般SRAM 的每一个触发器是由6 个

晶体管组成,SRAM 芯片的集成度不会太高,目前较常用

的有6116(2K×8 位),6264(8K×8 位)和62256(32K

×8 位)。本实验以62256 为例讲述单片机扩展静态存

储器的方法。

SST89E554RC 内部有1K 字节RAM,其中768 字

节(00H~2FFH)扩展RAM 要通过MOVX 指令进行间接寻址。内部768 字节扩展RAM 与外部数据存储器在空间上重叠,这要通过AUXR 寄存器的EXTRAM 位进行切换,AUXR 寄存器说明如下:EXTRAM:内部/外部RAM 访问

0:使用指令MOVX @Ri/@DPTR 访问内部扩展RAM,访问范围00H~2FFH,300H 以上

的空间为外部数据存储器;

1:0000H~FFFFH 为外部数据存储器。

AO:禁止/使能ALE

0:ALE 输出固定的频率;

1:ALE 仅在MOVX 或MOVC 指令期间有效。

五、实验内容

编写实验程序,在单片机内部一段连续RAM 空间30H~3FH 中写入初值00H~0FH,然后将这16 个数传送到RAM 的0000H~000FH 中,最后再将外部RAM 的0000H~000FH 空间的内容传送到片内RAM 的40H~4FH 单元中。

参考程序:

;===============================================================

; 文件名称:

; 功能描述: 存储器扩展. 将单片机内部30H~3FH单元写入初值00H~0FH,

; 然后将这些数从单片机内部传送到外部存储器中, 再由外

; 部存储器传送到单片机内部40H~4FH单元中.

;===============================================================

AUXR DATA 8EH ;辅助寄存器

ORG 0000H

LJMP START

ORG 0100H

START: MOV AUXR, #02H ;使用外部存储器

MOV R0, #30H ;内部RAM起始地址

MOV A, #00H

MOV R4, #10H ;赋值个数

MLP1: MOV @R0, A ;赋值

INC A

INC R0

DJNZ R4, MLP1

NOP ;运行至此, 观察RAM中的值

MOV R4, #10H

MOV DPTR, #0000H ;外部RAM起始地址

MOV R0, #30H

MLP2: MOV A, @R0

MOVX @DPTR, A ;写外部RAM

INC R0

INC DPL

DJNZ R4, MLP2

NOP ;运行至此, 观察外部RAM中数据

MOV R4, #10H

MOV DPTR, #0000H

MOV R0, #40H

MLP3: MOVX A, @DPTR ;读外部RAM

MOV @R0, A

INC DPL

INC R0

DJNZ R4, MLP3

NOP ;运行至此,观察内部RAM 40H起始地址中的数据SJMP $

END

单片机应用技术试卷A及答案

《单片机应用技术(C语言版)》试卷A一、单项选择题(每题1.5分,共30分) 1、51单片机的CPU主要由()组成。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 2、程序是以()形式存放在程序存储器中。 A、C语言源程序 B、汇编程序 C、二进制编码 D、BCD码 ——引脚()3、单片机8031的EA。 A、必须接地 B、必须接+5V电源 C、可悬空 D、以上三种视需要而定 4、单片机上电复位后,PC的内容为()。 A、0x0000 B、0x0003 C、0x000B D、0x0800 5、外部扩展存储器时,分时复用做数据线和低8位地址线的是() A、P0口 B、P1口 C、P2口 D、P3口 6、单片机的ALE引脚是以晶振振荡频率的()固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A、1/2 B、1/4 C、1/6 D、1/12 7、下面叙述不正确的是()。 A、一个C源程序可以由一个或多个函数组成。 B、一个C源程序必须包含一个主函数main( )。 C、在C程序中,注释说明只能位于一条语句的后面。 程序的基本组成部分单位是函数。C、D 8、在C语言中,当do-while语句中的条件为()时,循环结束。 A、0 B、false C、true D、非0 9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、共阳极LED数码管加反相器驱动时显示字符“6”的段码是() A、0x06 B、0x7D C、0x82 D、0xFA 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、010 D、0x50 15、启动T0开始计数是使TCON的()。

单片机课后习题答案(《单片机应用技术》C语言版)

MCS-51在通常应用情况下,使用振荡频率为的6MHz或12MHz的晶振,如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.059MHz的晶振。 1.11 答: 规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。 当振荡脉冲频率为12 MHz时, 一个机器周期为1μs;当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。 1.12 答: (a)上电复位电路(b)按键复位电路 单片机常见的复位电路 图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST 端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。 图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。 习题2答案 2.1 单项选择题 (1)C (2)A (3)B (4)A (5)D 2.2 答: 单片机开发过程所用的设备与软件称为单片机开发系统或开发工具。 单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。连接方法如下图所示。 单片机开发系统连接方法示意图 2.3 答:单片机应用系统的开发过程如下: 设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试2.4 答: 1.在线仿真功能 在线仿真器(In Circuit Emulator,简称ICE)是由一系列硬件构成的设备,它能仿真用户系统中的单片机,并能模拟用户系统的ROM、RAM和I/O口。因此,在线仿真状态下,用户系统的运行环境和脱机运行的环境完全“逼真”。 2.调试功能 1)运行控制功能 开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。 2)单片机状态查看修改功能

基于STM32的经典项目设计实例

13个基于STM32的经典项目设计实例,全套资料STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。尤其对于新手,是一个学习stm32单片机的“活生生”的范例。 1.开源硬件-基于STM32的自动刹车灯设计 自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。 2.基于STM32F407的openmv项目设计资料 本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。MCU选择的是STM32F407(STM32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。 3.STM32无线抢答器 无线抢答器采用STM32F302(STM32F302数据手册)芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。 4.基于ARM-STM32的两轮自平衡小车 小车直立和方向控制任务都是直接通过控制小车两个电机完成的。假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。 5.基于STM32F4高速频谱分析仪完整版(原创) 本系统是以STM32F407(STM32F407数据手册)进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。 6.基于STM32F4的信号分析仪设计(有视频,有代码) 这次基于discovery的板子做一个信号分析仪,就是练手,搞清楚STM32F4(STM32F4系列数据手册)中的USB固件编写,USB驱动的开发,上位机UI开发等一整套流程,过一把DIY的瘾。 7.基于STM32F4的解魔方机器人-stm32大赛二等奖(有视频) 本系统是基于Cortex-M4内核的STM32微控制器的解魔方机器人,在硬件方面主要有OV7670摄像头,LCD,舵机,在软件方面主要有OV7670的驱动,摄像头颜色识别算法,解魔方算法和舵机动作算法。整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,制版,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

单片机应用技术考试题库

习题1 1.1单项选择题 (1)MCS-51系列单片机的CPU主要由组成。 A. 运算符、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、编码器 (2)单片机中的程序计数器PC用来。 A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令的地址 D.存放上一条指令地址 (3)单片机8031的ˉEA引脚。 A.必须接地 B.必须接+5V电源 C.可悬空 D.以上三种视需要而定 (4)外部扩展存储器时,分时复用做数据线和低8位地址线的是。 A.P0口 B.P1口 C.P2口 D.P3口 (5)PSW中的RS1和RS0用来。 A.选择工具寄存器 B.指示复位 C.选择定时器 D.选择工作方式 (6)单片机上电复位后,PC的内容为。 A.0000H B.003H C.000BH D.0800H (7)Intel 8051单片机的CPU是。 A.16 B. 4 C. 8 D.准16位 (8)程序是以形式存放在程序存储器中的。 A. C语言源程序 B.汇编程序 C.二进制编码 D.BCD码 (9)8050单片机的程序计数器PC为16位计数器,其寻址范围是。 A. 8 KB B.16KB C.32KB D.64KB (10)单片机的ALE引脚是以晶振荡频率的固定频率输出正脉冲,因此它可作为外部时钟或外部定 时脉冲使用。 A.1/2 B.1/4 C.1/6 D.1/12 1.2填空题 (1)单片机系统是由和组成的。 (2)除了单片机和电源外,单片机最小系统包括电路和电路。 (3)在进行单片机应用系统设计时,除了电源和地线引脚外,、、、引脚信号必须 连接相应电路。 (4)MCS-51系列单片机的存储器主要有4个物理存储空间,即、、、。 (5)MCS-51系列单片机的XTALL和XYAL2引脚是引脚。 (6)MCS-51系列单片机的应用程序一般存在中。 (7)片内RAM低128单元,按其用途划分为、和3个区域。 (8)当振荡脉冲频率为12 MHz时,一个机器周期为;当振荡脉冲频率为6 MHz时,一个机器周期 为。 (9)MCS-51系列单片机的复位电路有两种,即和。 (10)输入单片机的复位信号需延续个机器周期以上的电平时即为有效,用于完成单片机的复位 初始化操作。 1.3回答题 (1)什么是单片机?它由哪几部分组成?什么是单片机应用系统? (2)P3口第二功能是什么?

单片机C语言编程实例

单片机C语言编程实例 前言 INTEL公司的MCS-51单片机是目前在我国应用得最广泛的单片机之一.随着 单片机应用技术的不断发展,许多公司纷纷以51单片机为内核,开发出与其兼容的 多种芯片,从而扩充和扩展了其品种和应用领域。 C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之—。将C语言向单片机上的移植,始于20世纪80年代的中后期。经过十几年的努力,C语言终于成为专业化单片机上的实用高级语言。用C语言编写的8051单片机的软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完善的系统。因此,不管是对于新进入这一领域的开发者来说,还是对于有多年单片机开发经验的人来说,学习单片机的C语言编程技术都是十分必要的。. C语言是具有结构化.模块化编译的通用计算机语言,是国际上应用最广.最多的计算语言之一。C51是在通用C语言的基础上开发出的专门用于51系列单片机编程的C语言.与汇编语言相比,C51在功能上.结构上以及可读性.可移植性.可维护性等方面都有非常明显的优势。目前 最先进、功能最强大、国内用户最多的C51编译器是Keil Soft ware公司推出的KeilC51。第 一章单片机C语言入门 1.1建立您的第一个C项目 使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码, 这样单片机才能执行编写好的程序。KEIL uVISION2是众多单片机应用开发软 件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑, 编译,仿真等于一体,同时还支持PLM、汇编和C语言的程序设计,它的界面 和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真 方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。 以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周 立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个

单片机应用技术课后习题参考答案

1 习题1答案 1.2 填空题 (1)单片级应用系统是由硬件系统、软件系统组成的 (2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路 (3)除了电源和电线引脚外,XTAL1、XTAL2、RST、EA引脚信号必须连接相应电 路 (4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)51系列单片机的XTAL1和XTAL2引脚是时钟电路 (6)51系列单片机的应用程序一般存放在程序存储器 (7)片内RAM低128单元,按其用途划分为工作寄存器组、位寻址区、用户RAM区(8)但振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us (9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路 (10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。 1.3 (4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少? 答: 规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。 当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。 (5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。 答: (a)上电复位电路(b)按键复位电路 单片机常见的复位电路 图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位

与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。 图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。 习题3 答案 3.2 填空题 (2)用C51编程访问51单片机的并行I/O口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是s bit FLAG=P3^1; (10)下面的while循环执行了无限次空语句。 i=3; While(i!=0); (15)在以下的数组定义中,关键字“code”是为了把tab数组存储在程序存储器ROM中 Unsigned char code b[]={}; 3.3 上机操作题 (1) //xiti3_3_1.c——第三章习题3.3上机操作题(1) #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1){ P1=0x55; //按状态1的方式点亮8个LED delay(200); //延时 P1=0xaa; //按状态2的方式点亮8个LED delay(200); //延时 } } void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c (2) //xiti3_3_2.c——第三章习题3.3上机操作题(2) #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数 { unsigned char i,l,r; while(1){ l=0x10; // 高4位灯的位置初值为00010000B r=0x08; // 低4位灯的位置初值为00001000B

单片机应用系统设计开发主要步骤

单片机应用系统设计开发主要步骤 单片机应用系统的研究开发步骤,大致分为几个部分: 1.策划阶段: 策划阶段决定研发方向,是整个研发流程中的重中之重,所谓“失之毫厘谬以千里”。因此必须“运筹帷幄,谋定而动”。策划有两大内涵:做什么?怎么做? 1)项目需求分析。解决“做什么?”“做到什么程度?”问题。 对项目进行功能描述,要能够满足用户使用要求。对项目设定性能指标,要能够满足可测性要求。所有的需求分析结果应该落实到文字记录上。 2)总体设计,又叫概要设计、模块设计、层次设计,都是一个意思。解决“怎么做?”“如何克服关键难题?”问题。 以对项目需求分析为依据,提出解决方案的设想,摸清关键技术及其难度, 明确技术主攻问题。 针对主攻问题开展调研工作, 查找中外有关资料, 确定初步方案,包括模块功能、信息流向、输入输出的描述说明。在这一步,仿真是进行方案选择时有力的决策支持工具。 3)在总体设计中还要划分硬件和软件的设计内容。单片机应用开发技术是软硬件结合的技术, 方案设计要权衡任务的软硬件分工。硬件设计会影响到软件程序结构。如果系统中增加某个硬件接口芯片, 而给系统程序的模块化带来了可能和方便, 那么这个硬件开销是值得的。在无碍大局的情况下, 以软件代替硬件正是计算机技术的长处。 4)进行总体设计时要注意,尽量采纳可借鉴的成熟技术, 减少重复性劳动,同时还能增加可靠性,对设计进度也更具可预测性。 2. 实施阶段之硬件设计 策划好了之后就该落实阶段,有硬件也有软件。随着单片机嵌入式系统设计技术的飞速发展,元器件集成功能越来越强大,设计工作重心也越来越向软件设计方面转移。硬件设计的特点是设计任务前重后轻。 单片机应用系统的设计可划分为两部分: 一部分是与单片机直接接口的电路芯片相关数字电路的设计,如存储器和并行接口的扩展, 定时系统、中断系统扩展, 一般的外部设备的接口, 甚至于A/D、 D/A芯片的接口。另一部分是与模拟电路相关的电路设计, 包括信号整形、变换、隔离和选用传感器,输出通道中的隔离和驱动以及执行元件的选用。 工作内容: 1)模块分解。策划阶段给出的方案只是个概念方案,在这一步要把它转化为电子产品设计的概念描述的模块,并且要一层层分解下去,直到熟悉的典型电路。尽可能选用符合单片机用法的典型电路。当系统扩展的各类接口芯片较多时, 要充分考虑到总线驱动能力。当负载超过允许范围时, 为了保证系统可靠工作, 必须加总线驱动器。 2)选择元器件。尽可能采用新技术, 选用新的元件及芯片。 3)设计电原理图及说明。 4)设计PCB及说明。 5)设计分级调试、测试方法。 设计中要注意: 1)抗干扰设计是硬件设计的重要内容, 如看门狗电路、去耦滤波、通道隔离、合理的印制板布线等。 2)所有设计工作都要落实到文字记录上。

单片机应用系统设计工程实践报告

2016-2017学年第1学期 单片机应用系统设计/工程实践 (课号:103G06B/D/E) 实验报告 项目名称:基于AT89C51单片机温度报警系统 学号 姓名 班级 学院信息科学与工程学院 完成时间

目录 一、项目功能及要求 (3) 1.1、课程设计的性质和目的 (3) 1.3、项目设计要求 (3) 二、系统方案设计及原理 (3) 2.1、设计主要内容 (3) 2.2 、AT89C51单片机简介 (3) 2.3 、DS18B20简介 (4) 2.4 、数码管显示 (5) 2.5、报警电路 (6) 三、系统结构及硬件实现 (7) 3.1、总电路图 (7) 3.2、单片机控制流程图 (8) 四、软件设计过程 (8) 五、实验结果及分析 (8) 5.1 、Proteus仿真 (8) 5.2 、C程序调试 (9) 六、收获及自我评价 (14) 七、参考文献 (15)

一、项目功能及要求 1.1、课程设计的性质和目的 本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设范围则发出警报,且精度高。 利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。 1.2、课程设计的要求 1、遵循硬件设计模块化。 2、要求程序设计结构化。 3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。 5、适当追求编程技巧和程序运行效率。 1.3、项目设计要求 1、基于AT89C51单片机温度报警系统; 2、设计3个按键分别为:设置按钮、温度加、温度减; 3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别; 二、系统方案设计及原理 2.1、设计主要内容 本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。 2.2 、AT89C51单片机简介 AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。

《单片机应用技术》课程标准

电子技术应用专业 《单片机应用技术》课程标准 增加附录:51或52单片机说明书,编程软件烧程序软件使用说明,增加实验中使用的各种器件说明 修改任务内容:去掉任务ISP下载线制作 增加点阵及液晶显示 一、概述 (一)课程性质 单片机技术是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点。学习单片机并掌握其应用已经成为电子类学生必须具备的技能,也是现代工科学生就业的一个基本条件。 《单片机应用技术》是电子技术应用专业的一门职业技术课。它以模拟电子技术、数字电子技术、C语言等课程为基础。后续课程如电子产品装调技术、电子产品检测技术及相关实训课程,一般都要应用到单片机系统的应用。它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。单片机知识在电子类专业整个课程体系中处于承上启下的核心地位。 通过本课程的学习,使学生掌握单片机技术及其在工业控制、经济建设和日常生活中的应用,培养学生实践能力、创新能力,为将来从事相关产品的检测和维护等工作奠定坚实的基础,为学生将来在电子类专

业领域进一步发展打下良好基础。 (二)课程基本理念 本课程的设计突破了学科体系模式,打破了原来各学科体系的框架,将各学科的内容按“项目”进行整合。本课程的“项目”以职业实践活动为主线,因而,它是跨学科的,且理论与实践一体化。强调学生个人适应劳动力市场变化的需要。因而,本课程的设计兼顾了企业和个人两者的需求,着眼于人的全面发展,以培养全面素质为基础,以提高综合职业能力为核心。 本课程包含了单片机应用技术的五个项目,每个项目均由若干个具体的典型工作任务组成,每个任务均将相关知识和实践(含实验)过程有机结合,力求体现“做中学”、“学中做”的教学理念;本课程内容的选择上降低理论重心,突出实际应用,注重培养学生的应用能力和解决问题的实际工作能力。 (三)课程设计思路 本课程标准注重培养分析问题、解决问题的能力,强化学生动手实践能力,遵循学生认知规律,紧密结合应用电子专业的发展需要,为将来从事应用电子产品的设计、检测奠定坚实的基础。将本课程的教学活动分解设计成若干项目或工作情景,以项目为单位组织教学,并以典型设备为载体,通过具体案例,按单片机项目实施的顺序逐步展开,让学员在掌握技能的同时,引出相关专业理论知识,使学生在技能训练过程中加深对专业知识、技能的理解和应用,培养学生的综合职业能力,满足学生职业生涯发展的需要。 二、课程目标 1、总目标 本课程先修要求:学生已学习《模拟电子技术》、《数字电子技术》等相关专业基础理论课程,有一定的电路识图、分析能力后进行本专业能力实训。通过实训学生应达到: (一)应使学生熟悉单片机的原理与结构,通过试验实训的训练和一些简易单片机项目制作,掌握单片机控制的基本原理、接口技术,掌

单片机应用技术学程

书号33054 《单片机应用技术学程》 1.3评价反馈 1)试简单说明单片机应用过程中有哪些环节。 A)设计硬件电路。设计单片机的外围电路,即单片机正常工作的必要电路(复位、时钟等),设计功能电路并选择适当的引脚作为外电路的控制或输入。 B)设计程序。在计算机上使用汇编语言或C语言(51系列单片机C语言又叫C51)编写程序,通过编译将其转换为单片机能执行的程序文件,即目标文件,也叫机器语言文件。目标文件的扩展名为“.HEX”或“.BIN”,一般都使用“.HEX”,即十六进制文件形式。 C)程序下载。将目标文件通过“编程器”下载到单片机内部。或通过单片机产品的系统板上设计ISP(In System Program)或IAP(In Applicatin Programming)接口直接下载目标程序。 D)通电运行和检查。通电运行。如果系统不能正常运行,就根据单片机系统的工作状况初步判断故障范围,软件故障可以通过模拟仿真排查,硬件故障可以通过测试或与软件配合排查。 2)对于图1-7所示的控制电路,设“1”亮、“0”灭。要实现小灯从1~8依次亮、灭一次,试写出P1口输出的数据。 P1: 10000000 P1: 01000000 P1: 00100000 P1: 00010000 P1: 00001000 P1: 00000100 P1: 00000010 P1: 00000001 3)如何理解单片机概念的? 单片形态的微控制器。 4)单片机内部的存储器有ROM、RAM,它们的含义是什么?它们的用途分别是什么?ROM:只读存储器,作为程序存储器使用,用来存放目标程序。 RAM:随机存取存储器,作为数据存储器使用,用来存放程序运行结果或中间数据。 5)A T89S51单片机中的数都是以字节为单位的,它们以什么形式存在呢? 以8位二进制数形式。 6)简述二进制数与十六进制数的关系,有什么启发?先写出几个单字节的十六进制数,再写出它们的二进制数。 4位二进制与1位十六进制数存在一一对应的关系。二进制数与现实世界的对应关系直观,单书写、阅读不便,十六进制数便于书写和阅读。在单片机应用中一般用十六进制数。 55H=010*******B,FFH=11111111B 7)C51语言中数据常用十进制和十六进制数表示,C语言中十六进制数如何表示?将上例中的数,写出其C语言十六进制的表示形式。 在C51中十六进制数书写时在数码前面加“0x”或“0X”。0x55,0xFF。 8)举几个日常生活中遇到的单片机产品的例子。 交通灯、霓虹灯、手机、全自动洗衣机等智能家电。

《单片机应用技术》试卷B及答案

《单片机应用技术(C 语言版)》试卷B 一、 单项选择题(每题1.5分,共30分) 1、51单片机的CPU 主要由( )组成。 A 、运算器、控制器 B 、加法器、寄存器 C 、运算器、加法器 D 、运算器、译码器 2、PSW 中的RS1和RS0用来( ) 。 A 、选择工作方式 B 、指示复位 C 、选择定时器 D 、选择工作寄存器组 3、单片机8031的EA —— 引脚( )。 A 、必须接地 B 、必须接+5V 电源 C 、可悬空 D 、以上三种视需要而定 4、单片机上电复位后,PC 的内容为( )。 A 、0x0000 B 、0x0003 C 、0x000B D 、0x0800 5、单片机的4个并行I/O 端口作为通用I/O 端口使用,在输出数据时,必须外接上拉电阻的是( ) A 、P0口 B 、P1口 C 、P2口 D 、P3口 6、单片机的ALE 引脚是以晶振振荡频率的( )固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A 、1/2 B 、1/4 C 、1/6 D 、1/12 7、下面叙述不正确的是( )。 A 、一个C 源程序可以由一个或多个函数组成。 B 、一个 C 源程序必须包含一个主函数main( )。 C 、在C 程序中,注释说明只能位于一条语句的后面。 D 、C 程序的基本组成部分单位是函数。 8、在C51语言的if 语句中,用做判断的表达式为( )。 A 、关系表达式 B 、逻辑表达式 C 、算术表达式 D 、任意表达式

9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、在共阳极数码管使用中,若要仅显示小数点,则其相应的字段码是()。 A、0x80 B、0x10 C、0x40 D、0x7F 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、0x10 D、0x50 15、MCS-51系列单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(),向CPU申请中断。 A、RI或TI置1 B、RI或TI置0 C、RI置1或TI置0 D、RI置0或TI置1 16、在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为()。 A、M=213 = 8192 B、M=28 = 256 C、M=24 = 16 D、M=216 = 65536 17、51单片机的串行口是()。 A、单工 B、全双工 C、半双工 D、并行口 18、表示串行数据传输速率的指标为()。 A、USART B、UART C、字符帧 D、波特率 19、串行口的控制寄存器为()。 A、SMOD B、SCON C、SBUF D、PCON 20、串行口的发送数据和接收数据端为()。 A、TXD和RXD B、TI和RI C、TB8和RB8 D、REN 二、填空题(每空1.5分,共30分)

单片机应用系统实验

实验一系统认识及基本程序设计实验 一、实验目的 1. 学习Keil 集成开发环境的操作; 2. 熟悉TD-51 系统板的结构及使用,熟悉51指令系统; 3.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解; 4.学习查表程序的设计方法,进一步熟悉51 的指令系统。 二、实验设备 PC机一台,TD-NMC+教学实验系统。 三、实验步骤 ⑴编写实验程序,经编译、链接无误后,启动调试功能; ⑵观察实验现象,并分析原因; ⑶按复位键退出调试状态。 四、实验内容 1. 将BCD 码整数0~255 存入片内RAM 的20H、21H、22H 中,然后转换为二进制整数00H~FFH,保存到寄存器R4 中。修改20H、21H、22H 单元的内容,如:00H,05H,08H;观察实验结果。 参考程序: ;============================================================== ; 文件名称: ; 功能描述: BCD整数转换为二进制整数(8位, 范围从00H--FFH) ;============================================================== ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #20H ;BCD存放高位地址 MOV R7, #03H ;BCD码0--255, 最多3位 CLR A MOV R4, A LP1: MOV A, R4 MOV B, #0AH MUL AB ;乘10 ADD A, @R0 ;加下一位的值 INC R0 ;指向下一单元 MOV R4, A ;结果存入R4 DJNZ R7, LP1 ;转换未结束则继续 SJMP MAIN ;设置断点, 观察实验结果R4中的内容 END 2. 将16 位二进制整数存入R3R4 寄存器中,转换为十进制整数,以组合BCD 形式存储在RAM 的20H、21H、22H 单元中。 参考程序: ;============================================================= ; 文件名称: ; 功能描述: 二进制整数(16位)转换为十进制整数(组合BCD) ;=============================================================

单片机课后习题答案(《单片机应用技术》C语言版)

习题1答案 1.1 单项选择题 (1) A (2)C (3)A (4) A (5)A (6) A (7)C (8)C (9) D (10)C 1.2 填空题 (1)硬件系统、软件系统 (2)时钟、复位 (3)XTAL1、XTAL2、RST、 (4)片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)时钟电路 (6)程序存储器 (7)工作寄存器组、位寻址区、用户RAM区 (8)1us、2us (9)上电复位电路、按键复位电路 (10)2、高 1.3 答: 单片微型计算机是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU (Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时器/计数器等都制作在一块集成芯片上,构成一个完整的微型计算机,可以实现微型计算机的基本功能。 单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。 单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可。 1.4 答: 1.5 答:片内RAM低128单元的配置如下:

单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作;在内部RAM低128单元中,通用寄存器占去了32个单元,位寻址区占去了16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。 片内RAM高128单元安排有21个特殊功能寄存器,其他空闲单元用户不能使用。 1.6 答:有21个可寻址的特殊功能寄存器,它们不连续地分布在片内RAM的高128单元中,尽管其中还有许多空闲地址,但用户不能使用。另外还有一个不可寻址的特殊功能寄存器,即程序计数器PC,它不占据RAM单元,在物理上是独立的。 在可寻址的21个特殊功能寄存器中,有11个寄存器不仅可以字节寻址,也可以进行位寻址。 1.7 答: 程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则由软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。PSW的各位定义下表所示。 PSW位定义 存放算术运算的进位标志,在进行加或减运算时,如果操作结果最高位有进位或借位,则CY由硬件置“1”,否则被清“0”;二是在位操作中,作累加位使用。位传送、位与位或等位操作,操作位之一固定是进位标志位。 ·AC(PSW.6):辅助进位标志位。在进行加或减运算中,若低4位向高4位进位或借位,AC由硬件置“1”,否则被清“0”。在BCD码调整中也要用到AC位状态。 ·F0(PSW.5):用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用来控制程序的转向。 ·RS1和RS0(PSW.4,PSW.3):工作寄存器组选择位。它们被用于选择CPU当前使用的通用寄存器组。通用寄存器共有4组,其对应关系如下表所示。 工作寄存器组选择 这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。但当单片机上电或复位后,RS1 RS0=00。

单片机应用技术(C语言)试题

一、选择题 1、单片机8031的/EA引脚(C)。 A. 可悬空 B. 必须接+5V电源 C. 必须接地 D. 以上三种情况视需要而定 2、MCS-51单片机的4个并行I/O端口作为通用I/O端口使用,在输出数据时,必须外接上拉电阻的是(A)。 A. P0口 B. P1口 C. P2口 D. P3口 3、当MCS-51单片机应用系统需要扩展外部存储器或其它接口芯片时,(A)可作为低8位地址总线使用。 A. P0口 B. P1口 C. P2口 D. P0口和P2口 4、系统复位后,堆栈指针SP的内容是(B)。 A. 08H B. 07H C. 30H D. 50H 5、MCS-51单片机的位寻址区位于内部RAM的( D )单元。 A. 00H~7FH B. 20H~7FH C. 00H~1FH D. 20H~2FH 6、PSW中的RS1和RS0用来(A)。 A. 选择工作寄存器组 B. 指示复位 C. 选择定时器 D. 选择工作方式 7、MCS-51单片机规定一个机器周期共有(A)个节拍。 A. 12 B. 6 C. 8 D. 16 8、下面叙述不正确的是(C)。 A. 一个C源程序可以由一个或多个函数组成 B. 一个C源程序必须包含一个函数main() C. 在C51中,注释说明只能使用/*……*/注释 D. C程序的基本组成单位是函数 9、在C51程序中常常把(D)作为循环体,用于消耗CPU时间,产生延时效果。 A. 赋值语句 B. 表达式语句 C. 循环语句 D. 空语句 10、在单片机应用系统中,LED数码管显示电路通常有(C )显示方式。 A. 静态 B. 动态 C. 静态和动态 D. 查询 11、共阳极LED数码管加反向器驱动时显示字符“6”的段码是(B)。 A. 06H B. 7DH C. 82H D. FAH 12、LED数码管若采用动态显示方式,下列说法错误的是(C)。 A. 将各位数码管的段选线并联 B. 将段选线用一个8位I/O端口控制 C. 将各位数码管的公共端直接连接在+5V或者GND上 D. 将各位数码管的位选线用各自独立的I/O端口控制 13、按键开关的结构通常是机械弹性元件,在按键按下和断开时,触点在闭合和断开瞬间会产生接触不稳定,为消除抖动引起的不良后果,常采用的方法有(C)。 A. 硬件去抖动 B. 软件去抖动 C. 硬、软件两种方法 D. 单稳态电路去抖方法

单片机的发展趋势与应用实例

单片机发展趋势 单片微型计算机,简称单片机,就是将微处理器、存储器ROM和RAM、定时/计数器、中断系统、I/O接口、总线和其他多功能器件集成在一块芯片上的微型计算机。由于单片机的重要领域为智能化电子产品,一般需要嵌入仪器设备内,故又称嵌入式微型控制器。由于其具有可靠性较高,便于扩展,体积小,成本低等等特点,单片机已经广泛的应用于民用电子产品,智能仪表,工业测控、军工等等领域。但是,单片机也存在着比如片内存储容量较小等等缺点。那么已经很发达的单片机技术未来将何去何从呢?下面我将根据目前的市场需求与单片机本身的特点,从内部器件的优化,外围器件电路的扩展优化,整体可靠性与集成度的提高三个方面简要描绘一下单片机的发展蓝图。 一、内部器件的优化 1、CPU的改进。CPU是单片机的核心,他的功能的发展与提高,势必会带动单片机的发展。目前单片机内大多数为单CPU结构,只有8根数据总线。未来单片机会采用双CPU结构,增加数据总线,提高数据处理速度与能力;同时,采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。 2、增大存储容量。目前的单片机片内容量较小,片内ROM一般小于8KB,RAM一般小于256B。虽然可以扩展但是这样一来会带来较多麻烦,如接口的扩展等等,而且程序很难保密。所以,片内EPROM的E2PROM化,以及程序的保密化成为单片机的发展潮流。 3、提高并行接口的驱动能力,以减少外围驱动芯片从而增加外围I/O的逻辑功能和控制的灵活性。 二、外围器件电路的优化 1、以串行方式为主的外围扩展任将为主导。串行扩展具有方便、灵活、电路系统简单,占有I/O接口资源少等等优点,可以大大降低远距离传送成本等等功效,所以,未来外围设备的扩展将以串行方式为主。 2、外围电路的内装化。由于集成电路工艺的不断改进和提高,越来越多的复杂外围电路集成到单片机中,如D/A转化器、A/D转化器、看门狗电路、?LCD 控制器等。这样使得单片机系统的体积大大减小,功能大大提高。 3、和互联网的连接。对于高度发达的信息时代,世界变小了。所以,异地

单片机应用技术说课稿

各位领导、专家、评委:你们好! 我是自控系计算机控制技术教研室老师刘刚。我说课的课程是“单片机技术应用”。下面我从课程设置、课程内容、课程实施、课程评价等等六方面来汇报对课程的钻研情况和教学思想。恳请在座的专家、评委批评指正。 《单片机应用技术》课程在计算机控制技术专业人才培养方案中具有重要作用,,是“计算机控制工程综合能力”的重要构成部分,对学生职业能力的培养起到重要支撑作用。同时,《单片机技术应用》课程也是专业课程体系中的一个关键环节,对课程体系的构建起到了承上启下的关键作用,是前期《模拟电子技术》、《数字电子技术》、《C语言程序设计》等课程的综合和提升,又是后续《计算机控制技术》、《自控理论》等课程的前提和基础。 经过调研我们得知本专业的学生将来大致的就业岗位:生产维修岗、设计研发岗以及技术支持岗,不同的岗位适应于不同的行业,对职业能力的需求也有所侧重。但总的来说都要求学生具有一定的理论基础与较强的实践应用能力。据此,我们将课程目标定位于:使学生了解单片机的特点、基本工作原理;了解单片机与微型计算机的区别与联系;掌握单片机的指令系统、中断系统、扩展系统、定时器、接口技术。掌握单片机应用程序的设计方法。并将课程目标细化为能力目标、知识目标和素质目标。 立足于课程的培养目标,我们以实际控制任务、高职培养目标、人的认识规律、以及单片机设计师职业资格要求等为依据精心选择、设计课程内容。 本课程以循环流水灯、电子钟、温度测量报警系统3个电子产品的设计制作过程为载体。根据产品的设计制作过程,结合单片机的知识点划分为10个教学任务,每个学习任务既是一项单片机应用技能的训练,又是整个产品设计制作的一个环节。 3个电子产品分别适用单片机学习的3个阶段:入门、基础、扩展。 循环流水灯涉及简单的开关量控制,是单片机控制的基础,设计制作简单,容易实现,有助于提高学生的积极性。 电子钟涉及单片机应用系统的常用电路,即显示电路和键盘电路,其设计制作过程涉及外部中断、定时/计数器应用,是进一步应用的基础。 温度测量报警系统是在前面制作的基础上,对并行接口芯片、串行

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