freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的多功能數(shù)字頻率計的設(shè)計-資料下載頁

2025-06-20 12:36本頁面
  

【正文】 錄二 include include include define uchar unsigned char define uint unsigned int define ulong unsigned long uchar i,j,k。 unsigned long num,num3,num1,num2。 sbit E=P2^7。 sbit RW=P2^6。 sbit RS=P2^5。 sbit int1=P3^3。 //定義管腳功能 sbit cs=P3^2。 //使能端 sbit wr=P3^6。 //寫端口 sbit rd=P3^7。 //讀端口 uchar freq[10],vol[7]。 //分別存放頻率和電壓 uchar code tabe[]= frequency:。 uchar code tabe1[]= V_MAX:。 uchar code tabe2[]= be in testing。 //延遲 void delay() { int i,j。 for(i=0。 i=10。 i++) for(j=0。 j=10。 j++) 。 } //延遲2 void delay2(uchar dit) { for(i=dit。i0。i) for(j=0。j100。j++)。 } //lcd寫命令 void write_(uchar del) { P1 = del。 RS = 0。 RW = 0。 E = 0。 delay()。 E = 1。 delay()。 } //寫數(shù)據(jù) void write_date(uchar del) { P1 = del。 RS = 1。 RW = 0。 E = 0。 delay()。 E = 1。 delay()。 } //lcd初始化 void L1602_init() { write_(0x01)。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0xd0)。 } //定時器初始化 void time_init() { ET0=1。 TL0=0XB0。 TH0=0X3C。 TR0=0。 } //定時器0中斷 void time_int0() interrupt 1 { k+=1。 TL0=0XB0。 TH0=0X3C。 } //計數(shù)器1初始化 void time_init1() { ET1=1。 TH1=0X00。 TL1=0X00。 TR1=0。 } //計數(shù)器只能中斷入口 void time_int1() interrupt 3 { num3+=1。 } //LCD顯示部分 void display(uchar add,uchar *p) { write_(add)。 //先寫地址 while(1) { if(*p==39。\039。) break。 write_date(*p)。 p++。 } } //AD轉(zhuǎn)換采樣并輸出結(jié)果 unsigned char adc0804( void ) //讀AD0804子程序 { unsigned char addata,i。 rd=1。wr=1。int1=1。 //讀ADC0804 前準備 P0=0xff。 //P1全部置一準備 cs=0。wr=0。wr=1。 //啟動ADC0804開始測電壓 while(int1==1)。 //查詢等待A/D轉(zhuǎn)換完畢產(chǎn)生的INT(低電平有效)信號 rd=0。 //開始讀轉(zhuǎn)換后數(shù)據(jù) i=i。 i=i。 //無意義語句,用于延時等待ADC0804 讀數(shù)完畢 addata=P0。 //讀出的數(shù)據(jù)賦與addate rd=1。cs=1。 //讀數(shù)完畢 return(addata)。 //返回最后讀出的數(shù)據(jù) } unsigned int datpro(void)//ADC0804 讀出的數(shù)據(jù)處理 { unsigned char x。 unsigned int dianyah,dianyal。 //用于存儲讀出數(shù)據(jù)的高字節(jié)和低字節(jié) unsigned int dianya=0 。//存儲最后處理完的結(jié)果 注意數(shù)據(jù)類型 for(x=0。x10。x++) //將 10次測得的結(jié)果存儲在dianya中 {dianya=adc0804()+dianya。 } dianya=dianya/10。 //求平均值 dianyah=dianyaamp。0xf0。 //屏蔽低四位 dianyah=dianyah4。 //右移四位 取出高四位 dianyal=dianyaamp。0x0f。 //屏蔽高四位 取出低四位 dianya=dianyal*20+dianyah*320。 //最后的結(jié)果是一個四位數(shù),便于顯示 for(i=0。i=3。i++) { vol[i]=dianya/pow(10,(3i))。 dianya=vol[i]*pow(10,(3i))。 } for(i=0。i4。i++) { vol[i]+=0x30。 } vol[4]=vol[3]。 vol[3]=vol[2]。 vol[2]=vol[1]。 vol[1]=39。.39。 vol[5]=39。V39。 write_(0x01)。 //清屏一次 display(0x81,tabe1)。 display(0xc5,vol)。//返回最后處理結(jié)果 return vol。} //1s計數(shù)結(jié)果 ************** void total_num() { k=0。num=num3*65536+num2*256+num1。 //總的脈沖數(shù) for(j=0。j=5。j++) { freq[j]=num/pow(10,(5j))。 num=freq[j]*pow(10,(5j))。}for(j=0。j=5。j++)freq[j]+=0x30。 //轉(zhuǎn)換為ASSICA碼 for(i=6。i3。i) freq[i]=freq[i1]。 freq[3]=39。,39。 。 freq[7]=39。H39。 freq[8]=39。Z39。 display(0x81,tabe)。 display(0xC3,freq)。 //顯示頻率值 TH1=0X00。 TL1=0X00。 TR0=1。 TR1=1。 } /*主函數(shù)***********************************************************************/ main() { k=0。 num1=0。 num2=0。 num3=0。 EA=1。 TMOD=0X51。 time_init()。 time_init1()。L1602_init()。 display(0x81,tabe2)。 _nop_()。 datpro()。 //調(diào)用AD轉(zhuǎn)換求最幅值 //頻率測量 while(1) { TR0=1。 TR1=1。 while(k=19) {_nop_()。} num1=TL1。 num2=TH1。 TR0=0。 //1S時間中斷則停止計數(shù) TR1=0。 total_num()。 }
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1