1.编写一C51函数,把从键盘输入的5位十进制数数转换成一个无符号整型数(假设未超出整型数范围)。设从键盘输入的数存放在一无符号数组中,低位数为低下标元素。
unsigned char data key_buffer[5];unsigned int trans_int(void){
unsigned char data i; unsigned int data temp=0; for(i=0;i5;i++) { temp=temp*10+key_buffer[i]-0x30; } return temp;}2.编写一
C51函数,把一整型数按十进制数将其各位分离,分离后放在一无符号数组中,便于显示。要求把低位数作为低下标元素。unsigned char data shu[5];void main(
unsigned int x){unsigned int temp;unsigned char i;for(i=0;i4;i++){
shu[i]=temp%10; temp=temp/10;}shu[4]=temp;}3.编写一
C51函数,使用专用指针,把片外数据存储器中从0x100开始的30个字节数据,传送到片内从0x40开始的区域中。void main(){
unsigned char data i,*dpt; unsigned char xdata *xdpt; dpt=0x40;
xdpt=0x100; for(i=0;i30;i++) *(dpt+i)=*(xdpt+i);}4.编写一
C51程序,实现从P1口输出产生的流水灯,要求用汇编语言函数实现数据左移或右移。#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();}}