ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:146KB ,
资源ID:11340051      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11340051.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(-LCD显示—C程序.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

-LCD显示—C程序.doc

1、数字频率计的设计 [日期:2008-05-05 ] [来源:网络 作者:佚名] [字体:大 中 小]  (投递新闻) 频率计是我们经常会用到的实验仪器之一,本实验要使用单片机和计数电路及液晶器件来设计一个宽频的频率计。 期望达到10Hz-1.1G范围的频率精确测量。 实验电路图(初步方案) 1) 计数及显示电路: 2)前置放大及分频电路: 设计思路 频率的测量实际上就是在1S时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,1)使用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期;2)单片机外部使用计数器对脉冲信号进行计数,计数值再由单片

2、机读取。 由于单片机自带计数器输入时钟的频率通常只能是系统时钟频率的几分之一甚至几十分之一,因此采用单片机的计数器直接测量信号频率就受到了很大的限制。 本实验电路采用方式2,使用一片74LS393四位双二进制计数器和Atmega8的 T1计数器组成了24位计数器,最大计数值为16777215。如果输入信号经过MB501分频器进行64分频后再进行测量,则固定1S时基下最高测量频率为1073.741760Mhz。 为了方便得到准确的1秒钟测量闸门信号,我们使用了Atmega8的异步实时时钟功能,采用32.768Khz的晶振由TC2产生1秒钟的定时信号。 测量原理: 单片机打开测量闸门,即

3、PB1输出高电平,同时TC2定时器启动。74LS393开始对输入脉冲进行计数,74LS393每计数达256时,Atmega8的T1计数器也向上计数1次。当1S定时到达时,单片机产生中断,PB1输出低电平关闭测量闸门,然后Atmega8读取74LS393和T1的计数值,然后送LCD显示。 实验进展 2004-09-27 根据设计思路编写程序初步获得了一些实验结果,如下图所示。下图是测量8M有源晶振的输出结果。 由于1S的测量闸门时间在业余条件下不好测试,因此,实验程序中在LCD上同时显示实时时钟用于判断1S闸门时间的准确性。实验中,我使用CDMA手机上显示的GPS卫星精确时间进行比较

4、手机时间显示的最小单位是分钟,测量时一旦手机分钟值发生跳变,则立即记录下LCD显示的秒值,这样的话让频率计运行一段时间后,再多次记录下LCD显示的秒,就可以准确判断频率计的异步时钟是否准确。实验过程中,我让频率计走了10个小数左右,测量的1S时钟还是非常准确的。 #include #include #include lcd.h #include 6x8.h #include chinese.h /*----------------------------------------------------------------------- LCD_init : 3310LC

5、D初始化 编写日期 :2004-8-10 最后修改日期 :2004-8-10 -----------------------------------------------------------------------*/ void LCD_init(void) { PORTB &= ~LCD_RST; // 产生一个让LCD复位的低电平脉冲 delay_1us(); PORTB |= LCD_RST; PORTB &= ~LCD_CE ; // 关闭LCD delay_1us(); PORTB |= LCD_CE; // 使能LCD delay_1us();

6、LCD_write_byte(0x21, 0); // 使用扩展命令设置LCD模式 LCD_write_byte(0xc8, 0); // 设置偏置电压 LCD_write_byte(0x06, 0); // 温度校正 LCD_write_byte(0x13, 0); // 1:48 LCD_write_byte(0x20, 0); // 使用基本命令 LCD_clear(); // 清屏 LCD_write_byte(0x0c, 0); // 设定显示模式,正常显示 PORTB &= ~LCD_CE ; // 关闭LCD //LCD_clear(); } /*------

7、 LCD_clear : LCD清屏函数 编写日期 :2004-8-10 最后修改日期 :2004-8-10 -----------------------------------------------------------------------*/ void LCD_clear(void) { unsigned int i; LCD_write_byte(0x0c, 0); LCD_write_byte(0x80, 0); for

8、 (i=0; i<504; i++) LCD_write_byte(0, 1); } /*----------------------------------------------------------------------- LCD_set_XY : 设置LCD坐标函数 输入参数:X :0-83 Y :0-5 编写日期 :2004-8-10 最后修改日期 :2004-8-10 -----------------------------------------------------------------------*/ void LCD_set_XY(uns

9、igned char X, unsigned char Y) { LCD_write_byte(0x40 | Y, 0); // column LCD_write_byte(0x80 | X, 0); // row } /*----------------------------------------------------------------------- LCD_write_char : 显示英文字符 输入参数:c :显示的字符; 编写日期 :2004-8-10 最后修改日期 :2004-8-10 -------------------------------

10、/ void LCD_write_char(unsigned char c) { unsigned char line; //c -= 32; //for (line=0; line<6; line++) //LCD_write_byte(font6x8[c][line], 1); for (line=0; line<7; line++) LCD_write_byte(font7x13[c][line], 1); for (line=7; line<14; line++) LCD_write_

11、byte(font7x13[c][line], 1); } /*----------------------------------------------------------------------- LCD_write_char : 英文字符串显示函数 输入参数:*s :英文字符串指针; X、Y : 显示字符串的位置 编写日期 :2004-8-10 最后修改日期 :2004-8-10 -----------------------------------------------------------------------*/ void LCD_write_St

12、ring(unsigned char X,unsigned char Y,char *s) { unsigned char line; unsigned char i=0; while (*s) { LCD_set_XY(X+i*7,Y); for (line=0; line<7; line++) LCD_write_byte(font7x13[*s-0X30][line], 1); LCD_set_XY(X+i*7,Y+1); for (line=7; line<14; line++) LCD_write_byte(font7x13[*s-0X30][line], 1

13、); s++; i++; } } /*----------------------------------------------------------------------- LCD_write_chi: 在LCD上显示汉字 输入参数:X、Y :显示汉字的起始X、Y坐标; ch_with :汉字点阵的宽度 num :显示汉字的个数; line :汉字点阵数组中的起始行数 row :汉字显示的行间距 编写日期 :2004-8-11 最后修改日期 :2004-8-12 ---------------------------------------------

14、/ void LCD_write_chi(unsigned char X, unsigned char Y, unsigned char ch_with,unsigned char num, unsigned char line,unsigned char row) { unsigned char i,n; LCD_set_XY(X,Y); //设置初始位置 for (i=0;i

15、set_XY(X,Y+1); else LCD_set_XY((X+(ch_with+row)*i),Y+1); } LCD_write_byte(china_char[line+i][n],1); } i++; LCD_set_XY((X+(ch_with+row)*i),Y); } } /*----------------------------------------------------------------------- LCD_write_chi: 汉字移动 输入参数:X、Y :显示汉字的起始X、Y坐标; T :移动速度; 编写日期 :2004-8-

16、13 最后修改日期 :2004-8-13 -----------------------------------------------------------------------*/ void LCD_MOVe_chi (unsigned char X, unsigned char Y, unsigned char T) { unsigned char i,n,j=0; unsigned char buffer_h[84]={0}; unsigned char buffer_l[84]={0}; for (i=0; i<156; i++) { buffer_h[

17、83] = china_char[i/12][j]; buffer_l[83] = china_char[i/12][j+12]; j++; if (j==12) j=0; for (n=0; n<83; n++) { buffer_h[n]=buffer_h[n+1]; buffer_l[n]=buffer_l[n+1]; } LCD_set_XY(X,Y); for (n=0; n<83; n++) { LCD_write_byte(buffer_h[n],1); } LCD_set_XY(X,Y+1); for (n=0; n<83; n++)

18、{ LCD_write_byte(buffer_l[n],1); } delay_nms(T); } } /*----------------------------------------------------------------------- LCD_draw_map : 位图绘制函数 输入参数:X、Y :位图绘制的起始X、Y坐标; *map :位图点阵数据; Pix_x :位图像素(长) Pix_y :位图像素(宽) 编写日期 :2004-8-13 最后修改日期 :2004-8-13 --------------------------------

19、/ void LCD_draw_map(unsigned char X,unsigned char Y,unsigned char *map, unsigned char Pix_x,unsigned char Pix_y) { unsigned int i,n; unsigned char row; if (Pix_y%8==0) row=Pix_y/8; //计算位图所占行数 else row=Pix_y/8+1; for (n=0;n

20、 for(i=0; i { LCD_write_byte(map[i+n*Pix_x], 1); } Y++; //换行 } } /*----------------------------------------------------------------------- LCD_write_byte : 使用SPI接口写数据到LCD 输入参数:data :写入的数据; command :写数据/命令选择; 编写日期 :2004-8-10 最后修改日期 :2004-8-13 ----------------------------------------

21、/ void LCD_write_byte(unsigned char data, unsigned char command) { PORTB &= ~LCD_CE ; // 使能LCD if (command == 0) PORTB &= ~LCD_DC ; // 传送命令 else PORTB |= LCD_DC ; // 传送数据 SPDR = data; // 传送数据到SPI寄存器 while ((SPSR & 0x80) == 0); // 等待数据传送完毕 PORTB |= LCD_CE ; // 关闭LCD }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服