单片机解密PCF8591简易电压表制作 时间:2026-11-02 来源: 芯片解密 浏览:2次 字号:大 中 小 单片机解密代码:#include<reg52.h> //包含单片机寄存器的头文件#include <intrins.h>#define ulong unsigned long#define uchar unsigned char#define uint unsigned int#define LCD1602_PORT P2 //用LED1602_PORT表示P2总线接口#define PCF8591 0x90 //PCF8591 地址#define NOP() _nop_() /* 定义空指令 */#define _Nop() _nop_() /*定义空指令*/// 位定义sbit SCL=P1^0; //I2C 时钟sbit SDA=P1^1; //I2C 数据sbit LCD1602_RS = P0^5; //定义1602液晶显示屏的数据/命令选择端,数据/命令(H/L)sbit LCD1602_RW = P0^6; //定义1602液晶显示屏的读/写选择端,读/写(H/L)sbit LCD1602_EN = P0^7; //定义1602液晶显示屏的使能端bit ack; /*应答标志位*/// 变量定义uchar AD_CHANNEL;ulong xdata LedOut[8]; //单片机内部存取器ulong v,a,ss;uchar date;// 函数申明extern bit ack; //起动总线函数extern void Start_I2c(); //结束总线函数 extern void Stop_I2c(); //应答子函数extern void Ack_I2c(bit a); //字节数据发送函数extern void SendByte(uchar c); //有子地址发送多字节数据函数 extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) ; //无子地址发送多字节数据函数 extern bit ISendStrExt(uchar sla,uchar *s,uchar no); //无子地址读字节数据函数 extern uchar RcvByte();void LCD1602_delay_ms(uint n);void LCD1602_write_com(uchar com);void LCD1602_write_data(ulong dat);void LCD1602_write_word(uchar *s);void Init_LCD1602();bit ISendByte(uchar sla,uchar c);uchar IRcvByte(uchar sla);//MS延时函数(12M晶振下测试)void delay_ms(uint n) { unsigned int i,j; for(i=0;i<n;i++) for(j=0;j<123;j++);}//写指令void LCD1602_write_com(uchar com){ LCD1602_RS = 0; //1602液晶显示屏的数据/命令选择端置0,数据/命令(H/L),此时选择写命令操作 delay_ms(1); LCD1602_EN = 1; //使能,也就是打开液晶接收数据命令的通道 LCD1602_PORT = com; //把命令送给P2口 delay_ms(1); LCD1602_EN = 0;} 上一篇:IC解密STC8单片机ws2812b驱动程序 下一篇:芯片解密STM8S103F3P6的手表设计