C51程序设计实验指导书.doc

上传人:doc321 文档编号:13116679 上传时间:2021-12-15 格式:DOC 页数:25 大小:9.36MB
返回 下载 相关 举报
C51程序设计实验指导书.doc_第1页
第1页 / 共25页
C51程序设计实验指导书.doc_第2页
第2页 / 共25页
C51程序设计实验指导书.doc_第3页
第3页 / 共25页
C51程序设计实验指导书.doc_第4页
第4页 / 共25页
C51程序设计实验指导书.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《C51程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《C51程序设计实验指导书.doc(25页珍藏版)》请在三一文库上搜索。

1、 辽东学院信息技术学院C51程序设计实验指导书主编:XXXX姓名: 学号: 班级: 专业: 层次: 20XX年7月目 录实验一 单片机C51程序设计集成开发环境应用 1实验二 普通I/O口编程实验 .6实验三 中断程序设计实验 10实验四 定时器/计数器程序设计实验13实验五 数码管显示程序设计实验 16实验六 独立式键盘程序设计实验 19实验七行列矩阵式键盘程序设计实验2123 / 25文档可自由编辑打印实验题目:单片机C51程序设计集成开发环境应用实验类型: 实验课时: 指导教师: 日 期: 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、 实验目的1. 了解集成开发环

2、境Keil Vision3文件管理的特点。2. 学会使用开发环境新建文件、编辑、编译程序。3. 掌握开发环境程序设计相关设置及其意义。二、 实验要求1. 熟练操作开发环境。2. 利用C51相关知识,编写简单程序,生成可执行文件。3. 记录编译错误信息,总结错误原因,写出解决办法。三、 实验内容及步骤一)实验内容:认识Keil Vision3;新建工程、文件;工程参数设置;程序编辑、编译及调试。二)实验步骤:1启动软件Keil Vision3,界面如下图:2菜单操作Project>New Project,在出现的对话框中输入工程名称,设计保存路径,然后保存。3出现CPU选择对话框,选择所用

3、的单片机,单击确定。4出现加入启动代码文件对话框,单击是。下图为建立完工程后的界面:5菜单操作Project>Options for target “Target 1”或者直接在左侧的Target 1文件夹图标上单击右键,选择Options for target “Target 1”,出现下图所示的Options for target “Target 1”对话框。在Target标签下设置晶振频率、编译模式、ROM大小等,在Output标签下设置目标文件路径,是否产生可执行文件及是否产生其他信息。6点击菜单或则点击新建图标,然后保存,设置保存路径,注意保存文件格式为:文件名.C。7在文件管

4、理窗口中右键单击“Source Group 1”,选择“Add Files to Group Source Group 1 ”,选中刚刚新建的程序文件,点“Add”即可把文件加入到工程中。8文件管理窗口中双击任何文件名即可把该文件打开,在右边的工作区中可以编辑源程序。9程序编辑完成后单击图标编译,编译通过后的界面下图所示。输出窗口中为编译信息,若有错误,系统提示错误类型及所在的行,根据此信息进行调试,直至程序编译正确通过。四、 实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩合计教师签字:批改日期:实验题目:普通I/O口

5、编程实验实验类型: 实验课时: 指导教师: 日 期: 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、 实验目的1. 掌握单片机普通I/O口的程序设计技术。2. 加深对单片机执行程序机制的理解。二、 实验要求1. 独立完成。2. 完成花样流水灯程序。3. 利用开发环境的仿真实验电路仿真程序。三、 实验内容及步骤一)实验内容:1. 编写简单流水灯以及花样流水程序,调试程序。2. 仿真运行观察P1口的8个发光二极管现象, P1寄存器内容的变化,二者变化是否一致。二)实验步骤:1新建工程intprj.Prj,新建c程序源文件并加入到工程中;2输入所编写的程序,简单流水和花样流水分

6、别实现;3所给的ledkey.dll文件拷贝至KeilC51BIN文件夹下4设置工程选择project->Option for Target'Target1',选Debug页,左侧最下面,Dialog Dll中一般是DP51.DLL,不用修改,Parameter中是-P51在其后加入-dledkey即该行看起来应该是这样的:-p51 -dledkey -simboard保存即可。5输入所编写的程序,实现功能:定时一秒,隔一秒P1口接的8个发光二极管亮6编译程序,若有错误,调试程序直至编译通过。7单击按钮,进入仿真界面。点击:Peripherals,其中多出一个“键盘LED

7、实验仿真板”选择该项即可。8单击按钮,运行程序,观察仿真界面能否完成要求的功能。仿真试验板电路入下图所示: 9简单流水流程图:10简单流水代码:#include <AT89X51.H>unsigned char i;unsigned char temp;unsigned char a,b;void delay(void) unsigned char m,n,s; for(m=20;m>0;m-) for(n=20;n>0;n-) for(s=248;s>0;s-);void main(void) while(1) temp=0xfe; P1=temp; delay

8、(); for(i=1;i<8;i+) a=temp<<i; b=temp>>(8-i); P1=a|b; delay(); for(i=1;i<8;i+) a=temp>>i; b=temp<<(8-i); P1=a|b; delay(); 11花样流水流程图:12花样流水参考代码:#include <AT89X51.H>unsigned char code table=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f, 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xb

9、f,0x7f, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0x00,0xff,0x00,0xff, 0x01;unsigned char i;void delay(void) unsigned char m,n,s; for(m=20;m>0;m-) for(n=20;n>0;n-) for(s=248;s>0;s-);void main(void) while(1) if(tablei!=0x01) P1=tablei; i+; delay(); e

10、lse i=0; 四、 实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩合计教师签字:批改日期:实验题目:中断程序设计实验实验类型: 实验课时: 指导教师: 日 期: 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、实验目的1. 掌握中断程序设计技术。2. 加深对单片机中断机制的理解。对实时控制概念有初步的感性认识。二、实验要求1. 独立完成。2. 描述出中断发生时,中断资源的变化情况,也可以用显示技术表明中断的发生。三、实验内容及步骤一)、实验内容:编写中断程序,仿真运行,观察产生中断时单片机相应过

11、程。二)、实验步骤:1新建工程intprj.Prj,新建c程序源文件并加入到工程中2入所编写的程序,程序需为主循环中断服务程序结构3编译程序,若有错误,调试程序直至编译通过。4单击按钮,进入仿真界面。5菜单Peripherials>Interrupt,对话框如下图。6单击按钮仿真运行程序,观察所选的中断资源变化情况。7中断程序实例代码:#include <reg51.h>#define Uchar unsigned charsbit P12=P12;Uchar IntCnt=5;void main(void)TCON=0X01;/外部中断0边沿触发 EX0=1; EA=1;/

12、开中断 while(1);void ExInt0_isr(void) interrupt 0TMOD=0x02;/T0。方式2 TCON=0x00; TH0=56; TL0=56; TR0=1;void T0_isr(void) interrupt 1if(-IntCnt=0) IntCnt=5; P12=P12; 功能:利用MCS-51的计数器T0,工作于方式2 ,P3.2作为故障状输入端,当出现1次负跳变时,立即在P1.2脚输出周期2ms连续方波(晶振为12MHZ)四、实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩

13、合计教师签字:批改日期:实验题目:定时器/计数器程序设计实验实验类型: 实验课时: 指导教师: 日 期: 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、实验目的1. 了解定时器/计数器在单片机开发中的重要作用。2. 通过本次实验掌握单片机定时器/计数器的编程方法。3 在应用中巩固学生编程相关知识,对单片机编程的程序结构有初步的了解,对单片机完成控制功能的过程有初步的了解二、实验要求1. 独立完成。2. 实现一秒定时。用仿真实验板发光二极管指示一秒定时到。三、实验内容及步骤1将所给的ledkey.dll文件拷贝至KeilC51BIN文件夹下2置工程选择project->

14、;Option for Target'Target1',选Debug页,左侧最下面,Dialog Dll中一般是DP51.DLL,不用修改,Parameter中是-P51在其后加入-dledkey即该行看起来应该是这样的:-p51 -dledkey -simboard保存即可。3新建工程intprj.Prj,新建c程序源文件并加入到工程中。4输入所编写的程序,实现功能:定时一秒,隔一秒P1口接的8个发光二极管亮5编译程序,若有错误,调试程序直至编译通过。6单击按钮,进入仿真界面。点击:Peripherals,其中多出一个“键盘LED实验仿真板”选择该项即可。7单击按钮,运行程序

15、,观察仿真界面能否完成要求的功能。8仿真试验板的电路入下图所示:9实例代码:#include <reg51.h>unsigned char int0Cnt=25; /中断记数,25次中断为一秒定时到bit flash=0;void main() P1=0X0FF; /灯全灭 TMOD=0x01; /T0,方式1 TF0=0; /初始化定时期 TR0=0; TH0=25536/256; TL0=25536%256; TR0=1; /启动定时期 EA=1; ET0=1; /开中断 while(1) if(flash=1) P1=0; else P1=0X0FF;void int0_is

16、r(void) interrupt 1 using 0 /T0定时中断服务程序int0Cnt-; /每次中断,中断记数单元减仪if(int0Cnt=0) /一,秒到flash=! flash; /置显示更新标志, int0Cnt=25; /重置中断记数单元。为下一秒定时准备TR0=0; /记述初值重状TH0=25536/256; TL0=25536%256; TR0=1;四、实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩合计教师签字:批改日期:实验题目:数码管显示程序设计实验实验类型: 实验课时: 指导教师: 日 期:

17、 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、实验目的1. 掌握数码管静态显示与动态显示原理。2. 通过本次实验掌握数码管显示电路的编程方法。二、实验要求1. 独立完成。2. 利用动态数码管电路编程实现显示自己的班级和学号。三、实验内容及步骤1将所给的ledkey.dll文件拷贝至KeilC51BIN文件夹下2置工程选择project->Option for Target'Target1',选Debug页,左侧最下面,Dialog Dll中一般是DP51.DLL,不用修改,Parameter中是-P51在其后加入-simboard即该行看起来应该是

18、这样的:-p51 -simboard保存即可。3新建工程intprj.Prj,新建c程序源文件并加入到工程中。4输入所编写的程序,实现功能:动态数码管显示电路显示自己的班级和学号。6单击按钮,进入仿真界面。点击:Peripherals,其中多出一个“键盘LED实验仿真板”选择该项即可。7单击按钮,运行程序,观察仿真界面能否完成要求的功能。8仿真试验板的电路入下图所示:四、实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩合计教师签字:批改日期:实验题目:独立式键盘程序设计实验实验类型: 实验课时: 指导教师: 日 期: 时

19、 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、实验目的1. 通过本次实验掌握独立式键盘的编程方法。3 在应用中巩固学生去抖等键盘编程相关知识。二、实验要求1. 独立完成。2. 利用一定的显示方式,指示按键的正确识别。要求按键识别无漏按,无重复现象。三、实验内容及步骤1将所给的ledkey.dll文件拷贝至KeilC51BIN文件夹下2置工程选择project->Option for Target'Target1',选Debug页,左侧最下面,Dialog Dll中一般是DP51.DLL,不用修改,Parameter中是-P51在其后加入-dledkey

20、即该行看起来应该是这样的:-p51 -dledkey -simboard保存即可。3新建工程intprj.Prj,新建c程序源文件并加入到工程中。4输入所编写的程序,实现功能:利用一定的显示方式,如发光二极管或者数码显示器指示按键的正确识别。要求按键识别无漏按,无重复现象。5编译程序,若有错误,调试程序直至编译通过。6单击按钮,进入仿真界面。点击:Peripherals,其中多出一个“键盘LED实验仿真板”选择该项即可。7单击按钮,运行程序,观察仿真界面能否完成要求的功能。8仿真试验板的电路入下图所示:四、实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(

21、10%)课堂提问(10%)得分成绩合计教师签字:批改日期:实验题目:行列矩阵式键盘程序设计实验实验类型: 实验课时: 指导教师: 日 期: 时 间: 教学周数: 实验分室名称: 实验台号: 实 验 员: 一、实验目的1. 掌握行列矩阵键盘扫描原理。2. 通过本次实验掌握行列矩阵键盘电路的编程方法。二、实验要求1. 独立完成。2. 结合动态数码管电路编程实现显示按键的位置。三、实验内容及步骤1将所给的ledkey.dll文件拷贝至KeilC51BIN文件夹下2置工程选择project->Option for Target'Target1',选Debug页,左侧最下面,Dia

22、log Dll中一般是DP51.DLL,不用修改,Parameter中是-P51在其后加入-simboard即该行看起来应该是这样的:-p51 -simboard保存即可。3新建工程intprj.Prj,新建c程序源文件并加入到工程中。4输入所编写的程序,实现功能:动态数码管显示电路显示自己的班级和学号。6单击按钮,进入仿真界面。点击:Peripherals,其中多出一个“键盘LED实验仿真板”选择该项即可。7单击按钮,运行程序,观察仿真界面能否完成要求的功能。8仿真试验板的电路入下图所示:四、实验结果及分析本次实验成绩项目及比例实验操作(50%)报告书写(30%)出勤和课堂纪律(10%)课堂提问(10%)得分成绩合计教师签字:批改日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1