单片机数字表c语言程序设计,基于单片机的数字压表设计c语言.doc

基于单片机的数字压表设计c语言,单片机数字电压表,单片机数字电压表设计,基于单片机数字电压表,单片机数字电压表程序,简易数字电压表单片机,单片机c语言,单片机c语言教程,南通单片机c语言培训,pic单片机c语言教程

#include #include

sbit st P2^4;

sbit eoc P3^7;

sbit oe P2^5;

sbit ale P2^3;

sbit key1 P3^6;

sbit key2 P3^5;

unsigned char

seg_code[] 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 ; unsigned char seg_ale[] 0xf8,0xf9,0xfa,0xfb ; unsigned char num[4]; /************延时函数**********************/

void delay_us unsigned int delayus while delayus-- ; void delay_ms unsigned int delaytime unsigned int i;

unsigned char j;

for i 0;i delaytime;i++ for j 0;j 110;j++ ; /********************************************/

/************ADC转换函数*********************/

void adc_convert void double temp1;

unsigned int temp2,temp3;

st 0;

_nop_ ; st 1;

_nop_ ; st 0;

oe 0;

while eoc 0 ; oe 1;

_nop_ ;

temp1 P0;

_nop_ ; temp1* 492; //基准电压 4.9 V

temp1/ 255;

temp2 unsigned int temp1%1000;

num[2] unsigned char temp2/100 ;

temp3 unsigned int temp2%100;

num[1] unsigned char temp3/10 ;

num[0] temp3%10;

delay_us 1 ;

oe 0; /*******************************************/

/**************显示函数*********************/

void dis void unsigned char i,b;

b 0x01;

for i 0;i 4;i++ if i 2 P1 seg_code[num[i]]&0x7f; else if i 3 P1 seg_code[num[i]]&0x7f;

else P1 seg_code[num[i]]; P3 ~b;

b 1;

delay_ms 5 ; /*******************************************/

/****************主函数*********************/

void main void unsigned char i,automatic; unsigned char keynum; int j; for i 0;i 4;i++ num[i] 0; keynum 0; for ;; /**************按键扫描******************************/ if key1 0 delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; if key1 0 if keynum 3 keynum++; else keynum 0; if key2 0 //自动加按键 delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; delay_ms 1 ; dis ; if key2 0 if automatic 0 automatic 1; else automatic 0; /***********************************************/

/****************开启四通道自动切换*************/ if automatic 1 if keynum 3 ale 1; _no

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值