单片机实习报告

上传人:cn****1 文档编号:487427154 上传时间:2023-08-19 格式:DOCX 页数:17 大小:326.87KB
返回 下载 相关 举报
单片机实习报告_第1页
第1页 / 共17页
单片机实习报告_第2页
第2页 / 共17页
单片机实习报告_第3页
第3页 / 共17页
单片机实习报告_第4页
第4页 / 共17页
单片机实习报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机实习报告》由会员分享,可在线阅读,更多相关《单片机实习报告(17页珍藏版)》请在金锄头文库上搜索。

1、实习报告题目:银行信息显示系统学院:电气信息工程学院专 业:电子信息科学与技术班 级:13-1学 号:3姓 名:黄洵指导教师:刘海波日 期:2015年3月7日3月19日设计总体方案1.1 设计要求通过单片机控制显示器的显示银行信息,并且滚动显示。1.2 设计思路用单片机控制lcd12864液晶显示和银行的各种信息,并用4X4矩阵键盘控制液晶显示滚动的方向和信息滚动的快慢。1。3设计方案首先将该系统划分成硬件和软件两大模块:将硬件模块划分成单片机系统, 显示系统,键盘系统和其他模块四个部分;再将软件模块划分成矩阵键盘和 12864显示驱动两个部分。整个系统即有这几个小系统构成。二、硬件电路设计2

2、。1单片机系统51单片机是对所有兼容Intel 8031指令系统的单片机的统称.该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是 ATMEL公司的AT89系列,它广泛应用于工业测 控系统之中.很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种蚂TA31,.P.1.5IT1)PJ.44TO)(ADnjpn.o iAD:)P0.L iAD2P02 iAD 斗PIH (AD1JP0 1 (AD5)P0.5 (AD

3、6)PU.h lW?P0.711 r?EXVPPX7AL1(ASIP2.0(A9)P2.1 (AlOiPJ.? (A11JP2 3 (A12TP2.4 (A1P2.5 (A】4Tp26 (AliPJ.7K7AL2E)XI 19_小:PJ.7(FT)P3.&EI)vcc g) lRXPiP5.0 iTXT)P5.L .LE.TEO(jATS9C5I2。2其他器件介绍该电路设计思路为先通过变压器来将 220V电压将为22V低压,然后再通过 桥式整流电路将交流整流为直流,最后通过LM317压输出所需的5V电压.2。3显示系统设计12864LCD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及1

4、28X64全点阵液晶显示器组成。可完成图形显示,也可以显示 8X4个(16X16点阵)汉字或者显示 16 X4个(8X 16点阵)ASCII码。分为两种,带字库的和不带字库的。不带字库的LCD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活.带字库的LCD提供字库字模,但是只能显示GB2312的宋体各有优缺点,根据不同应用场景灵活选择。其液晶模块原理图如下所示。2.4 键盘系统介绍矩阵键盘又称为行列式键盘,它是用 4条I/O线作为行线,4条I/O线作为列线组成的键 盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4X 4个。这种行列式键盘结构

5、能够有效地提高单片机系统中I/O 口的利用率。图1为矩阵键盘电路图,行线接P3。4-PX 7,列线接P3.0P3。3。led显示结束三、程序设计3。1主程序流程图3。2各部分流程图四、实习心得通过这次实训,使我们能够学以致用, 在实践中进一步掌握并巩固我们的单片机理论知识。虽然在实训中遇到了不少难题与困惑,暴露出了不少问题和缺乏实践的弱点,但是在老师与同学们的帮助与指导下 ,我们最终解决与克服了一个个的困难与困惑,顺利的完成了老 师交给的实训任务。通过几天下来的实训,感觉就是自己的知识实在是太浅了。在课本上学到的知识感觉自12864驱动程序己都懂了,但在实际应用中还是无从下手。所以我们不应满足

6、于课本上的知识31小畀函矩阵键盘减速加速键盘扫描初始化事金,只有通过不断的实践, 才能够真正掌握理论知识。虽然只有几天的时光, 但还是学了很多的东西, 比之于平常的上课更觉得学到更多。 所以,这对于我们还是一门很必要的课程。 当然, 要真正学有所用, 我们还要在实践中去不断提高, 不断完善 . 其实刚开始还是不太喜欢实训, 也有点害怕的。 但过后才觉得只有几天的实训时间还是有点少, 毕竟是刚开始对单片机进行实际应用,还是很陌生的。由于时间的仓促,自己的作品也远还没达到完善的地步。我相信其中的酸甜苦辣最终都会化为甜美的甘泉. 想借此机会感谢一直以来给我帮助的所有老师和同学。 尤其我的指导老师们,

7、 他们一直都以一位长辈的风范来给我不厌其烦的指导。在此,特向他们道声谢谢 .五、参考资料1 何立民。单片机应用系统设计.北京 :北京航空航天大学出版社 ,2004。 2 张洪润等。单片机应用设计200 例。北京:北京航空航天大学出版社,2006。 2 刘德营 ,张志霞,龚丽农等.单片机原理及接口技术.北京:中国水利水电出版社, 20063陈伟人。单片微型计算机原理及其应用.北京.清华大学出版社, 1989 3。何立民.单片机应用系统设计.北京:航空航天大学出版社,1995 4。 王建校等。 51 系列单片机及C51 程序设计 .北京 :科学出版社, 2002,2000:20012005。4 .

8、余锡存,曹国华.单片机微机原理及接口技术 M .西安:西安电子科技出版社5 5 付家才。单片机控制工程实践技术.北京:化学工业出版社,6 雷晓平等 .单片计算机及其应用。成都: 电子科技大学出版社,六、附录(程序清单) include reg51。 h#include define uchar unsigned char define uint unsigned int/* * * * define LCD_data12864LCD 引脚定义 * * * P0sbit LCD_RSsbit LCD_RW sbit LCD_ENP3A0;P3 A2;P3A1;/数据口/寄存器选择输入/ 液晶读/

9、写控制/液晶使能控制_nop_ ();_nop_() ;_nop_();_nop_( );/* * * * * * * * * * */uchar codeDIS1 = ”存款利率”;uchar codeDIS2 =一年: 2.79 ”;uchar codeDIS3 = 二年: 3.37” ;uchar codeDIS4 = ” 五年 :5.56%” ;uchar codeDIS5”请一#到窗台uchar codeDIS6 =办理业务”;uchar codeDIS7 = ”请二号到窗台 ;uchar codeDIS8 =请四号到窗台 uchar codeDIS10= ”;uchar codeD

10、IS9 =欢迎光临uchar index= 0;define delayNOP () ;;J;”;uchar key,s=0;uint v ;void matrixkeyscan( ) ; / 矩阵void delay ( int ms)while ( ms )uchar i ;for(i=0;i 150;i+)_nop_( );_nop_() ;_nop_();_nop_();void matrixkeyscan( )uchar temp;P2=0xfe;temp=P2;temp=temp&0xf0 ;if(temp!=0xf0 )delay(10 ) ;temp=P2;temp=temp

11、0xf0;if(temp ! =0xf0)temp=P2;switch(temp)case 0xee:key=1, index = 0 ; break;case 0xde: key=2 , index = 0;break ;case 0xbe:key=3 , index = 0 ; break;case 0x7e: key=4 , index = 0;break ;while(temp ! =0xf0 )temp=P2;temp=temp&0xf0;P2=0xfd;temp=P2;temp=temp&0xf0;if(temp ! =0xf0)delay(10 ) ;temp=P2;temp=t

12、emp 0xf0 ;if ( temp ! =0xf0) temp=P2;switch ( temp)case 0xed: key=5,index = 0 ; break;case 0xdd: key=2,index = 0,s+;break;case 0xbd:key=7;index = 0;break;case 0x7d:key=8; index = 0 ; break;while ( temp!=0xf0 )temp=P2;temp=temp&0xf0;void delay1(int ms )while(ms- )uchar y;for(y=0;y 100;y+ ) ;bit lcd_b

13、usy ()bit result ;LCD_RS = 0 ;LCD_RW = 1;LCD_EN = 1 ; delayNOP ( );result = (bit ) (P0 0x80)LCD_EN = 0; return ( result) ;void lcd_wcmd ( uchar cmd)while ( lcd_busy() ) ;LCD_RS = 0;LCD_RW = 0;LCD_EN = 0 ;_nop_() ;_nop_();P0 = cmd ; delayNOP( ) ;LCD_EN = 1;delayNOP();LCD_EN = 0;void lcd_wdat ( uchar dat)while(lcd_busy () ) ;LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat; delayNOP( ) ;LCD_EN = 1;delayNOP( ) ;LCD_EN = 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号