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

正文內(nèi)容

at89s52單片機(jī)計(jì)算器設(shè)計(jì)(參考版)

2024-10-28 19:21本頁(yè)面
  

【正文】 } } } } } 。//輸出數(shù)據(jù) i++。//輸出數(shù)據(jù) } } else { temp[k]=num。 } //這里沒(méi)有判斷連續(xù)按小數(shù)點(diǎn),如 else { temp[0]=num。 LCD_Write_Char(1,2,num)。) //如果是小數(shù)點(diǎn)則正常輸入,光標(biāo)位置加 1 { temp[1]=39。) )//如果第一個(gè)字符是 0,判讀第二個(gè)字符 { if(num==39。 (temp[0]==39。 } else if(i20) { if((1==i)amp。s20。a=b=0。 LCD_Write_String(0,3,temp)。 } sprintf(temp,%g,a)。 break。/39。 break。*39。 break。39。 break。+39。 k=0。 firstflag=0。 } else { sscanf(temp,%f,amp。 if(firstflag==0) { sscanf(temp,%f,amp。=39。 //如果不是等號(hào)記下標(biāo)志位 34 k=0。 LCD_Write_Char(i++,2,num)。s20。 firstflag=0。 } else { sscanf(temp,%f,amp。a)。==num) )//輸入數(shù)字最大值 20,輸入符號(hào)表示輸入結(jié)束 { //i=0。==num)|| (39。==num) || (39。==num)|| (i==20) || (39。 } else if((39。 //寫入第二行信息,顯示學(xué)號(hào),主循環(huán)中不再更改此信息,所以在 while 之前寫入 i=0。 LCD_Write_String(0,0, XM:Ren Yandong)。C39。 //寫入第一行信息,顯示姓名,主循環(huán)中不再更改此信息,所以在 while 之前寫入 LCD_Write_String(0,1, XH:0700030128)。 //掃描鍵盤 if(num!=0xff) //如果掃描是按鍵有效值則進(jìn)行處理 { if(i==0) //輸入是第一個(gè)字符的時(shí)候需要把改行清空,方便觀看 { LCD_Clear()。 33 LCD_Write_String(0,3,TM:Danpianjijisuanqi)。 //寫入第一行信息,顯示姓名,主循環(huán)中不再更改此信息,所以在 while 之前寫入 LCD_Write_String(0,1,XH:0700030128)。 //延時(shí)用于穩(wěn)定,可以去掉 LCD_Clear()。 LCD_Init()。 float a=0,b=0。 unsigned char temp[20]=0。break。break。//4 case 0xe7:return 39。439。break。//C case 0xed:return 39。C39。break。//5 32 case 0xd7:return 39。539。break。//0 case 0xdd:return 39。039。break。//6 case 0xb7:return 39。639。break。//= case 0xbd:return 39。=39。break。// case 0x77:return 39。39。break。/// 按下相應(yīng)的鍵顯示相對(duì)應(yīng)的碼值 case 0x7d:return 39。/39。//鍵盤最后組合碼值 } }return(0xff)。0xf0)!=0xf0)。0xf0。 //讀入列線值 KeyPort=cord_h|0xf0。0x0f)!=0x0f) { cord_h=KeyPortamp。 //讀入列線值 if(cord_h!=0x0f) //先檢測(cè)有無(wú)按鍵按下 { DelayMs(10)。 //行線輸出全為 0 cord_h=KeyPortamp。 } } /* 名稱:計(jì)算器矩陣鍵盤 編寫: ryd8299 日期: 修改:無(wú) 內(nèi)容: 44 矩陣鍵盤 */ include //包含頭文件 include include define KeyPort P2 /*按鍵掃描函數(shù),返回掃描鍵值 */ unsigned char KeyScan(void) //鍵盤掃描函數(shù),使用行列反轉(zhuǎn)掃描法 31 { unsigned char cord_h,cord_l。 } /* mS 延時(shí)函數(shù) ,含有輸入?yún)?shù) unsigned char t,無(wú)返回值 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是 0~255 這里使用晶振 12M,精確延時(shí)請(qǐng)使用匯編 */ void DelayMs(unsigned char t) { while(t) { //大致延時(shí) 1mS DelayUs2x(245)。 LCD_Write_Com(0x0C)。 /*顯示清屏 */ LCD_Write_Com(0x06)。 LCD_Write_Com(0x08)。 DelayMs(5)。 DelayMs(5)。 /*顯示模式設(shè)置 */ DelayMs(5)。 } LCD_Write_Data( Data)。 } else if(y==2) { LCD_Write_Com(0x80+0x14+x)。 } } /*寫入字符函數(shù) */ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) 29 { LCD_Write_Com(0x80 + x)。 s ++。 DelayMs(5)。 EN_CLR。 DataPort= Data。 RW_CLR。 } /*寫入數(shù)據(jù)函數(shù) */ void LCD_Write_Data(unsigned char Data) { while(LCD_Check_Busy())。 _nop_()。 EN_SET。 //忙則等待 RS_CLR。 else return 0。 return (bit)(DataPort amp。 _nop_()。 RW_SET。 define RS_CLR RS=0 define RS_SET RS=1 define RW_CLR RW=0 define RW_SET RW=1 define EN_CLR EN=0 define EN_SET EN=1 define DataPort P0 /*判忙函數(shù) */ bit LCD_Check_Busy(void) { ifdef CHECK_BUSY DataPort= 0xFF。 //定義端口 sbit RW = P3^1。設(shè)計(jì)的關(guān)鍵所在,必須非常熟悉單片機(jī)原理與結(jié)構(gòu)和對(duì)整個(gè)設(shè)計(jì)流程有很好的把握,同時(shí)還要有相當(dāng)?shù)暮附踊A(chǔ),焊接電路板,將單片機(jī)和其他模塊完整的銜接,以實(shí)現(xiàn)軟件和硬件計(jì)算功能。 另外,實(shí)例所設(shè)計(jì)的計(jì)算器是用 LCD1602 液晶顯示器顯示的,當(dāng)然也可以用其他顯示器顯示,如 LED 數(shù)碼管顯示等。允許對(duì)輸入數(shù)進(jìn)行加減乘除運(yùn)算及 LCD 顯示。 軟件調(diào)試常見故障: 在程序中有的函數(shù)名未定義; 在燒錄程序 時(shí), 盡量 少錄入一些字符,如: “; ”、 “{”、 “”等符號(hào),而出現(xiàn)錯(cuò)誤; 22 有一些函數(shù)名錄入時(shí)少寫一個(gè)字母或順序顛倒; 沒(méi)有注意函數(shù)名的調(diào)用及定義; 芯片引腳定義出錯(cuò)而導(dǎo)致沒(méi)有實(shí)驗(yàn)現(xiàn)象。在調(diào)試過(guò)程中要針對(duì)可能出現(xiàn)的故障認(rèn)真分析,直至檢查出原因并排除。電源故障包括電壓值不符合設(shè)計(jì)要求,電源引線和插座不對(duì),功率不足,負(fù)載能力差等。 可靠性差:因其可靠性差的原因很多,如金屬化孔、接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞,經(jīng)不起振動(dòng);走線和布局不合理也會(huì) 引起系統(tǒng)可靠性差。 硬件調(diào)試中易出現(xiàn)的問(wèn)題: 邏輯錯(cuò)誤:它是由設(shè)計(jì)錯(cuò)誤或焊接過(guò)程中的工藝性錯(cuò)誤(假焊,漏焊,短路,開路,線接錯(cuò)等)所造成的。可以按暫停、繼續(xù)、單步、等按鈕,查看效果。將編譯調(diào)試完成的簡(jiǎn)易計(jì)算器機(jī)器碼程序( hex 文件)加載到 AT89S52 單片機(jī)中。 (3)按 “清零 ”鍵清除運(yùn)算結(jié)果,可重新開始。 操作說(shuō)明: (1) 本計(jì)算器實(shí)現(xiàn)數(shù)的加、減、乘、除運(yùn)算。 表 器件庫(kù)及所選器 件 器件庫(kù) 器件名
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1