找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4099|回复: 4
收起左侧

用ADC0832设计的两路电压表 LCD1602显示空白 求帮助

[复制链接]
ID:359225 发表于 2018-6-26 12:23 | 显示全部楼层 |阅读模式
ad0832 LCD1602显示
0.png 0.png

单片机源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include<stdio.h>  
  4. #include"define.h"
  5. #include"delay.h"
  6. #include"LCD1602.h"
  7. #include"ADC0832.h"
  8. void main(){
  9.           LCD_init();
  10.           P1=0;

  11.           CP_RL2=0;EXEN2=0;        //T2初始化,控制灰尘led
  12.           led=1;
  13.           TH2=RCAP2H=(65536-500)/256;
  14.           TL2=RCAP2L=(65536-500)%256;
  15.           ET2=1;
  16.           EA=1;
  17.           TR2=1;

  18.           TMOD=0x21;  //T0初始化,控制电机  t1初始话timer 1, mode 2, 8-bit 重装
  19.           ET0=1;
  20.           dir=0;
  21.       cp=1;

  22.           SCON  = 0x50;                        // 串口初始化,SCON: 模式 1, 8-bit UART, 使能接收  
  23.       TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
  24.       TR1   = 1;                  // TR1:  timer 1 打开                        
  25.       ES    = 1;
  26.          

  27.            
  28.          while(1){
  29.          
  30.                  ADC_change(0);   
  31.                  LCD_buffer[0][8]=dat/100+'0';   
  32.                  LCD_buffer[0][10]=dat/10%10+'0';   
  33.                  LCD_buffer[0][11]=dat%10+'0';     
  34.                  LCD_display(0x00,LCD_buffer[0]);
  35.                  delay(10);
  36. if(lanya=='0'){
  37.         TR0=0;
  38.         spk=0;
  39.         }
  40.         
  41. else if(lanya=='3'){
  42.         if(dat>200){
  43.          speed=1000;
  44.         TH0=(65536-speed)/256;
  45.         TL0=(65536-speed)%256;
  46.         TR0=1;
  47.         LCD_display(0x40,LCD_buffer[2]);
  48.         spk=1;
  49.          }        
  50.           else if(dat<=200){
  51.           TR0=0;
  52.          LCD_display(0x40,LCD_buffer[1]);
  53.          spk=0;
  54.            }
  55.           }
  56. else if(lanya=='1'){
  57.         speed=500;
  58.                         TR0=1;
  59.                         spk=0;
  60.                 }
  61. else if(lanya=='2'){
  62.         speed=50;
  63.                         TR0=1;
  64.                         spk=0;
  65.                 }
  66. }
  67. }


  68. void timer2() interrupt 5
  69. {          TF2=0;
  70.         led=~led;
  71.   
  72. }


  73. void timer0() interrupt 1
  74. {
  75.         TH0=(65536-speed)/256;
  76.         TL0=(65536-speed)%256;
  77.          cp=~cp;
  78.   
  79. }

  80. void UART_SER (void) interrupt 4 //串行中断服务程序
  81. {
  82.     unsigned char Temp;          //定义临时变量
  83.    
  84. ……………………

  85. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
用ADC0832设计的两路电压表.rar (94.73 KB, 下载次数: 123)
回复

使用道具 举报

ID:438003 发表于 2018-12-6 23:05 来自手机 | 显示全部楼层
量程多少
回复

使用道具 举报

ID:65369 发表于 2018-12-7 01:55 | 显示全部楼层
比较老的的资料,新手可以看下,觉得还是实物实操好点
回复

使用道具 举报

ID:828888 发表于 2023-4-22 16:09 | 显示全部楼层
不能能使,LCD1602不显示
回复

使用道具 举报

ID:537530 发表于 2023-10-6 02:04 | 显示全部楼层
P0接上拉电阻或者换P1口试试。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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