89c51c语言程序,89C51单片机计算器C语言程序.doc
89C51单片机计算器C语言程序
89C51单片机【计算器】C语言程序
89C51单片机【计算器】C语言程序2010-12-15 16:54/*89C51单片机【计算器】C语言程序*/
/*P2位选P0段选时钟12MHZ*/
#include reg52.h/*包含的头文件*/
#define uchar unsigned char/*宏定义*/
#define uint unsigned int uchar Led[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};/*数码管段选*/
long float Number={0,0,0,0};/*数码管显示位控制寄存器*/
uchar A={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
long int D={0,0,0,0,0,0,0,0};//数码管显示内容寄存器
uchar code C={0x0,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};/*数码管位选*/
/*列扫描控制LED 1位2位3位4位5位6位7位8位*/
uchar k=16;/*按键对外控制*/
uchar b;/*按键【+】【-】【*】【/】对外的控制*/
long float Out_put;/*定义变量【Out_put】作为结果*/
uchar e=0;/*数字的位存储递进的控制*/
uchar g=0;/*运算方式的控制变量*/
uchar L=0;/*运算方式的控制变量*/
uchar g1=0;/*运算方式的控制变量*/
uchar g2=0;/*运算方式的控制变量*/
uchar g3=0;/*运算方式的控制变量*/
uchar g4=0;/*运算方式的控制变量*/
char j=-1;/*与Number数组连用*/
uchar m=0;/*按键【=】的控制变量*/
uchar n=0;/*按键【.】的控制变量*/
uchar x=0;/*小数点个数的记录变量*/
uchar xo=0;/*控制开始计数小数点的变量*/
long int result;
void Delay(uint o)/*延时函数delay()的定义*/
{
uint i,j;
for(i=0;i o;i++)
{
for(j=0;j 121;j++){;}
}
}
void show(long float Out_put)
{uchar r;
uchar k;
long int q,p;
uchar s=0;
uchar i;
long int temp;
temp=Out_put;
if((Out_put-temp)!=0){result=Out_put*10000;r=4;}
else{result=Out_put;r=0;}
p=result;
if(m==1)
{
if(result 0)
{result=-result;p=result;q=result;for(i=1;i=8;i++){q=q/10;if(q==0){k=i;i=9;}}P0=0x40;P2=C[8-k];Delay(1);}//负号的显示
P0=0x80;P2=C[r];Delay(1);P0=0x00;
result=p;
P0=Led[result%10];P2=C[8];result=result/10;Delay(1);
if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)&&(result%100000==0)&&(result%1000000==0)){P0=0x00;}
else{P0=Led[result%10];P2=C[7];result=result/10;Delay(1);}
if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)&&(result%100000==0)){P0=0x00;}
else{P0=Led[result%10];P2=C[6];result=result/10;Delay(1);}
if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)){P0=0x00;}
else{P0=Led[result%10];P2=C[5];result=result/10;Delay(1);}
if((result%10==0)&&(result%100==0)&&(resu
89c51c语言程序,89C51单片机计算器C语言程序.doc相关推荐
- c51c语言编程的音乐程序,51单片机唱歌C51音乐程序.doc
51单片机唱歌C51音乐程序 51单片机唱歌 C51音乐程序 unsigned char n 0; //n为节拍常数变量 unsigned char code music_tab[] 0x18, 0x ...
- 74hc595点亮点阵式led交通灯灯 c语言程序,89C51单片机C语言用四个74hc595控制四个LED实现交通灯...
89C51单片机C语言用四个74hc595控制四个LED实现交通灯 (2009-05-16 18:52:38) 标签: 教育 #include #define uchar unsigned char ...
- 单片机控制秒表C语言程序,89C51单片机秒表的设计(全文完整版)
<89C51单片机秒表的设计.doc>由会员分享,可免费在线阅读全文,更多与<89C51单片机秒表的设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...
- 51单片机电机测速程序c语言,基于51单片机光电编码器测速.doc
基于51单片机光电编码器测速 PAGE PAGE 2 课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器 ...
- c语言写红绿灯程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用定时器学习 倒计时 红绿灯原理 主 ...
- 单片机交通灯灯c语言程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用 ...
- 单灯闪烁c语言程序,51单片机,C语言编程,控制指示灯闪烁的频率
c51单片机,c语言编程,关于指示灯定时闪烁的. P1.0 P1.1 P1.2 P1.3上面各接有一个指示灯,P2.0接一个外接按键. 要求: 按一下按键P1.0以1Hz的频率闪烁 半周期为500ms ...
- c51单片机c语言程序,C51单片机的C语言程序设计.ppt
<C51单片机的C语言程序设计.ppt>由会员分享,可在线阅读,更多相关<C51单片机的C语言程序设计.ppt(44页珍藏版)>请在人人文库网上搜索. 1.2020/8/7,1 ...
- SPI存储器c语言51程序,AVR单片机SPI通讯实例程序 (C语言源代码)
AVR单片机SPI通讯实例程序 (C语言源代码) 来源:-- 作者:-- 浏览:213 时间:2016-08-10 14:18 标签: 摘要: AVR单片机SPI通讯实例程序 (C语言源代码) 一个S ...
最新文章
- LeetCode简单题之三维形体的表面积
- Android Stdio 添加jar或aar
- Git 忽略已经提交的文件
- 结合图拉普拉斯的半监督学习
- oracle中dblink怎么用,Oracle中建立了dblink怎么使用
- 分析原因型思维模型框架_分析营销型网站优化效果不佳的主要原因
- 女人活到后半生才会明白:兜里有钱,才有安全感
- android开发 解析 b5,张绍文android开发高手课读书笔记4-启动优化篇
- STL中map与hash_map容器的选择
- 智慧医疗整体解决方案
- 苹果屏幕尺寸_iPhone 12屏幕维修价格出炉,买得起伤不起?
- win环境20分钟搭建php+sql服务器Apache+php+mysql在windows下的安装与
- Hazelcast源码剖析之Eviction
- 立创商城中的元件应用到AD中的一些经验
- java中scanner关于hasnext等的问题
- 【读书笔记】AMBA 2 AHB、AMBA 3 AHB(AHB_Lite)和AMBA 5 AHB协议比较
- 可怕!一部手机失窃而揭露的黑色产业链
- AI+医疗:使用神经网络进行医学影像识别分析 ⛵
- 钉钉、微信抢占移动OA入口,其他OA厂商何去何从?
- 猪八戒威客网对我的报道