单片机C51输入输出接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程系实验报告
课程名称:单片机原理与接口
实验项目名称:实验1实验系统编程应用 实验时间:2011-9-29
班级: 电信091 姓名:陈俊伟 学号:910706123
一、实 验 目 的:
熟悉使用keil 仿真软件编写C51单片机程序的编写过程以及调试运行步骤。熟悉在C51中各种类型
变量的定义方法,以及各种常用程序结构的编写方法。学习编写基本的单片机程序。
二、实 验 设 备 与 器 件:
微机,KEIL C51单片机仿真调试软件。
三、实 验 原 理:
1、C51变量的定义:
C51定义的任何数据类型必须以一定的存储类型定位,在8051的某一存储区中。说明的一般格式:
<数据类型> <存储类型> 变量名
C51对单片机的不同存储区域定义了不同的存储类型,它们的关系表1:
表1 C51的变量存储类型
全部的特殊功能寄存器和其中可以单独使用的大部分位都已经在REG51.H 这个头文件中定义了。 除
了P0 P1 P2 P3 中的每个位,若要使用这些位则 sbit P10=P1^0。
3、绝对地址引用法:
利用绝对地址访问头文件absacc.h 可对不同的存储区的存储单元进行访问。该头文件的函数有:
CBYTE (访问code 区字符型) CWORD (访问code 区int 型)
DBYTE (访问data 区字符型) DWODE (访问data 区int 型)
XBYTE (访问xdata 或I/O 区字符型) XWODE (访问xdata 区int 型)
4、指针定义的方法和含义:
指针变量说明格式中的[ ]为可选项 ,则指针定义为通用型,指针变量则存放在默认存贮区或者在data
区。 * 号不可少,它表示变量为指针变量。
四、实 验 内 容 及 结 果:
1、19805×24503的编程:
打开KEIL 软件,点击project 创建新的项目(图1),选择单片机类型为C51,再点击FILE 新建文件,
将该文件添加到工程中(图2)
图1 创建新项目图2添加文件到工程打开Options的Output有三个存储器模式,分别为Small,Compact,Large。(图3)
在程序窗口输入程序,进行调试后运行。然后打开存储器的观察窗口(图4)进行观察。
图3 存储器模式图4 存储器观察窗口
点击单步运行分别观察三个变量的值如(图5)(图6)(图7):
图5 19805的数值图图6 24503的数值图
图7 两数乘积结果数值图图8 调试结果数值图
2、定义变量a,b,c 其中a为内部RAM的可位寻址区的字符变量;b为外部数据存储区浮点型变量;c 为一个位变量;写出他们的完整定义。
定义为:Char bdata a; float xdata b; bit c;
3、XWORD[0x0000]=0x9988; 编写程序运行结果如图8。
XWORD[0x0123]=0x9988;表示将9988H送入到外部数据存储的0123号和0124号单元。
五、实验心得:
熟悉地使用Keil仿真软件编写C51单片机程序的编写过程以及调试运行步骤。熟悉在C51中各类变量的定义方法,方法。学习编写基本的单片机程序。