找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2836|回复: 12
打印 上一主题 下一主题
收起左侧

1602自编.C(51): error C129: missing ';' before 'main'求大神拯救

  [复制链接]
楼主
ID:213173 发表于 2020-2-16 05:44 | 显示全部楼层
楼主错得不是一两处,抄的不认真,你对比一下就明白。


  1. #include<reg52.h>
  2. sbit  LCD1602_RS=P2^4;
  3. sbit  LCD1602_RW=P2^5;
  4. sbit  LCD1602_EN=P2^6;
  5. //sbit  LCD1602_DB=P0;
  6. <font color="#ff0000">#define LCD1602_DB P0</font>
  7. unsigned int i;
  8. unsigned char code shuzu1[]="1234567890123456";
  9. unsigned char code shuzu2[]="9876543210987654";

  10. void Read_Busy()           //忙检测函数,判断bit7是0,允许执行;1禁止
  11. {
  12.         unsigned char sta;      //
  13.         LCD1602_DB = 0xff;
  14.         LCD1602_RS = 0;
  15.         LCD1602_RW = 1;
  16.         do
  17.         {
  18.                 LCD1602_EN = 1;
  19.                 sta = LCD1602_DB;
  20.                 LCD1602_EN = 0;    //使能,用完就拉低,释放总线
  21.         }while(sta & 0x80);
  22. }

  23. void Lcd1602_Write_Cmd(unsigned char cmd)     //写命令
  24. {
  25.         Read_Busy();//忙检测函数,判断bit7是0,允许执行;1禁止
  26.         LCD1602_RS = 0;//RS数据命令选择RS=1数据 RS=0命令
  27.         LCD1602_RW = 0;//读写选择 RW=1读取 RW=0写
  28.         LCD1602_DB = cmd;//命令放到P0(假设)上
  29.         LCD1602_EN = 1;//*****************使能信号 =1开始工作
  30.         LCD1602_EN = 0; //*****************使能信号 =1开始工作   
  31. }
  32. void Lcd1602_Write_Data(unsigned char dat)   //写数据
  33. {
  34.         Read_Busy();//忙检测函数,判断bit7是0,允许执行;1禁止
  35.         LCD1602_RS = 1;//RS数据命令选择RS=1数据 RS=0命令
  36.         LCD1602_RW = 0;//读写选择 RW=1读取 RW=0写
  37.         LCD1602_DB = dat;//数据放到P0(假设)上
  38.         LCD1602_EN = 1;//使能开
  39.         LCD1602_EN = 0;//使能关
  40. }
  41. void InitLcd1602()              //1602初始化 共5组初始化寄存器
  42. {
  43.         Lcd1602_Write_Cmd(0x38);    //打开,5*8,8位数据   00111000
  44.         Lcd1602_Write_Cmd(0x0c);    //00001100后三位表示 开显示 不显光标 光标不闪烁
  45.         Lcd1602_Write_Cmd(0x06);    //00000110   //写一个字符后地址指针加一
  46.         Lcd1602_Write_Cmd(0x01);    //清屏   
  47. }
  48. //viod main()
  49. <font color="#ff0000">void main()</font>
  50. {
  51.         InitLcd1602();
  52. <font color="#ff0000">        Lcd1602_Write_Cmd(0x80);</font>
  53. //        for(i = 0; i < 16; i++);
  54. <font color="#ff0000">        for(i = 0; i < 16; i++)</font>
  55.         {
  56.                 Lcd1602_Write_Data(shuzu1[i]);
  57.         }
  58. //        void Lcd1602_Write_Cmd(0x80+0x40);
  59. <font color="#ff0000">        Lcd1602_Write_Cmd(0x80+0x40);</font>
  60. //        for(i = 0; i < 16; i++);
  61. <font color="#ff0000">        for(i = 0; i < 16; i++)</font>
  62.         {
  63.                 Lcd1602_Write_Data(shuzu2[i]);
  64.         }
  65.         while(1);
  66. }
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表