版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、23 模拟计算器数字输入及显示1 实验任务 (1 开机时,显示“0”(2 第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给出“嘀”提示音。2 电路原理图 图4.23.13 系统板上硬件连线 (1 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;1 / 12(2 把“单片机系统“区域中的P3.0P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1C4R1R4端口上;(3 把“单片机系统”区域中的P0.0P0.7端口用8芯排线连接到“动态数码显示”区域中的AH端口上;
2、(4 把“单片机系统:区域中的P2.0P2.7端口用8芯排线连接到“动态数码显示”区域中的S1S8端口上;4 相关程序设计内容 (1 行列式键盘输入及按键功能设定;(2 动态数码显示;(3 数码显示方式处理;5 汇编源程序 (略)6 C语言源程序 #include unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00; unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,0
3、xef,0xdf,0xbf,0x7f; unsigned char dispbuf8=0,16,16,16,16,16,16,16; unsigned char dispbitcount; unsigned char temp; unsigned char i,j; unsigned char key; unsigned char keypos; bit alarmflag; void change(unsigned char *p,unsigned char count) while(count0) *(p+count)=*(p+count-1); count-; void main(voi
4、d) TMOD=0x01; TH0=(65536-4000) / 256; TL0=(65536-4000) % 256; TR0=1; ET0=1; EA=1; while(1) P3=0xff; P3_4=0; temp=P3; temp=temp & 0x0f; if (temp!=0x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0x0f; if (temp!=0x0f) temp=P3; temp=temp & 0x0f; switch(temp) case 0x0e: key=7; break; case 0x
5、0d: key=8; break; case 0x0b: key=9; break; case 0x07: key=10; break; if (key=0) & (key10) keypos+; if(keypos0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0x0f; if (temp!=0x0f) temp=P3; temp=temp & 0x0f; switch(temp) case 0x0e: key=4; break; case 0x0d: key=5; break; case 0x0b: key=6; break; case 0x07:
6、 key=11; break; if (key=0) & (key10) keypos+; if(keypos0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0x0f; if (temp!=0x0f) temp=P3; temp=temp & 0x0f; switch(temp) case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=12; break; if (key=0) & (key10) keypos+; if(keyp
7、os0;i-) for(j=200;j0;j-); temp=P3; temp=temp & 0x0f; if (temp!=0x0f) temp=P3; temp=temp & 0x0f; switch(temp) case 0x0e: key=0; break; case 0x0d: key=13; break; case 0x0b: key=14; break; case 0x07: key=15; break; if (key=0) & (key10) keypos+; if(keypos8) change(dispbuf,keypos); dispbuf0=key; else keypos=8; alarmflag=1; temp=P3; P1_0=P1_0; temp=temp & 0x0f; while(temp!=0x0f) temp=P3; temp=temp & 0x0f; alarmflag=0; void t0(void) interrupt 1 using 0 TH0=(65536-4000) / 256; TL0=(65536-4000) % 256; P0=dispcodedispbufdispbitcount; P2=dispbitcodedispbitcount; dispbit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宿舍安全宣传培训
- 2026年商场防踩踏演练
- 人教部编版七年级历史下册 第二单元辽宋夏金元时期 第六课北宋的政治 教案
- 失能老人护理中的社会支持网络
- 电子元件包装流程规范
- 2026年高考化学二轮复习(全国)微专题02V、Cr、Mn、Co等过渡金属化合物的制备流程(讲义)(解析版)
- 某船舶厂船体建造细则
- 2026年面部经络按摩美颜抗衰老实操培训
- 母婴护理中的职业道德
- 吉林省长春市2026年中考物理适应性模拟试题(含答案解析)
- 产前诊断中心建设方案
- 乡镇卫生院医保基金使用管理制度
- 2026季华实验室科研部门招聘5人(广东)笔试参考题库及答案解析
- 2026中央机关遴选和选调公务员调剂参考考试试题附答案解析
- 纯水设备工艺培训课件
- 横纹肌肉瘤免疫治疗耐药性的逆转策略
- 2026年锡林郭勒职业学院单招综合素质考试题库附答案解析
- CNC撞机培训教学课件
- 文献检索与论文写作课件
- 2026年宁波城市职业技术学院单招职业技能测试题库含答案详解
- 产时超声评估的产钳助产分娩临床特征2026
评论
0/150
提交评论