ad0832 LCD1602顯示
0.png (27.1 KB, 下載次數: 58)
下載附件
2018-6-27 01:32 上傳
0.png (20.66 KB, 下載次數: 56)
下載附件
2018-6-27 01:32 上傳
單片機源程序如下:
- #include<reg52.h>
- #include<intrins.h>
- #include<stdio.h>
- #include"define.h"
- #include"delay.h"
- #include"LCD1602.h"
- #include"ADC0832.h"
- void main(){
- LCD_init();
- P1=0;
- CP_RL2=0;EXEN2=0; //T2初始化,控制灰塵led
- led=1;
- TH2=RCAP2H=(65536-500)/256;
- TL2=RCAP2L=(65536-500)%256;
- ET2=1;
- EA=1;
- TR2=1;
- TMOD=0x21; //T0初始化,控制電機 t1初始話timer 1, mode 2, 8-bit 重裝
- ET0=1;
- dir=0;
- cp=1;
- SCON = 0x50; // 串口初始化,SCON: 模式 1, 8-bit UART, 使能接收
- TH1 = 0xFD; // TH1: 重裝值 9600 波特率 晶振 11.0592MHz
- TR1 = 1; // TR1: timer 1 打開
- ES = 1;
-
-
- while(1){
-
- ADC_change(0);
- LCD_buffer[0][8]=dat/100+'0';
- LCD_buffer[0][10]=dat/10%10+'0';
- LCD_buffer[0][11]=dat%10+'0';
- LCD_display(0x00,LCD_buffer[0]);
- delay(10);
- if(lanya=='0'){
- TR0=0;
- spk=0;
- }
-
- else if(lanya=='3'){
- if(dat>200){
- speed=1000;
- TH0=(65536-speed)/256;
- TL0=(65536-speed)%256;
- TR0=1;
- LCD_display(0x40,LCD_buffer[2]);
- spk=1;
- }
- else if(dat<=200){
- TR0=0;
- LCD_display(0x40,LCD_buffer[1]);
- spk=0;
- }
- }
- else if(lanya=='1'){
- speed=500;
- TR0=1;
- spk=0;
- }
- else if(lanya=='2'){
- speed=50;
- TR0=1;
- spk=0;
- }
- }
- }
- void timer2() interrupt 5
- { TF2=0;
- led=~led;
-
- }
- void timer0() interrupt 1
- {
- TH0=(65536-speed)/256;
- TL0=(65536-speed)%256;
- cp=~cp;
-
- }
- void UART_SER (void) interrupt 4 //串行中斷服務程序
- {
- unsigned char Temp; //定義臨時變量
-
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
用ADC0832設計的兩路電壓表.rar
(94.73 KB, 下載次數: 123)
2018-6-26 12:23 上傳
點擊文件名下載附件
|