单片机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实
验
报
告
实验课程:单片机原理及应用
班级:12自动化2班
学号:
姓名:
教师:玲
成绩:
实验日期:年月日实验名称:实验1——计数显示器
一、实验目的:
学习Proteus 软件的使用,掌握单片机原理图的绘图方法。
二、实验内容:
1、绘制“计数显示器”电路原理图;
2、利用提供的hex文件验证此电路的运行效果。
三、实验要求:
提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图;3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验1体会等。
参考电路原理图如下:
元件类别电路符号元件名称
Microprocessor ICs “U1”80C51
Miscellaneous “X1”/12MHz CRYSTAL
Capacitors “C1”~“C2”/1nF CAP
Capacitors “C3”/22μF CAP-ELEC
Resistors Packs “RP1”/7-100ΩRESPACK-7
Resistors “R1”/100ΩRES
Optoelectronics “LED1”~“LED2”7SEG-COM-CAT-GRN
Switches & Relays “BUT”BUTTON
1、编程思路及C51源程序:
2、电路原理图:
3、仿真运行效果展示:
4、实验小结:
熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法,学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制。
实验名称:实验2——LED指示灯循环控制
一、实验目的
熟悉μVision3编译软件、掌握C51编程与调试方法。
二、实验内容
1、按照教材P243的图A.34,绘制实验二电路原理图;
2、编写C51程序,实现8个LED灯依次点亮的功能:P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→P0.5→┅→P0.0的顺序,无限循环,间隔约50ms;
3、观察仿真结果,完成实验报告。
三、实验要求
1、采用两种加载并运行可执行文件的方法,即proteus独立运行和proteus + Keil联合运行,体会其中的差异和意义;
2、练习采用单步、断点以及监视窗等手段进行程序调试的方法;
3、观察仿真结果,完成实验报告:绘制的电路原理图、编程思路分析及C51源程序、调试过程简述,仿真运行效果以及实验小结。
1、电路原理图:
2、编程思路及C51源程序:
3、仿真运行效果:
4、实验小结:
通过本次实验我熟悉uVision3编译软件了解软件的结构组成与功能学习
C51语言的程序设计方法)学会在uVision3中进行C51程序录入、编译、和调试理解Proteus与Keil联合的仿真原理实现LED指示灯循环控制功能。
更好的将C语言和C51语言联系在了一起)学到的知识能准确的利用了出来。实验名称:实验3——指示灯和数码管的中断控制
一、实验目的
掌握外部中断的工作原理,学会中断程序设计。
二、实验内容
1、按照教材帕图A.53,绘制实验四电路原理图;
2、要求采用外部中断原理完成本次实验,其中按键K1、K2均设置为下降沿触发方式,自然优先级;
3、编写C51程序实现如下功能:开机后D1灭灯,LED1黑屏,随后单击K1→D1状态反转,单击K2 →LED1从0开始循环显示0~F字符。
4、观察仿真结果,完成实验报告。
三、实验要求
提交的实验报告中应包括:电路原理图,外部中断工作原理阐述(以K1为例说明中断响应过程),C51源程序(含流程图与注释语句),运行效果(含运行截图与说明),实验小结。
1、电路原理图:
2、外部中断工作原理阐述:
持续按下K1则D1将“亮→灭→亮→灭→…→亮→灭如此循环,表明实现了K1对应于D1状态反转这个功能;持续按下持续按K2则数码显示管依次显示1-F,实现了K2对应于0~F间的数码管加一计数显示。
3、编程思路及C51源程序:
4、仿真运行效果:
5、实验小结:
通过实验对Protues有了更多的了解,同时了解到中断系统在实际中的更好应用。经过编程操作起来更加熟练能很快的完成绘图,编程时也得心应手,能熟练的运用软件找出自己所编程中的语法问题及其他问题,并以改正。
实验名称:实验4——电子秒表显示器
一、实验目的
掌握定时/计数器的中断法工作原理,熟悉C51编程与调试方法
二、实验要求:
1、实验电路原理图如教材P260 A.65图所示。程序开始时显示“00”;当1s产生时,秒计数加1;秒计数到59后,自动从“00”开始。
2、采用12MHz晶振频率,T0定时方式1、50ms定时中断法编程(1s需要经过20软循环)(流程图和参考程序模版如下所示)。
//定时中断方式实现的电子秒表
(51头文件)
(定义无符号字符型变量t——中断次数计数器,并赋初值0
(定义无符号字符型变量second——秒计数器,并赋初值0
(定义位于ROM区的无符号字符型数组table——显示字模)
timer0() (中断函数关键词){
(关闭T0)
(初值重装载0x3cb0)
(中断次数计数器增1)
if(t==20){ //若中断20次,相当于1秒
t=0; //中断次数计数器清零
second++; //秒计数器清零
}
(若秒计数器值达到60,清零)
(P0和P2口分别输出变量second的显示值)
(启动T0)
}
main(){
P0=table[second/10]; //P0和P2口分别输出显示值
P2=table[second%10];
(定义T0定时方式1——TMOD)
(50ms溢出初值0x3cb0加载——TH0和TL0)
(中断初始化——ET0,EA)
(启动T0)
(死循环)