单片原理与应用实验指导书--2010版
- 格式:pdf
- 大小:686.41 KB
- 文档页数:25
信息与工程学院 《单片机原理与应用》实验指导书
单片机原理与应用精品课程组
二〇一〇年九月
目录
901U STC单片机实验板概述 (1)
1.1 901U全自动在线编程STC单片机实验板十大特色 (1)
1.2 901U全自动在线编程实验板组成框图 (1)
1.3 901U全自动在线编程实验板主要电路 (2)
1.3.1 MCU-USB转换-系统监控电路 (2)
1.3.3 键盘、D/A控制、温度检测、I2C总线电路 (3)
1.4 901U全自动在线编程实验板实物说明 (3)
1.5 910U 全自动下载单片机实验板使用注意事项 (4)
实验一熟悉单片机开发环境 (6)
实验二程序设计I (11)
实验三程序设计II (12)
实验四并行I/O口实验 (13)
实验五中断实验 (14)
实验六定时器/计数器实验 (16)
实验七串行口实验 (17)
实验八存储器扩展实验 (18)
实验九键盘与显示实验 (19)
实验十D/A转换实验 (21)
实验十一A/D转换实验 (22)
实验十二串行扩展实验 (23)
901U STC单片机实验板概述
USB全自动在线编程STC单片机实验板专为无串行口的笔记本电脑用户而设计的单片机学习实验板,该板的最大特点既是单片机的学习实验板,又是STC 系列单片机的在线编程调试器。
1.1 901U全自动在线编程STC单片机实验板十大特色
01.实现全自动下载,在线编程不需要手动(宏晶科技 官方网站只能提供手动下载编程);
02.实现USB通信下载编程,不仅适用于台式计算机,而且适用于无串行口的笔记本电脑(宏晶科技官方网站只提供串行口通信的下载编程);
03.板上提供1Hz、10Hz、100Hz、1方波信号,可作为标准时钟信号和计数脉冲,省去数字脉冲信号发生器;
04.板上提供1kHz,近似三角波信号输出,可作为近似正弦信号使用,省去函数信号发生器;
05.设置独特的重启键(21#键),在不需要重新编程或不开启电脑时,可一键启动单片机实验板工作;
06.独特的LED数码管倒置设计,在做电子钟实验时,巧妙形成两个点的秒闪动,在做温度测量与显示时,形成漂亮的“o C”度;
07.USB直接供电,电路连接方便,无需电源转换器,既提高了性能价格比,又减少了桌面拥挤;
08. 价廉物美,专为在校生和自学者学习单片机和汇编语言而设计,是大学生学习和提高单片机水平的首选,“想学就学,想用就用,一板在手,技术全有”。
09.全自动STC单片机实验板无需昂贵的仿真器,无需编程器,只需PC机(或笔记本电脑)和实验板,就可学习单片机,是单片机课程的移动实验室,单片机课程的优秀课程设计或实验实训项目。
10.901U既是单片机的学习实验板,又是STC系列单片机的在线编程调试器,可实现对STC系列单片机应用系统的在线编程调试。
1.2 901U全自动在线编程实验板组成框图
1.3 901U全自动在线编程实验板主要电路1.3.1 MCU-USB转换-系统监控电路
1.3.2 数码管显示、LED灯、蜂鸣器电路
1.3.3 键盘、D/A控制、温度检测、I2C总线电路
1.4 901U全自动在线编程实验板实物说明
[01] USB座,电源和编程通信;
[02] USB到串口转换芯片;
[03] 继电器常开常闭触点输出端子,触点容量小等于1A48V;
[04] 继电器,可用1A,48V电压以下的控制,当继电器连通短路片⑾连通时,
可对直流电机、电话等的实现控制;
[05] D/A或正弦信号输出端子,用于D/A或正弦信号实验的输出;
[06] 蜂鸣器,当P3.2 = 0时,蜂鸣器响;
[07] 全自动在线编程接口,可对用户系统其它STC系列单片机的在线编程调试;
[08] 运算放大器,用于RC 有源滤波及D/A;
[09] I2C AT24Cxx存储器芯片,用于IC通信实验;
[10] 正在编程指示灯;
[11] 实验用STC 单片机,在40脚DIP 封装前提下型号可选; 冲宽度等实验; 、温度表、电子钟等的输出显示; 的功能键; 机内已有程序,不需要编程时的工作启动。
1. 910 带AD 和 动下载时无需选择波特率(会自动跟踪), ) . 6 排针:从左到右顺序分别是: [12] 温度检测传感器DS18B20;
[13] 9排针,从左到右顺序为:P2.7,P3.3,P3.4,P3.7,1Hz ,10Hz ,100Hz ,
1KHz ,LPF,可用于外计数、测频、测脉[14] 实验板监控芯片[18]准备就绪的秒闪烁指示灯;
[15] LED 数码管输出,用与计数器、频率计[16] LED 发光管,用于状态指示和各类跑马灯、流水灯实验; [17] 实验板监控芯片;
[18] 矩阵键盘,可用于0~9十个数字键和2个自定义[19] 重启键,用于STC 单片[20] 单片机T0和INT 按键,用于外计数和外中断实验。
1.5 910U 全自动下载单片机实验板使用注意事项
U 实验板是901U 实验板的升级版,既可选用DIP40 封装的STC89C52RC 单片机,也可选用STC12C5A16S2 系列的双串口的1T 单片机;当选用1 T 单片机时,应注意与STC89C52RC 单片机指令执行时间上的不同,如延时子程序的指令执行时间。
2. 安装驱动程序后,全自但须选择“下次冷启动时P1.0/P1.1 与下载无关”,否则第二次将 不能下载(需拔下芯片用全自动智能编程器编程一次,方可恢复, 并注意此时也需选择“下次冷启动时P1.0/P1.1 与下载无关”3① 地: 外扩展应用电路的共地;
② Vcc :+5V 输出,可为外扩展小电流应用电路供电;
③ P1.3: 0~+5V 的单极性模拟信号AD 输入端,因此可直接用 连接线与Vcc 相连,检测Vcc 电压值;或者与9 排针最右边的 OUT 引脚相连,检测近似三角波信号; ④ P4.4:可编程设置为P4.4; ⑤ P4.5:可编程设置为P4.5; ⑥ P4.6:可编程设置为P4.6。
4. 9 排针从左到右顺序分别是: ① P2.7:
② P3.3:外中断输入引脚,与最下端最右键直接相连,用作外 0Hz,1KHz 方波信号输出端,可分 实验;
信号,可用作AD 的输入信号。
机实验板硬件不同之处是LED 指 的P1.3 控制,改为P3.5 控制,如下图;
中断实验的输入;
③ P3.4:定时计数器T0 输入端,与最下端中间键直接相连,用 作外计数实验的输入; ④ P3.7:
⑤ ~ ⑧ 分别为 1Hz,10Hz,10别用作计数、测周期、测频率等⑨ OUT :1KHz 近似三角波模拟5. 910U 与901U 全自动下载单片
示灯由原来
实验一熟悉单片机开发环境
一、实验目的
1、掌握单片机的开发环境
2、掌握程序调试的基本方法
二、实验内容与步骤
2.1 PL2303驱动软件安装与硬件连接
1)点击PL2303.RAR解压缩;
2)运行SETUP.EXE进行安装;
3)驱动安装完成后,将模块的USB插头插入电脑USB接口即可。
4)鼠标右键点击桌面的“我的电脑” →设备管理器→端口,可查看到 “Prolific USB-to-Serial comm Port(COM4,根据串口使用情况不同而不同),此即为虚拟端口。
2.2 keil软件使用
1)双击keil标志,执行keil软件。
2)在硬盘中新建一个文件夹,以保存本实验中所产生的文件。
3)点击“文件”菜单中的“新建”,新建一个原文件,将以下跑马灯程序输入文件中,点击“文件”菜单中的“保存”,给原文件取名并保存为ASM文件类型。
LED跑马灯参考程序:
ORG 0000H
LJMP MAIN
ORG 000BH ; T0中断入口地址
MOV TH0,#0BH ; 62.5毫秒定时
MOV TL0,#0DCH
DJNZ R2,T0OUT
MOV R2,#16 ; 中断16次为1秒
PUSH A ; 保存数据
MOVC A,@A+DPTR ; 查表法LED 左右移
CLR P1.3 ; LED 点亮
MOV P0,A
CLR P3.2 ; 嘀答声,10毫秒
LCALL D5MS ;
SETB P3.2
POP A
INC A
CJNE A,#24,T0OUT ; 24种“花样”
CLR A
T0OUT: RETI
ORG 0050H
MAIN: MOV SP,#6FH ;
MOV R2,#16 ; 定时器中断次数,@12M
MOV A,#00H ; 查表起始值
MOV DPTR,#TABLE
MOV TMOD,#00000001B ; 方式1
MOV TH0,#0BH ; 62.5MS
MOV TL0,#0DCH
SETB EA ; 中端总允许
SETB ET0 ; 允许T0中断
SETB TR0 ; 启动定时
WAIT: SJMP $
AJMP WAIT
D5MS: MOV R6,#10 ; @12MHz, 延时5MS
D5MS1: MOV R7,#250 ;
DJNZ R7,$ ; 2T X 250 X 10 = 5000微秒
DJNZ R6,D5MS1
RET
TABLE: DB 0FEH,0FDH,0FBH,0F7H ;LED 左右移数据表
DB 0EFH,0DFH,0BFH,07FH
DB 00H,55H,0AAH,00H
DB 7FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 00H,0AAH,55H,00H
END
4)点击“工程”菜单中的“新建工程”新建一个工程,给工程取名,并与源文件保存于同一文件夹中,在“CPU选择的对话框中,选择ATMEL公司的AT89C52单片机。
5)右击“sourc Group”(如下图所示),选择“Add File to Group…”,将源文件加入到工程中。
6)右击上图中的“Target”,选择“option for Target………”,选择“输出”一列,并选择“创建HEX文件……”
6)对工程中的文件进行,编译,调试。
确定程序没有错误后,生成HEX格式文件。
2.3 STC-ISP软件使用说明
1)在“STC-ISP软件”目录下,双击右图标志,并出现下图画面:
2)选择图中的单片机型号;
3)打开“.hex”文件;
4)点击Download/下载,即可实现自动下载编程,观察实验板上效果。
三实验要求
1、看懂实验程序
2、通过keil软件进行汇编程序输入、运行、调试、仿真。
熟悉本实验板的编程环境及相关软硬件的设置
3、调试程序,观察实验效果,同时进一步理解程序。
四、实验报告
1、实验板与计算机连接方法、驱动软件安装与设置
2、keil软件的常规使用方法(源程序的录入、工程新建与设置、编译与调试、HEX文件的生成等)
3、STC-ISP软件的使用,如何将程序下载到实验板中。
实验二程序设计I
一、实验目的
1、掌握循环与分支转移程序的设计方法
2、掌握子程序及延时子程序的编写
二、实验设计内容
运用条件分支及循环、延时子程序编写一程序,计算Y=M/N(N≠0)的值。
其中Y,
M,N存放于RAM存储单元中。
计算Y的结果时,分三种情况处理
1)当Y为整数时,直接存放商后延时1S结束。
2)当Y>1时,商经调用四舍五入子程序后存放Y值后结束
3)当Y<1时,商加1后循环继续监控。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,通过RAM存储器窗口,观察Y、M、N值的变化。
(可进行单步运行、断点运行、全速运行)
四、实验报告
1)画出程序流程图,并编写源程序
2)编写循环分支程序有哪些问题
3)调用子程序能达到什么效果
4)单步运行、断点运行、全速运行有什么区别与作用
5)如何观察Y、M、N的值
实验三程序设计II
一、实验目的
1、掌握查表、关键字查找、极值查找和数据排序的程序设计方法
二、实验设计内容
运用查表程序设计方法对8路输入量进行巡回检测。
这8路输入量中,每一路都有一个最大允许值,为双字节。
(每一路的最大允许值自定)。
要求根据测量的路数,找出每一路的最大允许值,看输入值是否大于最大允许值。
如大于就报警。
相关电路如下
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)蜂鸣器发生报警声是如何控制的?
4)实验最终效果
实验四并行I/O口实验
一、实验目的
掌握单片机的并行口的使用方法
二、实验设计内容
1、P0口做输出口,接八只发光二极管,编写程序,使发光二极管按不同方式循环点亮。
相关电路如下图:
2、当循环一次结束后,蜂鸣器发出一次报警声
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)发光二极管亮灭是如何控制的?
4)蜂鸣器发生报警声是如何控制的?
5)实验最终效果
实验五中断实验
一、实验目的
1、掌握51系列单片机的中断系统,
2、掌握中断程序设计方法
二、实验设计内容
本实验要求设计一交通灯控制系统,本实验需要用到实验板上八个发光二极管中的六个,即红、黄、绿各两个。
不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。
实验设计要求如下:
1)初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始亮,一定时间后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始亮,一定时间后,再切换到东西路口方向,重复上述过程。
具体设计要求如下:
2)当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。
本实验以外部中断1来中断信号(P3.3),表示有急救车通过
3)当有中断请求时,蜂鸣器发出提醒声,直到中断撤消。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)如何确定定时器的定时时间?4)实验最终效果
实验六定时器/计数器实验
一、实验目的
掌握51系列单片机的定时器/计数器的使用和编程
二、实验设计内容
本实验要求设计一循环彩灯系统,设计要求如下:
单片机内部定时器1按方式1工作,即作为16位定时器使用,每0.1秒钟T1溢出中断一次。
要求编写程序模拟一循环彩灯(实验板中发光二极管)。
彩灯
②、
①、L2、…L8依次点亮;L1变化花样可自行设计。
例程给出的变化花样为:L1
③、L2、…L8全亮、全灭。
各时序间隔为0.5秒。
让发L2、…L8依次熄灭;L1
光二极管按以上规律循环显示下去。
实验电路图如下图所示:
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)中断请求信号是什么类型信号,单片机如何判断是什么类型的中断?当单片机如何响应中断请求?
4)实验最终效果
实验七串行口实验
一、实验目的
1、掌握51系列单片机的串行口数据通信
二、实验设计内容
利用单片机串行口发送和接收数据,并将接收到的数据送于发光二极管显示,结合延时来模拟一个循环彩灯。
具体设计要求:
1)设计串行口工作于方式1,波特率为1200
2)以RI接收数据,TI发送数据(发送的数据在程序中设定)
3)RI接收到数据后,送于P0口中的发光二极管显示。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)串行通信方式有哪几种,其中波特率如何设置?
4)实验最终效果
实验八存储器扩展实验
一、实验目的
1、掌握51系列单片机的存储器扩展技术
二、实验设计内容
本实验完成单片机与外部存储器AT24C01的数据通信。
AT24C01的1、2、3脚是三条地址线,用于确定芯片的硬件地址。
在STC800A 实验板上它们都接地,第 8 脚和第 4 脚分别为正、负电源;第 5 脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在实验开发板上和单片机的P3.5 连接;第 6 脚SCL为串行时钟输入线,在实验开发板上和单片机的P1.2 连接。
实验具体要求如下
1)将8个数据写入AT24C01中
2)从AT24C01循环读取数据,并将每次读取的数据送于发光二极管显示。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)I2C总线通信原理是什么
4)实验最终效果
实验九键盘与显示实验
一、实验目的
1、掌握键盘的工作原理和键值的读取与译码技术
2、掌握LED数码管的动态显示技术
二、实验设计内容
本实验完成键盘输入与LED数码管的动态显示,具体要求如下:
1)从键盘输入4个数字或字符(数字或字符在键盘在的位置可自行定义)
2)LED4位数码管显示键盘输入的内容(第1位显示于左,最后一位显示于右)3)当键盘输入的数字或字符超过4位数时,从LED数码管左边循环显示。
本实验使用到的电路如下所示。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)键盘的工作原理和键值的读取原理是什么
4)LED数码管显示原理及编码技术是什么
5)实验最终效果
实验十 D/A转换实验
一、实验目的
1、掌握D/A的原理及应用
2、掌握矩形波、三角波、锯齿波和正弦波(其中一种)的编程方法
二、实验设计内容
1.用D/A产生正弦信号;
2.通过定时器,实现正弦信号频率的控制(该功能可选做)。
3.应用示波器观察实验结果
本实验相关电路
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,通过示波器观察实验结果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)正弦波产生的原理是什么
4)实验最终效果
实验十一A/D转换实验
一、实验目的
1、掌握A/D的原理及应用
2、能对某种测量参量进行编程应用
二、实验设计内容
内部AD 是STC12C5A16S2 的一大特色,当选择10 比特AD 时有:
其中 D x 为AD 转换后的二进制数值。
实验具体要求有:
1)将0-5V可变电压输入单片机A/D口(可变电压可通过电位器分压电路产生)2)将单片机A/D转换结果于LED数码管显示。
3)应用万用表测量输入电压并与显示结果比较,分析其误差来源。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,通过示波器观察实验结果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)实验最终效果
4)应用万用表测量输入电压并与显示结果比较,分析其误差来源。
实验十二串行扩展实验
一、实验目的
掌握串行I2C总线的工作原理及其与单片机的接口与通信技术
二、实验设计内容
本实验完成单片机与外部存储器AT24C01的数据通信。
AT24C01的1、2、3脚是三条地址线,用于确定芯片的硬件地址。
在STC800A 实验板上它们都接地,第 8 脚和第 4 脚分别为正、负电源;第 5 脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在实验开发板上和单片机的P3.5 连接;第 6 脚SCL为串行时钟输入线,在实验开发板上和单片机的P1.2 连接。
实验具体要求如下
3)将8个数据写入AT24C01中
4)从AT24C01循环读取数据,并将每次读取的数据送于发光二极管显示。
三、实验步骤
1)设计程序流程图,根据流程图编写源文件程序
2)新建系统工程文件夹,打开keil软件,将源文件程序录入。
3)编译无错后,在keil中进行仿真,确定程序正确后,生成HEX文件。
4)将HEX文件下载到实验中,观察效果。
四、实验报告
1)画出程序流程图;
2)编写源程序
3)I2C总线通信原理是什么
4)实验最终效果。