基于PIC16F887单片机的数字钟课程设计报告。
上传时间: 2014-01-22
上传用户:manga135
附件为:LCD12864显示汉字和数字的程序与电路 /* 自定义延时子函数 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判断LCD忙信号状态 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD写指令函数 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD写数据函数 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD选屏函数 */ void select_screen(uchar screen) { switch(screen) { case 0: //选择全屏 CS1=0; CS2=0; break; case 1: //选择左屏 CS1=0; CS2=1; break; case 2: //选择右屏 CS1=1; CS2=0; break; /* case 3: //选择右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滚屏显示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-选择全屏,1-选择左半屏,2-选择右半屏 for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf,共8页 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函数 */ void lcd_init() { w_com(0x3f); //LCD开显示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD页初始地址,共8页 w_com(0x40); //LCD列初始地址,共64列 } /* LCD显示主函数 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD显示数字 lcd_display_shuzi(1,0,5,1); //LCD显示数字 lcd_display_hanzi(1,0,3,0); //LCD显示汉字 lcd_display_hanzi(2,0,0,1); //LCD显示汉字 //LCD字符汉字 lcd_display_hanzi(2,0,1,2); //LCD显示汉字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD显示字符 lcd_display_zifuk(1,1,3,0); //LCD显示字符 lcd_display_zifuk(1,1,4,0); //LCD显示字符 lcd_display_zifuk(1,1,5,4); //LCD显示字符 lcd_display_shuzi(1,1,6,8); //LCD显示字符 lcd_display_shuzi(1,1,7,9); //LCD显示字符 lcd_display_shuzi(2,1,0,5); //LCD显示字符 lcd_display_shuzi(2,1,1,1); //LCD显示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD显示汉字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD显示汉字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD显示汉字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滚屏显示 lcd_rol(); } */ }
上传时间: 2013-11-08
上传用户:aeiouetla
数字钟设计论文
上传时间: 2013-12-17
上传用户:lifangyuan12
16×32点阵数字钟及汉字显示
上传时间: 2014-01-27
上传用户:wanghui2438
随着电子技术的飞速发展,基于数字技术、单片机控制技术及EDA技术的混合设计方法给数字系统自动化设计、计算机硬件系统设计带来了革命性变革。业界对该领域的专业人才需求与日俱增,这对各高等院校人才培养提出了新的挑战。 我公司作为高新技术产业开发企业,多年来和全国各高校保持教学和科研的紧密联系,结合高校为本科生开设数字逻辑电路、单片机及数字系统设计自动化课程教学实践,设计了面向理工科学生使用的多功能数字逻辑电路、单片机及EDA仿真/教学综合实验系统。使学校以最小的经费投入,取得最大的教学效果。采用该实验系统,通过理论教学与实验环节的实施,可使学生正确理解数字逻辑电路、单片机及EDA技术的基本概念、基本原理,掌握这些课程之间的内在相互关系及混合设计的基本方法,使学生由浅入深地逐步掌握综合运用数字逻辑芯片及单片机的软、硬件技术及EDA技术分析设计实际问题的能力,为工业生产、科学研究和实验设备等领域的数字逻辑、单片机及EDA应用和开发打下良好的基础,该实验箱内容的实验实践也是进一步学习计算机原理和有关接口知识等相关课程的重要环节。
上传时间: 2013-11-23
上传用户:yeling1919
摘要:应用复杂可编程逻辑器件CPLD和微控制器MPU技术,设计了符合俄罗斯OCT18977-79 和PTM1495-75航空数据总线标准的多通道串行双极性数字发送电路。该电路结构简单、使用灵活、可靠性高,可广泛应用于俄制机载设备的检测及仿真试验。关键词:复杂可编程逻辑器;航空数据总线;ARINC429
上传时间: 2013-10-11
上传用户:风行天下
SHUZIZHONG显示电路 源程序如下: #include <reg51.h>#include <intrins.h> unsigned char data dis_digit; unsigned char code dis_code[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char data dis_buf[16];unsigned char data dis_index;char hour,min,sec,wang,year,mouth,day;unsigned char sec100;
上传时间: 2013-11-24
上传用户:fdmpy
用FPGA设计多功能数字钟
上传时间: 2013-11-16
上传用户:1234567890qqq
摘要:介绍了一种利用CPLD芯片设计的数字钟电路,该系统采用自顶向下的层次模块化 设计手段构建电路,代表了BDA的发展趋势。文中结合实例详尽介绍了原理图设计输入方 式以及设计过程。
上传时间: 2013-11-12
上传用户:emhx1990
用FPGA设计多功能数字钟
上传时间: 2013-10-27
上传用户:ommshaggar