- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课后实验
实?验?报?告? ??
实验课程 原理及应
(基于Proteus和Keil C)
? 专业班级:电气01
姓名:晏晓利
学号:1304200127
组员:汤招清、丁冬、周莹、
郭龙颖、万玫钰
目录
实验1 计数显示器
控制器3 指示灯循环控制
4 指示灯/数码管的中断控制
实验1 计数显示器
【实验内容】
观察Proteus ISIS模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能
学会选择元件、画导线、画总线、修改属性等基本操作
学会可执行文件的加载及程序仿真运行方法
验证技术显示器的功能
【实验原理】
如图1,含有5个分支电路:由数码管等组成的输出电路,由按钮开关、接地点组成的输入电路,由晶振、电容组成的时钟电路,由C3、R1、Vcc、RST组成的复位电路,由Vcc、EA组成的片选电路。
编程软件的配合下,该电路可实现如下计数功能:可统计按钮BUT的按压次数,并将按压结果以十进制的结果显示出来;当显示值达到99后可自动从1开始,无限循环。
图1
【实验步骤】
在实验2、实验3中有写详细的Proteus、Keil使用方法,在此不再赘述。
仅给出操作结果
1)在Keil中编写、编译程序,生成” shiyanyi.hex”文件,如图2
图2
源代码如下:
#includereg51.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 (;time0;time--)
for (j=125;j125;j++);
}
void main()
{
//初始化
count = 0;
P0 = table[count/10];
P2 = table[count%10];
while(1)
{
if(P3_7 == 0)
{
delay(10); //按键防抖
if(P3_7 == 0)
{
count++;
if(count == 100)
count = 0;
P0 = table[count/10]; //连接的数码管数值为十位
P2 = table[count%10];//连接的数码管数值为个位
while(P3_7 == 0);
}
}
}
}
2)在Proteus中放置元件、连线,如图1。
【实验结果】
与预期一致:
初始现象如图3
图3
多次按下按钮,计数到某值(如35),如图4
图4
【调试与分析】
调试中有一个很有趣的现象。我图方便没有位定义P3^7,即没有写“P3_7 = P3^7”,在程序中直接将P3^7当做变量,判断其值是否为0来检测按钮是否被按下。结果程序“0 Error(s), 0 Warning(s).”但就是在proteus上没现象。找了很久都没有找到任何程序上的错误,最后尝试着加上位定义才最终出现正确现象。说明位定义是不可缺少的,P3^7这种表示引脚的标号并不能直接拿来当变量(尽管之前这样用也没有出现问题,但太不严谨)。
这是一个简单的数码管显示程序的很有意义的启发。
实验2 指示灯/开关控制器
内容】
熟悉的汇编程序编辑
实验2的的设计与编译
程序调试方法,并最终实现实
【实验原理】
原理如图1
由外接在的8只开关组成,输出接口由外接的8只低电平驱动发光二极管组成此外还包括电路复位片选
图1
实现的功能:程序启动,8只发光二极管整体闪烁3次亮-暗-亮-暗-亮-暗间隔时间观察到的为准)然后根据开关状态控制灯亮或灯灭,即开关闭和灯亮,开关断开灯灭。
1)8只发光二极管整体3次
:向P2送数值0;
:向送数值0ffh;
3次:循环3次
快慢:由软件延时时间
2)根据开关状态控制灯亮或灯灭
:将送入;
:无条件循环
步骤】
绘图:
图2,proteus左边工具栏左键选择原件模式左键VICES窗口的ick Devices窗口,关键一栏输入所需原件的型号80C51),左键双击出现的匹配名,原件就选好了。
选出所原件,将显示在原件模式下的VICES窗口。
图2
如图3,放置原件并连线,其中,总线放置选择总线模式电源和地在终端模式中选择电气连接的标号在—属性设置工具“中按快捷键)设置设置好的参数后原理图完成。
3
编程
4,在”“
文档评论(0)