完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 咕叽咕叽025 于 2014-5-9 18:58 编辑
项目功能是利用LCD1602同时显示幅值和频率,目前这段程序编译通过,加载hex文件后,频率显示正常可变化,但幅值显示一直为0,请问怎么回事,都看了一天了还是没有结果,烦啊,求指教啊!以下附上编译通过的程序和仿真图: |
|
相关推荐
6个回答
|
|
本帖最后由 咕叽咕叽025 于 2014-5-9 19:08 编辑 现附上程序,求查错:#include #include <1602_Drive.h> /****************************************************************** * 定义接口: LCD1602的D0~D7接P0口 * 液晶显示器的接口“1602_Drive.h”库函数中已经定义 * 定义待测方波频率的接口: * P3^5(T0口)做时钟输入接口; ******************************************************************/ //用测量脉冲次数的方法时定义的定时1s的参数 #define THCLK 0x3c #define TLCLK 0xb0 #define CntNum 20 //定义中间变量 unsigned int Cnt; unsigned int tmp; unsigned char outcnt[8]; unsigned char table[]="U=0.000V"; unsigned int dat; ***it OE = P1^0; ***it EOC = P1^1; ***it ST = P1^2; ***it P23 = P2^3; ***it P24 = P2^4; ***it P25 = P2^5; ***it P26 = P2^6; ***it P27 = P2^7; ***it P30 = P3^0; ***it P31 = P3^1; ***it P32 = P3^2; //将测量的整数装换为标准有效的字符串 void NumToChar(void) { unsigned char i; outcnt[0]=tmp/10000+48;tmp%=10000; outcnt[1]=tmp/1000+48;tmp%=1000; outcnt[2]=tmp/100+48;tmp%=100; outcnt[3]=tmp/10+48;tmp%=10; outcnt[4]=tmp+48; outcnt[5]='H'; outcnt[6]='z'; outcnt[7]=' |