C51函數(shù)基礎(chǔ)編程
1.編寫一C51函數(shù),把從鍵盤輸入的5位十進(jìn)制數(shù)數(shù)轉(zhuǎn)換成一個(gè)無符號(hào)整型數(shù)(假設(shè)未超出整型數(shù)范圍)。設(shè)從鍵盤輸入的數(shù)存放在一無符號(hào)數(shù)組中,低位數(shù)為低下標(biāo)元素。
unsigned char data key_buffer[5];unsigned int trans_int(void){ unsigned char data i; unsigned int data temp=0; for(i=0;i<5;i++) { temp=temp*10+key_buffer[i]-0x30; } return temp;} 2.編寫一C51函數(shù),把一整型數(shù)按十進(jìn)制數(shù)將其各位分離,分離后放在一無符號(hào)數(shù)組中,便于顯示。要求把低位數(shù)作為低下標(biāo)元素。unsigned char data shu[5];void main(unsigned int x){unsigned int temp;unsigned char i;for(i=0;i<4;i++){ shu[i]=temp%10; temp=temp/10;}shu[4]=temp;} 3.編寫一C51函數(shù),使用專用指針,把片外數(shù)據(jù)存儲(chǔ)器中從0x100開始的30個(gè)字節(jié)數(shù)據(jù),傳送到片內(nèi)從0x40開始的區(qū)域中。void main(){ unsigned char data i,*dpt; unsigned char xdata *xdpt; dpt=0x40; xdpt=0x100; for(i=0;i<30;i++) *(dpt+i)=*(xdpt+i);} 4.編寫一C51程序,實(shí)現(xiàn)從P1口輸出產(chǎn)生的流水燈,要求用匯編語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)據(jù)左移或右移。#pragma src#include <at89x52.h>void main(){ unsigned char temp,i; while(1) {temp=0x55;P1=temp;delay();#pragma asmMOV A,tempRR AMOV temp,A#pragma endasmP1=temp;delay();}}編輯:admin 最后修改時(shí)間:2018-05-19