单片机源程序:
/**********************BST-V51实验开发板例程************************
* 平台:BST-V51 + Keil U3 + STC89C52
* 名称:四路AD数值LCD1602屏显示
* 公司:深圳市亚博软件开发有限公司
* 晶振:11.0592MHZ
******************************************************************/
/*-----------------------------------------------
名称:IIC协议 PCF8591ADDA转换 显示有4个,注意只有2个可以调节电压的
内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压通过液晶显示,并输出模拟量,用LED亮度渐变指示
------------------------------------------------*/
#include #include #include "LCD1602.h" #include "IIC.h" #include "stdio.h" unsigned char TempData[8]; unsigned char showtext[12]; /*------------------------------------------------ 延时程序 ------------------------------------------------*/ void mDelay(unsigned char j) { unsigned int i; for(;j>0;j--) { for(i=0;i<125;i++); } } /*------------------------------------------------ 初始化定时器1 ------------------------------------------------*/ void Init_Timer1(void) { TMOD |= 0x10; TH1=0xff; /* Init value */ TL1=0x00; EA=1; /* interupt enable */ ET1=1; /* enable timer1 interrupt */ TR1=1; } /*------------------------------------------------ 主程序 ------------------------------------------------*/ void main() { //unsigned char num; //DA数模输出变量 float ADtemp; //定义中间变量 LCD1602_init(); mDelay(20); Init_Timer1(); LCD_Write_String(0,0,"rank:"); //在第一行显示 while(1) { mDelay(20); //延时用于清晰看出变化 if(ADFlag) //定时采集输入模拟量 { ADFlag=0; ADtemp = ReadADC(0)*(5.0/256); // TempData[0]=(unsigned int)(ReadADC(0))*(5/256);//处理0通道电压显示 // TempData[1]=(unsigned int)(ReadADC(0))*50/256%10; // TempData[2]=(unsigned int)(ReadADC(0))*500/256%10; sprintf(showtext,"%1.2fV",ADtemp); LCD_Write_String(5,0,showtext); // LCD_Write_Char(5,0,TempData[0] + '0'); // LCD_Write_Char(6,0,'.'); // LCD_Write_Char(7,0,TempData[1] + '0'); // LCD_Write_Char(8,0,TempData[2] + '0'); // LCD_Write_Char(9,0,'V'); } } } /*------------------------------------------------ 定时器中断程序 ------------------------------------------------*/ void Timer1_isr(void) interrupt 3 using 1//定时器1执行数码管动态扫描 { static unsigned int j; TH1=0xfb; //重新赋值 TL1=0x00; j++; if(j==200) {j=0;ADFlag=1;} //定时置位AD采样标志位 ……………………
上一篇:51单片机6自由度机械臂调试程序,带LCD1602PWM显示
下一篇:单片机恒温控制系统程序和仿真
推荐阅读最新更新时间:2024-11-16 22:07
设计资源 培训 开发板 精华推荐
- OP413ESZ 仅 5V 18 位立体声运算放大器 DAC 的典型应用
- Oryx 板、LPCXpresso 板演示了包含 LPC11U14 ARM Cortex-M0 MCU 的低功耗设计
- 采用 LTC3402 的 2 节电池至 3V/1A 升压转换器
- esp8266+pca9685的32路舵机扩展板
- DC1545A-B,使用 LT5578 上变频混频器的演示板,IF=140MHz,RF=900MHz (LS LO)
- LTC2758 的典型应用 - 双路串行 18 位 SoftSpan IOUT DAC
- 直流无感无刷电机驱动板
- LT8609HMSE 3.3V/2A 降压型稳压器的典型应用电路
- STEVAL-TSP009V2、3.3V/6A 同步反激转换器、以太网供电 (PoE) - 符合 IEEE 802.3at 的参考设计
- 【训练营】传智教育Hi3861 蹬腿的狗