找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机的虚拟电压表仿真

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. #include "LCD1602.h"
  4. #include "ADC0808.h"
  5. sbit CLOCK=P2^6;
  6. extern uchar display_buffer[][16];
  7. //????
  8. unsigned char SenData,            //????
  9.               Flag,               //???
  10.               ReData;             //????

  11. //????
  12. void usart_init();                //???????
  13. void send_data(unsigned char a);  //??????

  14. //---------------------------
  15. //???????
  16. //---------------------------     
  17. void usart_init()
  18. {
  19.     SCON = 0x50;                  //REN=1????????,??????1                     
  20.     TMOD = 0x20;                  //???????2                    
  21.     PCON = 0x00;                                                         
  22.     TH1  = 0xFD;                  //???9600????8????1????? (11.0592M)
  23.     TL1  = 0xFD;                                                           
  24.     ES   = 1;                     //?????                  
  25.     EA   = 1;                     //????         
  26.     TR1  = 1;                     //?????
  27. }

  28. //---------------------------
  29. //??????
  30. //---------------------------
  31. void send_data(unsigned char a)
  32. {
  33.     SBUF = a;                      //SUBF??/?????
  34.     while(0 == TI);                //????????,??????
  35.     TI=0;                          //???0
  36. }

  37. //---------------------------
  38. //??????
  39. //---------------------------
  40. void ser_int (void) interrupt 4 using 1
  41. {
  42.     if(1 == RI)                    //RI??????
  43.     {
  44.         RI = 0;                    //??RI??????
  45.         ReData = SBUF;             //SUBF??/?????
  46.         Flag=1;                    //????1????????
  47.     }
  48. }
  49. void main()
  50. {  
  51.    TMOD=0x02;
  52.    TH0=0x14;
  53.    TL0=0x00;
  54.    IE=0x82;
  55. TR0=1;
  56.   Initialize_LCD1602();
  57.   delay50us(10);
  58.   Write_LCD_Command(0x80);//?????????
  59.   LCD_Display(display_buffer[0]);//??"The voltage is: "  
  60.          usart_init();                  //???????
  61.    while(1)
  62.    {   
  63.       adc0808_init();
  64.    Refresh_show();   
  65.    Write_LCD_Command(0xC0);//?????????
  66.    LCD_Display(display_buffer[1]); //???????
  67. if (Flag==1)               //?????????,??????
  68.         {
  69.             EA=0;                  //?????????????,?????????????
  70.             //----------------------?????????????
  71.             send_data(display_buffer[1][7]);  
  72.                                           send_data('.');
  73.                                           send_data(display_buffer[1][9]);
  74. ……………………

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

所有资料51hei提供下载:
文件.rar (58.44 KB, 下载次数: 15)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:217519 发表于 2017-7-6 05:58 | 只看该作者
学习一哈
回复

使用道具 举报

板凳
ID:44037 发表于 2017-7-6 07:38 | 只看该作者
谢谢分享   学习一下   
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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