|
proteus仿真圖
單片機源程序如下:
- #include<reg52.h>
- #include <intrins.h>
- #include "LCD1602.h"
- #include "ADC0808.h"
- sbit CLOCK=P2^6;
- extern uchar display_buffer[][16];
- //????
- unsigned char SenData, //????
- Flag, //???
- ReData; //????
- //????
- void usart_init(); //???????
- void send_data(unsigned char a); //??????
- //---------------------------
- //???????
- //---------------------------
- void usart_init()
- {
- SCON = 0x50; //REN=1????????,??????1
- TMOD = 0x20; //???????2
- PCON = 0x00;
- TH1 = 0xFD; //???9600????8????1????? (11.0592M)
- TL1 = 0xFD;
- ES = 1; //?????
- EA = 1; //????
- TR1 = 1; //?????
- }
- //---------------------------
- //??????
- //---------------------------
- void send_data(unsigned char a)
- {
- SBUF = a; //SUBF??/?????
- while(0 == TI); //????????,??????
- TI=0; //???0
- }
- //---------------------------
- //??????
- //---------------------------
- void ser_int (void) interrupt 4 using 1
- {
- if(1 == RI) //RI??????
- {
- RI = 0; //??RI??????
- ReData = SBUF; //SUBF??/?????
- Flag=1; //????1????????
- }
- }
- void main()
- {
- TMOD=0x02;
- TH0=0x14;
- TL0=0x00;
- IE=0x82;
- TR0=1;
- Initialize_LCD1602();
- delay50us(10);
- Write_LCD_Command(0x80);//?????????
- LCD_Display(display_buffer[0]);//??"The voltage is: "
- usart_init(); //???????
- while(1)
- {
- adc0808_init();
- Refresh_show();
- Write_LCD_Command(0xC0);//?????????
- LCD_Display(display_buffer[1]); //???????
- if (Flag==1) //?????????,??????
- {
- EA=0; //?????????????,?????????????
- //----------------------?????????????
- send_data(display_buffer[1][7]);
- send_data('.');
- send_data(display_buffer[1][9]);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
文件.rar
(58.44 KB, 下載次數: 15)
2017-5-26 12:49 上傳
點擊文件名下載附件
|
|