新闻中心

EEPW首页>嵌入式系统>设计应用> 由Proteus仿真入门单片机学习

由Proteus仿真入门单片机学习

作者: 时间:2011-12-03 来源:网络 收藏

3.3主程序

#include
#include
#include
void main(void)
{
static short P1_out_cnt=0; //定义对P1 口输出时计数
int_init(); //调用中断初始化子程序
while(1) //下面为一个无限循环
{
_nop_();
}
}

3.4时钟中断子程序

void timer_0 (void) interrupt 1 using 1
{ TL0= (65535-1000/16);
TH0= ((65535-1000/16)>>8); //重置时钟中断0 的时间计数寄存器值
P1=P1_out[P1_out_cnt]; //P1 口按数组给定值输出
P1_out_cnt++; //指向数组中下一个值
P1_out_cnt=0x0f; //00001111B,保证0≤P1_out_cnt≤15
}

4 仿真与实验

在以上工作完成之后,通过仿真软件7 professional 下面的ISIS7 Professional 菜单窗口里对一些参数进行设定,为了简单完成仿真,在此只对必要的参数进行设定:首先对Design/Configure Power Rail 下的电源Vcc=5V 和GND=0 进行设定,其次是对Source/add or remove source code file 下的源程序代码名和Code generation tool=ASEM51 进行设定,在次是对双击单片机U1 弹出的菜单进行Clock Frequency 和Program file 目标代码(有源代码编译后产生的HEX 后缀名文件)的设定。最后点击Debug/Execute 便开始仿真运行,在运行过程中可以看到电脑屏上电路图中U1 输出口的输出状态,虚拟示波器上显示如图3 所示的波形。

为了对所仿真的结果做进一步的认证,在此设计了实际的电路来与之加以比较,如图4所示是按照图1 电路图设计了实际电路板之后,用示波器对其输出进行测试所得实际波形,实验表明仿真的结果与实际的测试结果相一致。

newmaker.com


图3 仿真输出波形

newmaker.com


图4 实际输出波形

5 结束语

对所设计的C 语言程序结合硬件电路的进行了仿真,并通过虚拟示波器显示了所设计程序运行的结果,并比较了仿真与实际电路运行输出结果,表明了通过仿真软件可以达到与通过实际电路来学习单片机的效果。

完整的设计了一个项目的硬件电路和C 程序,通过真实具体的正弦波发生电路及其程序的设计来达到学习单片机引路作用,增强了学习者对单片机工作原理和应用设计的理解,为单片机初学者提供了一种切实可行的方法。
newmaker.com
附图实际测试电路板
注:实际电路板上包涵了文中图1 的电路

51单片机相关文章:51单片机教程


单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理



上一页 1 2 3 下一页

关键词:Proteus仿真入门

评论


相关推荐

技术专区

关闭