PAGE
《单片机原理及应用》
102G
实验指导书
2016.02
目 录
TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc444252909" 实验1C语言编程 PAGEREF _Toc444252909 \h 3
HYPERLINK \l "_Toc444252910" 实验2Keil开发环境与编程 PAGEREF _Toc444252910 \h 5
HYPERLINK \l "_Toc444252911" 实验3数据排序 PAGEREF _Toc444252911 \h 18
HYPERLINK \l "_Toc444252912" 实验4数据搬运 PAGEREF _Toc444252912 \h 19
HYPERLINK \l "_Toc444252913" 实验5汇编程序实验 PAGEREF _Toc444252913 \h 20
HYPERLINK \l "_Toc444252914" 实验6流水灯实验 PAGEREF _Toc444252914 \h 21
HYPERLINK \l "_Toc444252915" 实验7C8051F020单片机基本配置方法 PAGEREF _Toc444252915 \h 23
HYPERLINK \l "_Toc444252916" 实验8外部中断实验 PAGEREF _Toc444252916 \h 25
HYPERLINK \l "_Toc444252917" 实验9按键接口与数码管输出 PAGEREF _Toc444252917 \h 26
HYPERLINK \l "_Toc444252918" 实验10定时器 PAGEREF _Toc444252918 \h 27
HYPERLINK \l "_Toc444252919" 实验11数字频率计设计 PAGEREF _Toc444252919 \h 28
HYPERLINK \l "_Toc444252920" 实验12串口通信实验 PAGEREF _Toc444252920 \h 30
HYPERLINK \l "_Toc444252921" 实验13数据采集系统设计 PAGEREF _Toc444252921 \h 31
HYPERLINK \l "_Toc444252922" 实验14函数信号发生器设计 PAGEREF _Toc444252922 \h 32
PAGE 32
- -
C语言编程
一、实验目的
复习C语言编程。
二、实验内容
熟悉C语言编程。软件调试一下题目:
(1) 两数相加
(2) 两数比大小
(3) 1+2+3+……+10
(4) 其他简单数学计算
………
三、实验步骤
(简单操作可参见实验2中项目创建步骤)
Keil软件,使用“Project”菜单中的“New μVision Project”选项来创建项目,放置到你指定的文件夹。
选择单片机型号AT89C51
编写源程序,并保存(扩展名用C),例程见图1-1。
将文件添加到工程中。
调试。
编写源程序注意:
AT89C51为通用8051系列单片机
头文件reg51.h用于51单片机特殊功能寄存器标识,
stdio.h用于一些标准输入输出函数的调用如printf()。
因单片机没有PC机那样的显示器标准输出,printf()函数的输出通过单片机串口输出实现,所以要完成两件事:
(1) printf()函数之前要执行“TI=1;”用于打开串口发送,只有执行“TI=0;”
(2) 软件仿真调试时,信息在“串口输出”窗口中输出。可在debug模式下使用菜单View-->Serial Windows-->UART #1打开“串口输出”
使用单片机端口P0、P1、P2等输出,可在debug模式下使用菜单Peripherals—>I/O-Ports—>指定哪个端口
调试界面如图1-2
头文件从端口输出标准输出打开串口
头文件
从端口输出
标准输出
打开串口
图1-1 C语言例程
串口输出分别为“复位”、“运行”
串口输出
分别为“复位”、“运行”、“暂停”
点击后进入调试模式
输出端口
图1-2 C语言程序调试界面
Keil开发环境与编程
一、实验目的
熟悉基于KEIL下的实验环境。
掌握程序调试的单步、断点、连续运行方法。
熟悉在KEIL环境下观察内部RAM , 特殊功能寄器的方法。
二、实验内容
编写并调试一个双字节无符号十进制数加法程序。其功能为将被加数写入30H、31H单元,
加数写入40H、41H单元,运行程序结果写入50H、51H、52H单元中,加法程序功能为:
(30H)(31H)+(40H)(4