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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机4乘4矩阵和1602屏幕的计算器代码.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机4乘4矩阵和1602屏幕的计算器代码.docx

1、51单片机4乘4矩阵和1602屏幕的计算器代码51单片机4*4矩阵和1602屏幕的计算器代码一、要求:液晶显示器第一行显示“Hello World!”;第二行显示键值和按键次数,且按键时间大于1.5秒时,识别为2次按键。单片机型号:STC-12C5A16AD二、程序代码:#include #include #define uchar unsigned char#define uint unsigned intunsigned char code dis=Hello World!;unsigned char code dis1=KEY:;unsigned char code dis2=TIME:

2、;uchar key_val=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G;uchar code key_code=0x77,0x7B,0x7D,0x7E,0xB7,0xBB,0xBD,0xBE,0xD7,0xDB,0xDD,0xDE,0xE7,0xEB,0xED,0xEE;uchar key,x,count;uint time=0;sbit U3_DS=P15;sbit U3_STCP=P14;sbit U3_SHCP=P13;sbit U4_DS=P12;sbit U4_STCP=P11;sbit U4_SHCP=P10;void delay(unsigned int

3、 n);/74HC595void U3_595(unsigned char num) unsigned char count1; for (count1=0;count1=7;count1+) if (num&0x80)=0x80)/最高位为1,则向SDATA_595发送1 U3_DS=1; else U3_DS=0; U3_SHCP=0; U3_SHCP=1; num=1;/左移 U3_STCP=0;U3_STCP=1;void U4_595(unsigned char num)/发送指令到RS,RW,E(4,5,6位) unsigned char count2; for (count2=0

4、;count2=7;count2+) if(num&0x80)=0x80) U4_DS=1; else U4_DS=0; U4_SHCP=0; U4_SHCP=1; num0;n-) for(i=0;i255;i+) _nop_();/写指令到LCDvoid wcmd(unsigned char cmd) U4_595(0x00); U3_595(cmd); U4_595(0x40); U4_595(0x00);/写要显示的数据到LCDvoid wdat(unsigned char dat) U4_595(0x10); U3_595(dat); U4_595(0x50); U4_595(0x1

5、0);/初始化LCDvoid init() wcmd(0x38);/设置8位总线双行显示,5*7点阵 delay(20); wcmd(0x0C);/开显示,开光标,不闪烁 delay(20); wcmd(0x06);/读写字符时地址加1 delay(20); wcmd(0x01);/清屏 delay(20); wcmd(0x80+2); for(x=0;x12;x+) /第一行显示hello world! wdat(disx); delay(20); wcmd(0xC2); for(x=0;x4;x+)/第二行显示按键和次数 wdat(dis1x); wcmd(0xC8); for(x=0;x

6、=0;i-) if(keycode=key_codei) /查找键码 key=i; return(key); else P0=0xff; /按键弹起则关闭定时器 TR0=0; count=0; return (16); void keydown() /判断按键按下和显示程序 P0=0xf0;if(P0&0xf0)!=0xf0) TR0=1; /开启定时器 while(P0!=0xf0) keyscan(); /获得键码 if(count30) time+; count=0; else /超过1.5秒计数2次 time+=2; count=0; wcmd(0xC6); /设置键值显示位置 wdat(key_val16-key); wcmd(0xCD); /设置次数显示位置 if(time9&time99&time1000) wdat(0x30+time/100); wdat(0x30+time/10-(time/100)*10); wdat(0x30+time%10); /中断函数void timer() interrupt 1 TH0=0x3C; TL0=0xB0; count+;void main(void)init();for(;) keydown();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1