




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Msp430简易计算器设计设计任务:.实现计算器基本”+,-,*,/”运算功能。.八个数码管,第一位显示符号位,第二位空置,剩余六位显示数字,结果溢出显示“EER;.有自己独立的运算特色设计目的:学习使用单片机内部的I/O功能,熟悉I/O与键盘矩阵和数码管 的连接,熟练掌握单片机I/O的编程。设计方案:使用数组储存和调用内部数据,利用子函数实现各种运算功能, 另外添加阶乘factorial ()函数。程序代码:#include #define uchar unsigned char#define uint unsigned intunsignedcharleddata240 xc0,0 xf9
2、,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 x8f,0 xbf,0 x89,0 xb9,0 xff,0 x86,0 xaf,0 xcf;unsigned char time8 = 20,20,0,0,0,0,0,0;/初始数码管unsigned char getkey(void);unsigned int qiushu();long factorial(long a);void qingping(void);void fenjie();void delay(unsi
3、gned int asdf)for(uint asd=0;asdasdf;asd+);*主函数*void main(void)uchar flag=0,i=9;关闭看门狗WDTCTL = WDTPW + WDTHOLD;P5DIR|=BIT7;P5OUT&=BIT7;P4DIR=0 xff;P2DIR=0 xff;P1DIR=0 x0F;P1OUT=0 xff;while(1) long p,q,r;time1=20;i=getkey();if(i999999)|(r0) qingping();time5=21;time6=21;time7=22; else fenjie(r); break;
4、for(uchar j=0;jj;P2OUT=leddatatime皿delay(200);end of mainunsigned int qiushu()转化成相应的十进制整数unsigned int y;y=time2*100000+time3*10000+time4*1000+time5*100+time 6*10+time7;return y;void qingping(void) 清除屏幕unsigned int a;for(a=7;a1;a-)timea=0;void fenjie(long r)提取十进制整数各位数值,并显示time7=r%10;time6=r/10%10;tim
5、e5=r/100%10;time4=r/1000%10;time3=r/10000%10;time2=r/100000%10; long factorial(long a)long x,i;x=a;for(i=1;ia;i+)x=x*(a-i);return(x);uchar getkey(void)获取键值uchar z,x=16;P1OUT=0 x00;if(!(P1IN&BIT6)|(!(P1IN&BIT7)|(!(P1IN&BIT5)|(!(P1IN&BIT4) delay(10000);if(!(P1IN&BIT6)|(!(P1IN&BIT7)|(!(P1IN&BIT5)|(!(P1
6、IN&BIT4) for(z=0;z=1;z+)P1OUT=BIT0;if(!(P1IN&BIT7) x=3;break; P1OUT=BIT0; if(!(P1IN&BIT6) x=7;break; P1OUT=BIT0;if(!(P1IN&BIT5) x=11;break;P1OUT=BIT0;if(!(P1IN&BIT4) x=15;break; /line 1P1OUT=BIT1;if(!(P1IN&BIT7) x=2;break; P1OUT=BIT1; if(!(P1IN&BIT6) x=6;break; P1OUT=BIT1;if(!(P1IN&BIT5) x=10;break;
7、 if(!(P1IN&BIT4) x=14;break; line3P1OUT=BIT3;if(!(P1IN&BIT6) x=4; break; P1OUT=BIT3;if(!(P1IN&BIT7)x=0; break;P1OUT=BIT3;if(!(P1IN&BIT5) x=8; break; P1OUT=BIT3;if(!(P1IN&BIT4)x=12; break;/line 2P1OUT=BIT2;if(!(P1IN&BIT6) x=5; break; P1OUT=BIT2;if(!(P1IN&BIT7) x=1; break; P1OUT=BIT2;if(!(P1IN&BIT5) x=9; break; P1OUT=BIT2;if(!(P1IN&BIT4) x=13; break;while(!(P1IN&BIT6)|(!(P1IN&BIT7)|(!(P1IN&BIT5)|(!(P1IN&BIT 4)for(uchar j=0;jj;P2OUT=leddatatimej; delay(500); delay(20000);while(!(P1IN&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校社团工作计划人员招募
- 文化中心保护计划
- 可持续发展对品牌的影响计划
- 八年级地理上册 第4章 第3节《工业》教学实录 新人教版
- 2025年微波器件及电路合作协议书
- 生活部团队文化的建设与维护计划
- 急诊科室药品管理规范计划
- 六年级上册数学教案-分数混合运算第1课时 分数混合运算 说课稿-西师大版
- 孩子归属协议(2025年版)
- 八下历史第16课
- 异常停机记录分析表
- 乳腺癌改良根治术
- 新版(七步法案例)PFMEA
- 临床护理重点专科建设项目评审标准
- 二倍角的三角函数说课稿
- 《颈椎病的护理》PPT课件(完整版)
- 新苏教版科学五年级下册全套教学课件
- GB_T 41377-2022菊粉质量要求(高清-最新)
- VFS5210-4DB-06 SMC电磁阀
- 400V电缆分支箱生产实用工艺流程
- 实验实训室使用申请表
评论
0/150
提交评论