兰州工业学院毕业设计说明书(论文)
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
相关推荐: