文档详情

单片机大作业整理文档精要.doc

发布:2017-03-24约1.87万字共15页下载文档
文本预览下载声明
单片机设计技术 课程实验作业 学 院 专 业 学生姓名 陆灏彦 学生学号 201230060189 指导教师 日 期 目录 程序功能描述………………………………………………………………………………2 程序流程框图………………………………………………………………………………2 程序…………………………………………………………………………………………3 主程序…………………………………………………………………………………3 头文件…………………………………………………………………………………5 子程序…………………………………………………………………………………7 1、程序功能描述 硬件接口:(PTD0-3接灯泡) 程序开始执行后,4个灯泡按键盘按的数字来亮起。 按键盘数字时,灯按照数字对应的二进制亮起,二进制中0表示不亮,1表示亮起。例如,按下键盘“9”时,它对应的二进制为1001,所以第一个灯和第四个灯亮起。 键盘和LCD组成计算器,可以满足两个数间的加减乘除。同时在LCD上显示运算过程和结果。例如,在键盘上按下“2+3=”的操作,LCD上显示“2+3=5”。 在用数字进行加减乘除运算时,数字对应的灯也会同时亮起。 2、程序流程框图 3、程序 3.1 主程序 /*------------------- 键盘中断输入运算语句控制指示灯亮和LCD显示--------------------------* *文 件 名:Keyboard.c * *硬件连接:PTA.7-4接键盘4根列线,PTA.3-0接键盘4根行线 * * PTD0-3连接4盏灯泡 * *程序描述: 按下键盘数字时,得到相应的算式及结果 * * 灯按照数字对应的二进制亮起,液晶显示器上显示运算过程及结果* *目 的:键盘扫描,键盘中断,键值识别,键盘编码 * * LCD显示,指示灯* *注 意:如果键盘插在实验板上排插孔,无须连线,若插在下 * * 排插孔,需手工接线 * *-------《嵌入式应用技术基础教程》教学实例------------*/ /*[头文件]*/ #include GP32C.H #include KB.h //键盘中断头文件 #define uchar unsigned char #define uint unsigned int const unsigned char DispalyInit[]=Wait Receiving.. Soochow 2005.08; //void lcd_display_char(uchar ch);//在指定位置(x,y)显示指定的字符ch, x=0-15,y=0-1 void lcd_display_char(uchar ch); //当前光标位置显示指定的字符ch, x=0-15,y=0-1 void lcd_display_int(uchar x,uchar y,int val);//指定位置(x,y)显示指定的整数, x=0-15,y=0-1 extern uchar KB_value; /*[主程序]*/ void main() { uchar val1=0,val2=0,op=0,flag=0; int res; DDRD=0x0f;//PTD的低4位设置为输出 asm(SEI); //关总中断 KB_Init(); LcdInit(); INTKBSCR= ~(1IntBit); //开放键盘中断(IMASKk=1) asm(CLI); //开总中断 //主循环 while(1) { //* if (KB_value0)//有新的按键按下 { if((KB_value=0)(KB_value=9)) { if(flag==2) { flag
显示全部
相似文档