单片机课程设计报告---简易计算器

单片机课程设计报告---简易计算器

ID:9857785

大小:70.50 KB

页数:11页

时间:2018-05-12

单片机课程设计报告---简易计算器_第1页
单片机课程设计报告---简易计算器_第2页
单片机课程设计报告---简易计算器_第3页
单片机课程设计报告---简易计算器_第4页
单片机课程设计报告---简易计算器_第5页
资源描述:

《单片机课程设计报告---简易计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《单片机课程设计》课程设计报告班级:姓名:学号:设计时间:10实验一用单片机做简易计算器一、实验目的利用430作为主控器组成一个四则运算的计算器。二、实验功能1、可以实现加、减、乘、除以及指数运算。开始关看门狗初始化快速查询是否有按键按下延时消抖快速查询是否有按键按下扫描键值计算结果显示eer读取键值数字键功能键键入数值等待键值是否溢出是否溢出显示结果YYYYNNNN2、硬件部分包括:430单片机、显示4位的7段数码显示管、4×4的键盘。其中单片机的P2口将要显示的数据的段码送给显示管,而P4口将位码送给显示管。P1口接键盘,其中高四位接键盘的四根列线,低四位

2、接键盘的四根行线。三、流程图10四、源代码#includeconstunsignedchardata[22]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x8f,0xbf,0x89,0xb9,0xff,0xaf};//0~9a~f符号unsignedcharsegment[8]={20,20,0,0,0,0,0,0};//初始数码管unsignedcharflag1=0;voiddelay(unsignedintj

3、)//延时{unsignedinti;for(i=0;i1;a--)segment[a]=0;}voidzhuanhuan(unsignedlongr)//将计算结果逐位取出{segment[

4、7]=r%10;segment[6]=r/10%10;segment[5]=r/100%10;segment[4]=r/1000%10;segment[3]=r/10000%10;segment[2]=r/%10;}10unsignedchargetkey(void)//获取键值{unsignedcharm,n=16;P1OUT=0x00;if((!(P1IN&BIT4))

5、

6、(!(P1IN&BIT5))

7、

8、(!(P1IN&BIT6))

9、

10、(!(P1IN&BIT7))){delay(10000);if((!(P1IN&BIT4))

11、

12、(!(P1IN&BIT5)

13、)

14、

15、(!(P1IN&BIT6))

16、

17、(!(P1IN&BIT7))){flag1=1;for(m=0;m<=2;m++){P1OUT=~BIT0;//第四列if(!(P1IN&BIT7)){n=3;break;}if(!(P1IN&BIT6)){n=7;break;}if(!(P1IN&BIT5)){n=11;break;}if(!(P1IN&BIT4)){n=15;break;}P1OUT=~BIT1;//第三列if(!(P1IN&BIT7)){n=2;break;}if(!(P1IN&BIT6)){n=6;break;}if(!(P1IN&BIT4)){n

18、=14;break;}if(!(P1IN&BIT5)){n=10;break;}P1OUT=~BIT2;//第二列if(!(P1IN&BIT7)){n=1;break;}if(!(P1IN&BIT6)){n=5;break;}if(!(P1IN&BIT5)){n=9;break;}if(!(P1IN&BIT4)){n=13;break;}P1OUT=~BIT3;//第一列if(!(P1IN&BIT7)){n=0;break;}if(!(P1IN&BIT6)){n=4;break;}if(!(P1IN&BIT5)){n=8;break;}if(!(P1IN&BI

19、T4)){n=12;break;}while((!(P1IN&BIT6))

20、

21、(!(P1IN&BIT7))

22、

23、(!(P1IN&BIT5))

24、

25、(!(P1IN&BIT4)))for(unsignedcharj=0;j<=7;j++){P4OUT=0x80>>j;P2OUT=data[segment[j]];10delay(500);}delay(20000);}}}return(n);}voidmain(void)//主函数{unsignedcharflag=0,i=9;WDTCTL=WDTPW+WDTHOLD;//关看门狗P5DIR

26、=BIT7;P5OUT&=

27、~BIT7;P4DIR=0xff;P2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。