熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
樓樓的代碼運(yùn)行不了 |
我是萌新 |
#include <reg51.h> #include <main.h> #include <ad.h> #include <intrins.h> #include <stdio.h> sbit LED1=P1^6; //測(cè)試燈 #define AddWr 0x90 //寫數(shù)據(jù)地址 #define AddRd 0x91 //讀數(shù)據(jù)地址 extern bit ack; unsigned char ReadADC(unsigned char Chl); bit WriteDAC(unsigned char dat); u8 SEG[4]; u8 test_flag=0; code u8 display_duan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; //定義段碼 code u8 display_wei[4]={0x70,0xB0,0xC0,0xE0}; //定義位碼 //1ms定時(shí)中斷 void Time1_Init() { TMOD = 0X10; TH1 = 0XFC; TL1 = 0X18; TR1 = 1; ET1 = 1; EA = 1; } //純延時(shí) void Delay_ms(u16 i) { u8 j; for(;i >0;i--) { for(j=0;j < 110;j++); } } //數(shù)碼管顯示 void Shu_dispaly(u8 wei,u8 duan) { P2=display_wei[wei]; P0=display_duan[duan]; if(wei==3) { P0=P0|0x80; } } void main() { u8 num,i; float Voltage_temp; //定義浮點(diǎn)變量 u16 Voltage; Time1_Init(); LED1=0; Delay_ms(20); while(1) { if(test_flag)//1S讀取一次 { test_flag=0; for(i=0;i<5;i++) //連續(xù)讀5次,取最后一次,以便讀取穩(wěn)定值 num=ReadADC(0); //讀取第1路電壓值,范圍是0-255 Voltage_temp=(float)num*5/256; //根據(jù)參考電源VREF算出時(shí)間電壓,float是強(qiáng)制轉(zhuǎn)換符號(hào),用于將結(jié)果轉(zhuǎn)換成浮點(diǎn)型 Voltage=Voltage_temp*1000; } SEG[0]=Voltage%10; //個(gè)位 SEG[1]=Voltage/10%10;//十位 SEG[2]=Voltage/100%10;//百位 SEG[3]=Voltage/1000%10;//千位 for(i=0;i<4;i++) { Shu_dispaly(i,SEG[i]); Delay_ms(10); } } } //中斷入口:1S void interrupt_time_1() interrupt 3 { static u16 Counter=0; TH1 = 0XFC; TL1 = 0X18; Counter++; if(Counter==1000) { LED1=~LED1; Counter=0; if(test_flag==0) { test_flag=1; } } } //ADC值讀取 unsigned char ReadADC(unsigned char Chl) { unsigned char Val; Start_I2c(); //啟動(dòng)總線 SendByte(AddWr); //發(fā)送器件地址 if(ack==0)return(0); SendByte(0x40|Chl); //發(fā)送器件子地址 if(ack==0)return(0); Start_I2c(); SendByte(AddWr+1); //1001 0001 是讀命令 if(ack==0)return(0); Val=RcvByte(); NoAck_I2c(); //發(fā)送非應(yīng)位 Stop_I2c(); //結(jié)束總線 return(Val); } |
Powered by 單片機(jī)教程網(wǎng)