日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

AD-DA——51

發布時間:2025/1/21 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AD-DA——51 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#define ERR 1 #define SUCC 0bit ack = 0; //bit定義的變量僅有0和1void iic_start() {SDA = 1;SCL = 1;delay_us(1);SDA = 0;delay_us(1);SCL = 0; //鉗住總線 }void iic_stop() {SDA = 0;SCL = 1;delay_us(1);SDA = 1;delay_us(1);SCL = 0; }bit iic_send_byte(unsigned char byte) {unsigned char i ;for(i = 0; i < 8; i++){SDA = byte & 0x80; //非0值,SDA = 1; 0,SDA = 0;SCL = 1;delay_us(1);SCL = 0;byte <<= 1;}SCL = 1;SDA = 1;delay_us(1);if(0 == SDA){ack = 1;}else{ack = 0;}SCL = 0;return 0; }unsigned char iic_rec_byte() {unsigned char i;unsigned char temp = 0;unsigned char a;SDA = 1;for(i = 0; i < 8; i++){SCL = 0;delay_us(1);SCL = 1;if(SDA){a = 0x01;}else{a = 0;}temp |= (a << (7 - i));delay_us(1);}SCL = 0;return temp; }void iic_ack() {SDA = 0;SCL = 1;delay_us(1);SCL = 0; }void iic_noack() {SDA = 1;SCL = 1;delay_us(1);SCL = 0; }unsigned char DA_write(unsigned char num) {iic_start();iic_send_byte(0x90);if(0 == ack) return ERR;iic_send_byte(0x40);if(0 == ack) return ERR;iic_send_byte(num);if(0 == ack) return ERR;iic_stop();return SUCC; }unsigned char AD_Read() {unsigned char temp;iic_start();iic_send_byte(0x90);if(0 == ack) return ERR;iic_send_byte(0x40);if(0 == ack) return ERR;iic_start();iic_send_byte(0x90 + 1);if(0 == ack) return ERR;temp = iic_rec_byte();iic_noack();iic_stop();return temp; }void DA_light() {unsigned char num = 0;DA_write(num);num++; }void AD_per_electric() {unsigned char temp = 0;delay_ms(20);temp = AD_Read();lcd_write_byte(0,0,temp * 100 / 255 * 5 / 100 % 10 + 0x30);lcd_write_byte(1,0,'.');lcd_write_byte(2,0,temp * 100 / 255 * 5 / 10 % 10 + 0x30);lcd_write_byte(3,0,temp * 100 / 255 * 5 / 1 % 10 + 0x30);lcd_write_byte(4,0,'V');if(255 == temp){lcd_write_byte(1,1,temp * 100 / 255 / 100 % 10 + 0x30);}else{lcd_write(0x48,LCD_WRITE_COM);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x80 + 1,LCD_WRITE_COM);lcd_write(0x1,LCD_WRITE_DATA); }if((0 == temp * 100 / 255 / 100 % 10) && (0 == temp * 100 / 255 / 10 % 10)){ lcd_write(0x50,LCD_WRITE_COM);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x0,LCD_WRITE_DATA);lcd_write(0x80 + 2,LCD_WRITE_COM);lcd_write(0x2,LCD_WRITE_DATA); }else{lcd_write_byte(2,1,temp * 100 / 255 / 10 % 10 + 0x30);}lcd_write_byte(3,1,temp * 100 / 255 / 1 % 10 + 0x30);lcd_write_byte(4,1,'%');lcd_dis_electric(); }

總結

以上是生活随笔為你收集整理的AD-DA——51的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。