第一范文网 - 专业文章范例文档资料分享平台

基于单片机的电话拨号系统的设计 - 图文

来源:用户分享 时间:2025/5/15 5:31:35 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

兰州工业学院毕业设计说明书(论文)

uchar i;

while(x--) for (i = 0;i < 120; i++); }

//------------------------------------------------------------------ // 在LCD指定键盘上显示字符串

//------------------------------------------------------------------- void Display_String(uchar * str,uchar LineNo) {

uchar k;

LCD_Pos(LineNo);

for (k = 0; k< 16; k++) LCD_Wdat (str[k]);

}

//-------------------------------------------------------------------- // LCD状态检测

//-------------------------------------------------------------------- bit LCD_Busy () {

bit result;

RS =0;RW =1;E=1;DelayNOPx();result = (bit)(P0 & 0x80); E= 0; return result; }

//-------------------------------------------------------------------- // 写LCD命令

//-------------------------------------------------------------------- void LCD_Wcmd (uchar cmd) {

while (LCD_Busy ()); //判断LCD是否忙碌

22

兰州工业学院毕业设计说明书(论文)

RS=0;RW=0;E=0;_nop_();_nop_();

P0=cmd;DelayNOPx();E=1;DelayNOPx();E=0; }

//------------------------------------------------------------------- // 写LCD数据

//-------------------------------------------------------------------- void LCD_Wdat (uchar str) {

while (LCD_Busy ()); //判断LCD是否忙碌 RS =1;RW =0;E=0; P0=str; DelayNOPx (); E=1;DelayNOPx();E=0; }

//-------------------------------------------------------------------- // LCD初始化

//-------------------------------------------------------------------- void LCD_Init() {

LCD_Wcmd(0x38);DelayMS(1);//设定LCD为16*2显示,5*7点阵,8位数据接口

LCD_Wcmd(0x0c);DelayMS(1);//开显示,不显示光标

LCD_Wcmd(0x06);DelayMS(1);//显示光标,自动右移,整屏不要动

LCD_Wcmd(0x01);DelayMS(1);//显示清屏 }

23

兰州工业学院毕业设计说明书(论文)

5 系统仿真与调试

5.1系统运行环境

(1)本系统的硬件电路是在Proteus电路仿真软件上运行的。 (2)本系统的软件是在 Keil uVision3 上编译运行的。 (3)通过Proteus与Keil连调实现电路仿真。

5.2 系统仿真说明

5.2.1 KEILC调试

打开Keil新建工程文件,然后添加源程序文件,保存时把文件后缀名改成“.c”,再直接导入新建的工程中。

把源程序全部录入后,先粗略的检查一遍,主要改正明显的各种错误,这样可以减少之后的修改工作量。接着Options for Target “Target 1” ,点击Output ,勾选Create Hex 那个选项,一边生成可执行的文件。然后点击Project菜单下的Built Target命令然后再进行编译、连接,形成目标文件。编译、连接用Project菜单下的Built Target命令(或快捷键F7),也可以直接点击工具栏中相对应的图标。.

编译、连接时,如果程序存在语法有错,则不会通过编译,并在下面的信息窗口给出相应的出错提示信息,其中错误是一定得改正的,警告可以忽略。双击下面显示错误信息的那一行,可以直接定位错误所在的行,用户可以方便的对程序进行修改。修改后再编译、连接,继续进行调试,这个过程可能会重复多次。如果没有任何语法上的错误,则编译、连接成功,并且信息窗口给出提示信息。

24

兰州工业学院毕业设计说明书(论文)

5.2.2 Proteus调试

在Proteus软件中先从元件库中加载要使用的那些元件,然后把元件放在图纸上一个一个的接线,尽量不让线交错,便于查看、分析,有必要时,使用接线标号法,完成所有元器件的接线。

5.2.3 Proteus与Keilc联调实现电路仿真

在Proteus中双击AT89C51,在弹出的窗口中Program File后面选择在Keil中生成的以“.hex”为后缀名的文件,为单片机添加可执行文件。然后点击左下角的相关图标,开始进行仿真。

仿真运行结果如下图5.1所示。

LCD0LM016LVSSVDDVEEC122PFRSRWE4561237891011121314D0D1D2D3D4D5D6D7RSRWEU1X1C222PF12M18XTAL219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617d0d1d2d3d4d5d6d7RWEP3.098765432d0d1d2d3d4d5d6d7d0d1d2d3d4d5d6d7VCCR1910kRSTRP1RESPACK-8C310UF293031PSENALEEAP3.112SOUNDER12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51net=F1.28P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.4A1472580369# P3.5BP3.6CP3.7D图5.1 电路仿真图

25

3LS1P3.2RS1

基于单片机的电话拨号系统的设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ub999oe8y0zdc4257c6_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top