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

正文內(nèi)容

基于單片機(jī)的數(shù)字電壓表-文庫吧

2025-01-03 14:51 本頁面


【正文】 int x,y。 for(x = z。 x 0 。 x) for(y = 110 。 y 0 。 y)。}void dep_key_scan(void) //獨(dú)立鍵盤掃描子函數(shù) { // P1 |= 0x18。 //每次掃描前,先將接鍵盤的引腳口拉高 if(key_1 == 0) //如果檢測到有鍵按下 { delayms(10)。 //延時10ms if(key_1 == 0) //再次判斷是否確實(shí)按下按鍵,進(jìn)行消抖操作。 { flag = ~flag。 } } if(key_2 == 0) //同上,判斷第二個按鍵情況 { delayms(10)。 if(key_2 == 0) { ax++。 } } }void main(void){ LCDInit()。 LCDDispString(2,1,CH voltage)。 LCDDispString(9,2,V)。 TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 TR0=1。 ET0=1。 EA=1。 while(1) { if(ax==8) ax=0。 sel_Ax(ax)。 //選擇通道 ST=0。 ST=1。 ST=0。 while(EOC==0)。 OE=1。 getdata=P2。 //獲取電壓值 cov2V(getdata,ax)。 divite_num(ax)。 OE=0。 dep_key_scan()。 if(count_time = 40) { if(flag == 0 )//輪換顯示 { LCDDispNum(4,1,ax+1)。 LCDDispString(5,2,dispbuf)。 ax++。 } if(flag == 1) { LCDDispNum(4,1,ax+1)。 LCDDispString(5,2,dispbuf)。 } count_time = 0。 } }}void t0(void) interrupt 1 using 0{ TH0=(6553650000)/256。 TL0=(6553650000)%256。 count_time ++。 LCD1602程序代碼如下void DelayN40us(unsigned int n)延時函數(shù),延時40us的整數(shù)倍,傳入值n代表延時,時間到n *40us,不能實(shí)現(xiàn)準(zhǔn)確延時,只能實(shí)現(xiàn)大概時間的延時,利用的是指令實(shí)現(xiàn)延時功能。開始for(i=n。i0。i)for(j=0。j2。j++)。 輸入 unsigned int i。 unsigned char j。 void LCD init (void) 液晶初始化函數(shù),對LCD1602進(jìn)行 初始化操作,在每一次實(shí)用液晶前必須用 到的,外部可調(diào)用函數(shù)。LCD Write Command(0x38)。 設(shè)置8位格式,2行,5x7*LCD Write Command(0x0c) 整體顯示,關(guān)光標(biāo),不閃爍LCD Write Command(0x06) 設(shè)定輸入方式,增量不移位LCD Write Command(0x01) 清除屏幕顯示 DelayN40us(100) 清屏延時 void LCD Write Command(unsigned char dat) 寫命令函數(shù),對LCD1602內(nèi)部寄存器進(jìn) 行操作。LCD_DB=dat。 LCD_RS=0。 選擇寫指令LCD_RW=0 寫入指令值 LCD_E=1 使能LCD1602LCD_E=0 DelayN40us(1) 寫命令延時 void LCD Disp Char(unsigned char x,unsigned char y,unsigned char dat) 在某個屏幕位置上(x,y)位置顯示一個字符, 可外部調(diào)用 unsigned char address。if(y==1) YES NOaddress=0x80+x。 顯示在第一排的時候的x的地址address=0xc0+xLCD Write Command(address)。 顯示在第二排的時候的x的地址 LCD Write Data(dat)。 輸入地址 輸入數(shù)據(jù)void LCD Disp Num (unsigned char x,unsigned char y,unsigned char dat) 在某個屏幕位置上(x,y)位置顯示一個 數(shù)字,可外部調(diào)用unsigned char address。if(y==1) address=0xc0+x。address=0x80+x。 YES NO 顯示在第一排的時候的x的地址 顯示在第二排的時候的x的地 址LCD Write Command(address)。 LCD Write Data(dat+48)。 輸入地址 輸入數(shù)據(jù)void LCD Disp String(unsigned char x,unsigned char y,unsigned char *string) 在屏幕上顯示一串字符,考慮 到我的數(shù)值均存儲于數(shù)組中,為方便而作,允許外部調(diào)用 while(*string != 0) 沒有檢測到字符串結(jié)尾時 LCD Disp Char(x,y,*string++)x++ 逐個顯示字符串 地址+1void LCD Disp Num Int(unsigned char x,unsigned char y,unsigned int dat) 在某個屏幕位置上(x,y)位置顯示一個無符號整形數(shù)字,可外部調(diào)用。 unsigned char temp[5],i = 0,j=0。 分離萬千百十個各個位臨時存儲temp[0] = dat/10000%10。temp[1] = dat/1000%10。temp[2] = dat/100%10。temp[3] = dat/10%10。temp[4] = dat%10。while((temp[i] == 0)amp。amp。(i!=4)) i++ 為保證即使傳入的數(shù)都是0也能顯示,加上i!=4for(j=0。j5i。j++) 依次顯示各個數(shù)基于單片機(jī)的多路電壓采集系統(tǒng)的電路較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出于一處的錯誤,則會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導(dǎo)線,則會對電路造成短路現(xiàn)象。在本基于單片機(jī)的多路電壓采集系統(tǒng)的設(shè)計調(diào)試中遇到了很多的問題?;叵脒@些問題只要認(rèn)真多思考都是可以避免的,以下為主要的問題:一開始的時候把ADC0809的數(shù)據(jù)線接錯了一根導(dǎo)致不能正常的采集數(shù)據(jù),后來修正后便正常工作。單片機(jī)的多路電壓采集系統(tǒng)是多功能的數(shù)字型,所以對于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時出現(xiàn)了相對較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過程中主要遇到的問題如下:1.燒入程序后,LCD液晶
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1