发布时间 : 星期二 文章简易电阻、电容和电感测试仪设计_毕业设计论文更新完毕开始阅读
void led_init() {
lcden=0;
write_com(0x38); //设置16×2显示,5×7点阵,8位数据接口 write_com(0x0c); //设置开显示,不显示光标 write_com(0x06); //写一个字符后地址指针加1 write_com(0x01); //显示清0,数据指针清0 write_com(0x80); //显示欢迎界面 for(num=0;num<8;num++) { write_data(table1[num]); delayms(5); } }
//定时器0初始化函数 void t_init() {
TMOD=0x01; //设置定时器0工作方式1(M1M0=0x0001) TH0=0; //装初值 TL0=0; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 }
//键盘检测函数(确定被测元件为电阻、电容或电感) void keyscan() {
if(key_R==0) { delayms(10); if(key_R==0) a=1; } else
if(key_C==0) { delayms(10); if(key_C==0) a=2; }
else
if(key_L==0) { delayms(10); if(key_L==0) a=3; } else while(key_R&&key_C&&key_L); }
//频率显示函数
void display_f(ulong f) {
uchar count=0; ulong f0; f0=f; while(f) { f=f/10; count++; }
for(num=5+count;num>5;num--) {
table2[num]=f0+48; f0=f0/10; }
write_com(0x80);
for(num=0;num<6+count;num++) { write_data(table2[num]); delayms(5); } }
//电阻显示函数
void display_R(ulong R) {
uchar count=0; ulong R0; R0=R; while(R) { R=R/10;
//按键按下时退出死循环
count++; }
for(num=6+count;num>6;num--) {
table3[num]=R0+48; R0=R0/10; }
write_com(0x80+0x40);
for(num=0;num<7+count;num++) { write_data(table3[num]); delayms(5); } }
//电容显示函数
void display_C(uint C) {
uchar count=0; uint C0; C0=C; while(C) { C=C/10; count++; }
for(num=5+count;num>5;num--) {
table4[num]=C0+48; C0=C0/10; }
write_com(0x80+0x40);
for(num=0;num<6+count;num++) { write_data(table4[num]); delayms(5); } }
//电感显示函数
void display_L(uint L) {
uchar count=0; uint L0;
L0=L; while(L) { L=L/10; count++; }
for(num=5+count;num>5;num--) {
table5[num]=L0+48; L0=L0/10; }
write_com(0x80+0x40);
for(num=0;num<6+count;num++) { write_data(table5[num]); delayms(5); } }