下载此文档

凌阳单片机实验报告.doc


文档分类: | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
南京邮电大学
课程设计П实验报告
模块名称_ _____凌阳单片机______ _
班级学号_______B080210
姓名__ ____ _ _______
指导老师_赵建立__叶玲__董恒梅霆_
开课时间 2011/2012 学年, 第一学期

实验1 熟悉’nSP™ IDE环境下的汇编程序和C程序的编写
一、实验目的
熟悉汇编程序和C程序的编写。编译程序,软件调试,观察并跟踪其结果,查看各个寄存器状态,等等。
二、实验设备
装有WINDOWS操作系统以及μ’nSP™ IDE仿真开发环境的PC机一台;十六位单片机实验板及扩展板。
三、实验原理
参照SPCE061A单片机教材和实验指导书熟悉凌阳单片机的开发环境。
四、流程图
汇编程序主程序流程图:

五、关键代码
汇编程序代码:
//===============================================================//
// Program: 计算1 to 100累加值
// Output: [sum] = 5050(十进制) 或 13BA(十六进制)
//===============================================================//
.RAM // 定义预定义 RAM 段
.var R_Sum; // 定义变量
.CODE //定义代码段
.public _main; // 对main程序段声明
_main:
r1 = 0x0001; // r1=[1..100]
r2 = 0x0000; // 寄存器清零
L_SumLoop:
r2 += r1; // 累计值存到寄存器r2
r1 += 1; // 下一个数值
cmp r1,100; // 加到100否
jna L_SumLoop; // 如果 r1 <= 100 跳到 L_SumLoop
[R_Sum] = r2; // 在R_Sum中保存最终结果
L_ProgramEndLoop: // 程序死循环
jmp L_ProgramEndLoop;
C程序代码:
//===============================================================//
// Program: 计算1 to 100累加值
// Output: [sum] = 5050(十进制) 或 13BA(十六进制)
//===============================================================//
int main()
{
int i, Sum=0;
for (i=0;i<=100;i++)
Sum = Sum + i; // Sum 是累加的结果
while(1){ }; // 程序死循环
// 用变量 Watch 窗口看 Sum 的值
}
六、实验结果
用RegisterWindow工具观察各个寄存器状态变化符合实际情况。
实验2 键盘与二极管实验
一、实验目的
通过本实验熟悉μ’nSP™ IDE单片机的I/O、定时器的使用方法、中断系统的使用。熟悉IDE开发环境的使用。
二、实验设备
装有WINDOWS操作系统以及SunPlus IDE仿真开发环境的PC机一台;十六位单片机实验板及扩展板。
三、实验原理
通过键盘扫描获得键值后分别控制二极管的亮灭;使用定时器产生不同的显示。
四、实验步骤
;
;
;
;
,编写主程序框架;
,编写汇编子程序;
;
();
,观察运行结果,寄存器状态等;

要求:对于每个不同的按键,分别有下列响应:;;;。
五、流程图
主函数流程图:

六、关键代码
//主程序main函数用C语言编写
int main(void)
{
int Key;
while(1)
{
Key=getkey();
switch(Key)
{
case 0xfffe: one();break;
case 0xfffd: two();break;
case 0xfffb: three();break;
case 0xfff7

凌阳单片机实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小314 KB
  • 时间2018-03-19