91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 1 次
    發布日期: 2021-05-24
  • 語言: 其他
  • 標簽: C51??

資源簡介

51單片機血壓計程序,stc89c52,程序,計數,便于放氣速度設置,由D/A輸出來控制放氣速度

資源截圖

代碼片段和文件信息

#include?
#include?
#define??DAC_1????XBYTE[0x2000]
#define??DAC_2????XBYTE[0x4000]??
#define??ADC_0????XBYTE[0x6000]
#define??ADC_1????XBYTE[0x6001]
#define??ADC_2????XBYTE[0x6002]
#define??ADC_3????XBYTE[0x6003]
#define??ADC_4????XBYTE[0x6004]
#define??ADC_5????XBYTE[0x6005]
#define??ADC_6????XBYTE[0x6006]
#define??ADC_7????XBYTE[0x6007]
unsigned?char????????dspbuf[4]={0xef0xef0xef0xef}sel=0key_sta=0key_num;
unsigned?int?????????adcount=0;
sbit?D_SER=?P1^0;
sbit?D_SRCLK=?P1^1;
sbit?D_RCLK=?P1^2;
sbit?KEY1=?P3^4;
sbit?KEY2=?P3^5;//定時器初始化:
void?init_timer0(void)?
??{
??TMOD?=0X22;?????????//定時器0以方式2(自動重新裝載8位計數器)自動計數
??TL0?=?0X06;
??TH0?=?0X06;?????????????????//至初始值為6,每0.25ms進入一次中斷
??TL1?=?0Xe8;
??TH1?=?0Xe8;
??TR0?=?1;
??TR1?=?1;
??ET0?=?1;
}
//中斷設置:
void?init_special_interrupts(void)?
??{??
??EX0?=?0;
??ET0?=?1;
??EX1?=?0;
??ET1?=?0;
??ES??=?1;
??EA??=?1;
??PT0?=?0;
??PX1?=?1;
PS??=?0;
SCON=0x50;???//串行口方式1工作
}
//數碼管顯示:
void?dsptask()
??{
??unsigned?char?i;
??unsigned?char?ab;
??switch(sel)
???{
???case?0:?a=0x01;??break;
???case?1:?a=0x02;??break;
???case?2:?a=0x04;??break;
???default:?a=0x08;
???}
for(b=0x80i=0;i<8;i++)
????{
????if(a&b)??D_SER=1;
????else?????D_SER=0;
????D_SRCLK=0;
????D_SRCLK=1;
????D_SRCLK=0;
????b=b>>1;?b=b&0x7f;
????}
??a=dspbuf[sel];
??key_num=sel;
??sel++;
??if(sel>=4)?sel=0;
??for(b=0x80i=0;i<8;i++)
????{
????if(a&b)??D_SER=1;
????else?????D_SER=0;
????D_SRCLK=0;
????D_SRCLK=1;
????D_SRCLK=0;
????b=b>>1;??b=b&0x7fff;
????}
??D_RCLK=0;
??D_RCLK=1;
??D_RCLK=0;
??}
//鍵盤掃描:????????????????????????//鍵盤值為1~8
void?key_service()
??{
??if(key_sta&0x01)?return;?????????????//?key_sta.0=1
???if(KEY2)
???{
????key_num=key_num+1;????????????????????
key_sta=key_sta|0x01;??????????????//?置key_sta.0=1
}
???else?if(KEY1)
???????{
???????key_num=key_num+5;???
??????????key_sta=key_sta|0x01;????????//?置key_sta.0=1
???????}
??}//定時器0中斷處理:
void?timer_isr()?interrupt?1??{
??EA=0;
??adcount++;????????????????????????//計數,便于放氣速度設置
??key_service();??????????????????????//鍵盤掃描
??EA=1;
??}
//掃描字顯示轉化:
fdisp(unsigned?char?nunsigned?char?m)??????//將需要顯示的數轉化成相應的顯示碼
??{
??char??c;
???switch(n)
????{
????case?0:??c=0x11;??break;
????case?1:??c=0x7d;??break;
????case?2:??c=0x23;??break;
????case?3:??c=0x29;??break;
????case?4:??c=0x4d;??break;
????case?5:??c=0x89;??break;
????case?6:??c=0x81;??break;
????case?7:??c=0x3d;??break;
????case?8:??c=0x01;??break;
????default:?c=0x09;?
????}
???dspbuf[m]=c;
??}
//主函數:
void?main(void)?
{
float?m

評論

共有 條評論