《 单片机原理与应用 》
实验指导书。
温州大学物理与电子信息工程学院。
2012年9月。
目录。实验一指令和汇编语言 3
实验二集成开发环境的使用 6
实验三 i/o和中断实验 11
实验四定时器计数器实验 15
实验五可编程计数器阵列实验 18
实验六 iic总线实验 22
实验七模数转换实验 28
实验八温度传感器实验 31
实验九键盘显示电路实验 34
附录1 keil 工程文件的建立、设置与目标文件的获得 36
1.1 系统集成环境设置 36
1.2 建立工程文件 36
一、实验目的。
1、了解单片机开发系统的各主要组成部分,包括pc、**器和实验开发系统;
2、掌握**器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;
3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。
二、实验仪器。
1、自制的c51实验开发板 1块。
2、直流温压电源1台。
3、**器(easyprobe) 1只。
4、pc机1台。
三、实验内容。
1、认识51单片机开发系统的结构。
图1-1 51单片机开发系统的结构。
2、初步认识**器软件和keil c51软件界面及使用,参见附录1。
3、简单程序调试。
1) 传送指令。
设置内部ram的值,(30h)=40h, (40h)=10h,单步执行下列程序,检查结果。
mov r0,#30h
mov a,@r0
mov r1, a
mov b, @r1
stop: sjmp stop
执行后:(r0)= r1)= a)= b)= 30h)= 40h)=
2) 运算指令。
4、多字节十进制数加法+
图1-2 4字节十进制数相加。
两个4字节十进制数和相加,将其8421-bcd码按低位到高位存放在地址为20-23h、30-33h的ram中,运算结果存放在20-23h的地址中,如上图示。
运算程序如下,add_bcd为多字节十进制数加法子程序的首地址。分别按“跟踪”、“单步”和“全速”方式调试程序。检查运算结果,区别“跟踪”、“单步”调试方式的不同。
在“add_bcd子程序”的指令“da a”处设置断点,再用“全速”方式运行,到达断点后,观察“a”的值,然后用“单步”运行,观察指令“da a”的功能。同时理解“断点” 方式调试程序的特点。
主程序。mov r0, #20h ;置被加数首地址。
mov r1, #30h ;置加数首地址。
mov r2, #04h ;置被加数和加数的长度(字节数)
acall add_bcd ;调用多字节十进制数加法子程序add_bcd
stop:sjmp stop停止。
多字节十进制数加法子程序。
入口: r0、r1为被加数和加数的首地址,按低位到高位存放。
出口: r0为运算结果的首地址,也按低位到高位存放。
add_bcd:clr c进位清零。
loop: mov a, @r0 ;一字节的被加数→a
addc a, @r1 ;一字节加。
da a十进制数调整。
mov @r0, a ;存一字节的运算结果。
inc r0被加数指向下一字节。
inc r1加数指向下一字节。
djnz r2, loop ;循环控制。
ret子程序返回。
end四、预习要求。
1、读懂各程序;
2、预先给出运算结果,以便和实验结果比较;
3、回忆“跟踪”、“单步”和“断点”调试方式的特点。
五、思考题。
1、为什么程序结束用“stop:sjmp stop”指令?用没有其他的停止方式? 51单片机启动后,是否一直不断地在执行指令?
2、比较“跟踪”、“单步”和“断点”调试方式的特点。
一、实验目的。
1、了解本实验课程的主要内容和学期任务。
2、掌握**器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等。
3、掌握c8051f410单片机初始化步骤和方法;
二、实验仪器。
1、自制的c8051f410实验开发板 1块。
2、**器(u-ec61只。
3、pc机1台。
三、实验内容。
1、认识f410单片机开发系统的结构。
图1-1 51单片机开发系统的结构。
2、初步认识**器软件和keil c51软件界面及使用,参见附录1。
3、熟悉c8051f410单片机的初始化步骤。
3.1 禁止看门狗。
c8051f410在默认状态下是打开看门狗的,看门狗的作用是防止程序死机,其原理是程序在看门狗复位之前必须对看门狗计数器进行清零,以告诉看门狗程序在正常执行,若在看门狗规定时间周期内,程序没有对看门狗计数器进行刷新,则看门狗认为程序死机,则自动复位。但在调试过程中,反复对看门狗进行刷新,只会增加调试复杂性,故在调试阶段可将看门狗禁止。
利用配置向导工具可方便地将看门狗禁止,如图1-13所示,由此得到的对应**为:
pca0md &=0x40;
pca0md = 0x00;
3.2 交叉开关使能。
c8051f410的io口或外围设备必须在交叉开关使能后才起作用,交叉开关使能语句为:
xbr1 = 0x40;
图1 禁止看门狗。
3.3系统时钟选择。
c8051f410与传统的单片机相比,在系统时钟上有更灵活的配置,可选外部晶振、rc**、电容**和内部晶振等,内部晶振精度为±2%,具体可见数据手册相关介绍。在本实验中选择内部晶振,内部晶振初始频率为24.5mhz,系统时钟可选为晶振的分频,本实验选择8分频。
应用配置向导可轻松完成配置,如图1-14所示,首先选择振荡器设置菜单,再选择内部晶振8分频,其它按默认设置,如图1-15。完成配置后,会自动产生如下**:
void oscillator_init()
并被init_device()函数调用。
选择**器设置。
选择内部晶振8分频。
3.4 led灯闪烁测试。
c8051f410目标板中有两个可控led灯,连线如图1-16所示,由图可见,若51rxd管脚为0,则l1灯亮,若管脚值为1,则灭。
led连线图。
由图1-12可知,51rxd所连管脚为p0.5,51dtxd所连管脚为p0.4,因此,可在c语言里用位定义实现直接操作,具体如下:
sbit ledp04=p0^4;
sbit ledp05=p0^5;
则在c里可直接对ledp04=1赋值实现设置p0.4=1的目的。
根据以上内容,编写led灯闪烁的c语言程序,并做好记录。
3.5*、编写水平垂直校验码(奇校验/偶校验)生产程序。将你的11位学号生产水平垂直校验码,你的11位学号可以用ascii码、bcd码或二进制编码的一种来表示,然后每7位或8位分别进行奇校验,这就是水平校验, 对应的校验位存储位置可以自己规定。
需要注意的是,位类型不能定义数组。 6、再将上述的水平校验码,进行垂直校验,垂直校验位的存储位置也自己规定,得到水平垂直校验码,记下校验码结果。
3.6*、编写程序时,将11位学号的数组存放在0x30
unsigned char a[12]_at_ 0x30; /存储学号。
unsigned char a
3.7*、调试过程中掌握“跟踪”、“单步”和“断点”调试方式
四、预习要求。
1、熟悉keil 软件的使用;
2、预先设计c801f410的初始化程序;
3、回忆“跟踪”、“单步”和“断点”调试方式的特点。
五、思考题。
1、比较“跟踪”、“单步”和“断点”调试方式的特点。
一、实验目的。
1、熟悉c8051f优先权交叉开关译码器,掌握io**叉开关设置和如何配置引脚;
2、掌握外部中断技术的基本使用方法,熟悉中断处理程序的编写方法。
二、实验仪器。
1、自制的c8051f410实验开发板 1块。
2、**器(u-ec61只。
单片机实验指导书
一 实验系统简介。1 实验采用本校研发的实验系统 2 实验板上单片机采用的是atmel公司的at89s52单片机,并配置有多种实验模块,可以通过连线将各模块有机结合,进行综合实验。3 at89s52的特点是可以 编程,不需要频繁插拔,通过usb接口与pc机相连。4 程序编译采用keil c 编译系统...
单片机实验
电子技术实验 四 指导书。单片机原理与接口实验 物理科学与工程技术学院。电子技术教研室。目录。实验一 at89s52最小系统的制作2 实验二单片机i o口实验3 实验三定时器 计数器 中断实验9 实验四字符液晶显示实验11 附录 at89s52 线说明15 实验一 at89s52最小系统的制作。一 ...
2019单片机实验教案
1.熟悉keil c51软件的使用。2.熟悉proteus软件的使用。本实验介绍51实验板的组成,keil c51 proteus软件使用及at89c51芯片程序烧录的过程。通过该实验学生可以了解单片机编程 调试方法。1.根据说明安装好软件及联调软件,实现keil与proteus的联调。2.按照书中...