找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5259|回复: 0
打印 上一主题 下一主题
收起左侧

两无符号整形变量相乘其积存于无符号字符变量

[复制链接]
跳转到指定楼层
楼主
ID:21009 发表于 2010-1-12 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <REG51.H>//两无符号整型变量相乘积存于无符号字符变量在左侧三位数码管显示实验。    
unsigned char code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//定义0-9共阳极数码管段码。
//********************************
void delay(unsigned int k)//定义延时函数K为无符号整形变量。 
{    
unsigned int i,j;//定义两个无符号整型变量i,j.  
for(i=0;i<k;i++){ 
for(j=0;j<121;j++)//两个带嵌套的for循环函数。  
{;}}    
}    
//********************************
void main(void) //声明主函数。  
{ unsigned int x=20;//声明x=20为无符号整形变量。 
 unsigned int y=11;//声明y=11为无符号整形变量 
 unsigned char z;//声明z为无符号字符变量 
 z=( unsigned char)(x*y);//两无符号整形变量x,y相乘,其积存于z并制转换为无符号字符变量以节省存储空间。
 while(1)//while 循环语句开始,这里进行无限循环。 
 {  //while 循环语句开始。 
 P1= SEG7[z/100];//取Z的百位数字段码送P1口显示。 
 P2=0xfe;//百位数位码。   
 delay(1);//调用延时子函数模块,维持点亮时间,便于观察。   
 P1= SEG7[(z%100)/10];//取Z的十位数字段码送P1口显示。   
 P2=0xfd;//十位数位码。    
 delay(1);// 调用延时子函数模块,维持点亮时间,便于观察。    
 P1= SEG7[z%10]; //取Z的个位数字段码送P1口显示。 
  
 P2=0xfb;//十位数位码。     
 delay(1);//调用延时子函数模块,维持点亮时间,便于观察。    
 }//while循环语句结束。     
}//主函数结束。       

这个实验程序出此《手把手教你学单片机C语言》这本书第六章,根据我的实验板情况与原程序有所改动。

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表