单片机大作业整理文档

单片机大作业整理文档

ID:9184599

大小:151.00 KB

页数:15页

时间:2018-04-20

单片机大作业整理文档_第1页
单片机大作业整理文档_第2页
单片机大作业整理文档_第3页
单片机大作业整理文档_第4页
单片机大作业整理文档_第5页
资源描述:

《单片机大作业整理文档》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、单片机设计技术课程实验作业学院机械与汽车工程学院专业过程装备与控制工程(轻机)学生姓名曾嘉伟陆灏彦学生学号39指导教师钟汉如日期2014.12.415目录1、程序功能描述………………………………………………………………………………22、程序流程框图………………………………………………………………………………23、程序…………………………………………………………………………………………31)主程序…………………………………………………………………………………32)头文件…………………………………………………………………………………53)子程序………………………………………………………………

2、…………………71、程序功能描述硬件接口:(PTD0-3接灯泡)程序开始执行后,4个灯泡按键盘按的数字来亮起。按键盘数字时,灯按照数字对应的二进制亮起,二进制中0表示不亮,1表示亮起。例如,按下键盘“9”时,它对应的二进制为1001,所以第一个灯和第四个灯亮起。键盘和LCD组成计算器,可以满足两个数间的加减乘除。同时在LCD上显示运算过程和结果。例如,在键盘上按下“2+3=”的操作,LCD上显示“2+3=5”。在用数字进行加减乘除运算时,数字对应的灯也会同时亮起。2、程序流程框图液晶显示器上显示运算过程及结果按下键盘数字时,灯按照数字对应的二进制亮起按下键盘进行两个数的加减乘除操作153

3、、程序3.1主程序/*-------------------键盘中断输入运算语句控制指示灯亮和LCD显示--------------------------**文件名:Keyboard.c**硬件连接:PTA.7-4接键盘4根列线,PTA.3-0接键盘4根行线**PTD0-3连接4盏灯泡**程序描述:按下键盘数字时,得到相应的算式及结果**灯按照数字对应的二进制亮起,液晶显示器上显示运算过程及结果**目的:键盘扫描,键盘中断,键值识别,键盘编码**LCD显示,指示灯**注意:如果键盘插在实验板上排插孔,无须连线,若插在下**排插孔,需手工接线**-------《嵌入式应用技术基础教程》教

4、学实例------------*//*[头文件]*/#include"GP32C.H"#include"KB.h"//键盘中断头文件#defineucharunsignedchar#defineuintunsignedintconstunsignedcharDispalyInit[]="WaitReceiving..Soochow2005.08";//voidlcd_display_char(ucharch);//在指定位置(x,y)显示指定的字符ch,x=0-15,y=0-1voidlcd_display_char(ucharch);//当前光标位置显示指定的字符ch,x=0-15,y

5、=0-1voidlcd_display_int(ucharx,uchary,intval);//指定位置(x,y)显示指定的整数,x=0-15,y=0-1externucharKB_value;/*[主程序]*/voidmain(){ucharval1=0,val2=0,op=0,flag=0;intres;DDRD=0x0f;//PTD的低4位设置为输出asm("SEI");//关总中断KB_Init();LcdInit();INTKBSCR&=~(1<

6、value>0)//有新的按键按下{if((KB_value>='0')&&(KB_value<='9')){if(flag==2){flag=0;LcdInit();15}PTD=~(KB_value-'0');if(flag==0)val1=val1*10+KB_value-'0';elseif(flag==1)val2=val2*10+KB_value-'0';lcd_display_char(KB_value);}elseif((KB_value=='+')

7、

8、(KB_value=='-')

9、

10、(KB_value=='*')

11、

12、(KB_value=='/')){lcd_displ

13、ay_char(KB_value);flag=1;op=KB_value;}elseif(KB_value=='='){lcd_display_char(KB_value);flag=2;switch(op){case'+':res=val1+val2;break;case'-':res=val1-val2;break;case'*':res=val1*val2;break;case'/':res=val1/val2;break;}

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

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

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