单片机实验1_计数显示器报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一计数显示器
(Proteus绘图练习)
【实验目的】
熟悉Proteus仿真软件,掌握单片机原理图的绘图方法。
【实验原理】
图 A.1为一计数显示器的电路原理图。
图中两位七段共阴极数码管分别外接于P0口和P2口,此外P0口还外接7只上拉电阻。
按钮开关BUT接在P3.7引脚。
时钟与复位电路分别接在19、18和9脚处。
该计数显示器的功能是,按压按键BUT后,数码管LED1和LED2上立即显示出按键压下的次数。
当显示值达到99后再次按压按键,显示值将从1重新开始,以此无限循环。
【实验内容】
(1)熟悉Proteus软件,了解软件的结构组成与功能;
(2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、画总线、修改属性等基本操作;
(3)学会可执行文件加载及程序仿真运行方法;
(4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制。
【实验步骤】
(1)观察Proteus软件的菜单、工具栏、对话框等基本结构;
(2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中;(3)在Proteus中加载程序,观察仿真结果,检验电路图绘制的正确性。
【实验要求】
提交的实验报告中应包括电路原理图及实验结果分析。
【阅读材料】
1.启动Proteus的ISIS模块
从Windows开始菜单启动Proteus的ISIS模块后,可进入该软件的主界面。
2.选择元器件
单击上图左侧的对象选择按钮“P”,可弹出“Pick Devices”元件选择窗口。
利用“Keywords”检索框可查找所需要的元器件,例如输入“80C51”,系统会在对象库中进行查找,并将搜索结果显示在“Results”列表框中。
双击所需元件名后,该元件会出现在对象选择列表窗口里。
利用此方法可继续选择其他元件。
欲将退出选择,单击“OK”按钮,关闭元件选择窗口,返回到主界面。
3.摆放元器件
5.编辑元器件属性
双击<TEXT>框进入元器件属性编辑对话框,并且单击“Style”选项卡。
取消“Visible”项的“Follow Global”属性,Visible将由灰色状态变为黑色,同样取消其选中状态,<TEXT>框将从原理图中隐藏起来。
按此步骤,可将每个元件下面的<TEXT>框变为隐藏状态。
6.对原理图布线:(1)画导线(2)画总线(3)画电源线
7.添加.hex仿真文件
8.仿真运行
实验分析:本实验实现对按键动作进行统计,并将动作次数通过数码管
显示出来.每按一次BUT键,显示结果加1,直到加到99,再按一次BUT键就变为01,重新开始循环计数。
其中LED1显示通过整除十的运算得到十位数,LED2显示通过取余操作得到个位数,显示计数结果。
贴个程序:
#include<reg51.H>
sbit p3_7=p3^7;
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char count;
void delay(unsigned int time)
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void main(void)
{
count=0; //计数器赋初值
p0=table[count/10]; //p0口显示初值
p2=table[count%10]; //p2口显示初值
while(1)
{ //进入无限循环
if(p3_7==0)
{ //软件消抖,检测按键是否压下
delay(10);
if(p3_7==0)
{ //若按键压下
count++; //计数器曾1
if(count==100) //判断循环是否超限
count=0;
p0=table[count/10]; //p0口显示输出
p2=table[count%10]; //p2口显示输出
while(p3_7==0); //等待按键松开,防止连续计数
}
}
}
}
——————Hello,呵呵By:____(还是省略吧)。