版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三款单片机应用实例例1:一个液晶显示的数字式电脑温度计液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息, 如汉字、图形、图表等。这里我们介绍一种八段式四位LCD显示器,该显示器内置驱动器,串行数据传送,使用非常方便。原理图如下图:下图是长沙太阳人科技开发有限公司生产的4位带串行接口的液晶显示模块SMS0403的外部引线简图: 有关该模块的具体参数,请查看该公司网站。此例中使用的温度传感器为美国DALLAS公司生产的单总线式数字温度传感器。该传感器本站有其详细的资料可供下载。此例稍加改动,即可做成温控器。 例2:LE
2、D显示电脑电子钟 本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、日及时间选用的是1.2寸共阳数码管,星期选用的是2.3寸数码管,温度选用的是0.5寸数码管,也可根据个人的爱好选用不同规格的数码管。原理图如下图所示: 上图中,CPU选用的是AT89C2051,时钟芯片选用的是Dallas公司的DS1302, 温度传感器选用的是Dallas公司的数字温度传感器DS1820,显示驱动芯片选用的是德州仪器公司的TPIC6B595,也可选用与其兼容的芯片NC595或国产的AMT9595。整个电子钟用两个键来调节时间和日期。一个是位选键,一个是数字调节
3、键。按一下位选键,头两位数字开始闪动,进入设定调节状态,此时按数字调节键,当前闪动位的数字就可改变。全部参数调节完后,五秒钟内没有任何键按下,则数字停止闪动,退出设定调节状态。源程序清单如下(无温度显示程序): start:do;$include(reg51.dcl)declare (sclk,io,rst) bit at (0b3h) register; /* p33,p34,p35 */declare (command,data,n,temp1,num) byte;declare a(9) byte;declare ab(6) byte;declare aco(11) byte const
4、ant (0fdh,60h,0dah,0f2h,66h,0b6h,0beh,0e0h,0feh,0f6h,00h);declare week(11) byte constant (0edh,028h,0dch,7ch,39h,75h,0f5h,2ch,0fdh,7dh,00h);declare da literally p15,clk literally p16,ale literally p17, mk literally p11,sk literally p12;clear:procedure; sclk=0;io=0;rst=0;end clear;send1302:procedure(
5、comm);declare (i,comm) byte;do i=0 to 7;comm=scr(comm,1);io=cy;call time(1);sclk=0;call time(1);sclk=1;end;end send1302;wbyt1:procedure(com,dat);/*字节写过程*/declare (com,dat) byte;call clear;rst=1;call send1302(com);call send1302(dat);call clear;end wbyt1;wbyt8:procedure;/*时钟多字节突发模式写过程*/declare j byte;
6、call clear;a(7)=A(6);a(6)=a(0);rst=1;call send1302(command);do j=1 to 8; call send1302(a(j);end;call clear;end wbyt8;RBYT1:PROCEDURE; DECLARE I BYTE;CALL CLEAR;RST=1; call send1302(0c1h); IO=1; DO I=0 TO 7;SCLK=1;SCLK=0;CY=IO;N=SCR(N,1); END; A(8)=N; CALL CLEAR;END RBYT1;send595:procedure; declare k
7、 byte;do k=0 to 7; data=scr(data,1); da=cy; clk=1; clk=0;end;end send595;send595_1:procedure; declare k byte;do k=0 to 7; data=scr(data,1); da1=cy; clk1=1; clk1=0;end;end send595_1;rb1:procedure(abc,j);DECLARE (I,j,abc) BYTE;CALL CLEAR;RST=1; call send1302(abc); IO=1; DO I=0 TO 7;SCLK=1;SCLK=0;CY=IO
8、;N=SCR(N,1); END; ab(j)=N; ab(j)=dec(ab(j); CALL CLEAR;end rb1;rbyt6:procedure; call rb1(0f1h,0); call rb1(0f3h,1); call rb1(0f5h,2); call rb1(0f7h,3); call rb1(0f9h,4); call rb1(0fbh,5); call rb1(0fdh,6);end rbyt6;wbyt6:procedure; call wbyt1(8eh,0);/* write enable */ call wbyt1(0f0h,ab(0); call wby
9、t1(0f2h,ab(1); call wbyt1(0f4h,ab(2); call wbyt1(0f6h,ab(3); call wbyt1(0f8h,ab(4); call wbyt1(0fah,ab(5); call wbyt1(0fch,ab(6); call wbyt1(8eh,80h);/* write disable */end wbyt6;rbyt8:procedure;/*时钟多字节突发模式读过程*/declare (i,j) byte;call clear;rst=1;call send1302(command); io=1;do j=1 to 8; do i=0 to 7
10、;sclk=1;call time(1);sclk=0; cy=io;n=scr(n,1);end;a(j)=n;end;call clear;a(0)=a(6);a(6)=A(7);a(0)=a(0) and 0fh;if a(0)6 then a(0)=0;CALL RBYT1; if (a(1)=0 and a(2)=0 and a(3)=0) thendo; do num=0 to 35;call time(250); end; temp1=1;end;if temp1=1 then do;temp1=0;ab(4)=ab(4)+1; if ab(4)99h then do; ab(4
11、)=0; ab(5)=ab(5)+1; if ab(5)99h then ab(5)=0;end;call wbyt6; end;end rbyt8;display:procedure;/*jieya,yima,fasong*/declare (i,n,m) byte; n=a(0) and 0fh; /* send week */ data=week(n); call send595; n=a(4);/* send date */ n=n and 0fh; data=aco(n); call send595; n=a(4); n=shr(n,4); data=aco(n); call sen
12、d595; do i=1 to 3; /* send second,minute,hour */ n=a(i); n=n and 0fh; data=aco(n); call send595; n=a(i); n=shr(n,4); data=aco(n); call send595;end; do i=5 to 6; /* send month,year */ n=a(i); n=n and 0fh; data=aco(n); call send595; n=a(i); n=shr(n,4); data=aco(n); call send595;end; n=a(8); /*send 19
13、or 20 */ n=n and 0fh; data=aco(n); call send595; n=a(8); n=shr(n,4); data=aco(n); call send595;do m=0 to 5; n=ab(m); n=n and 0fh; data=aco(n); call send595_1; n=ab(m); n=shr(n,4); data=aco(n); call send595_1;end; ale=0; ale=1;end display;beginset:procedure; a(0)=06h;a(1)=58h;a(2)=59h;a(3)=23h; a(4)=
14、30h;a(5)=06h;a(6)=97h;a(7)=00; a(8)=19h; /* set date/time (1997,7,1,8:00:00,week 3) */ call wbyt1(8eh,0); /* write enable*/ call wbyt1(80h,00h);/* start colock */ call wbyt1(0beh,0abh);/*两个二极管与8K电阻串联充电*/ command=0beh;/* write colock/date */ call wbyt8; call wbyt1(0c0h,a(8); call wbyt1(8eh,80h);/* se
15、t write protect bit */end beginset;key:procedure; declare (i,time1,k1,tem) byte; call time(100); k1=7;time1=30; if mk=0 then do; do while time10;week: if k1=0 thendo;do i=0 to 5;/*call hz(a(0);*/end;do i=0 to 3;/*call hz0;*/end; end;tem=a(k1); if k1=7 then tem=a(8); a(k1)=0aah;if k1=7 then a(8)=0aah
16、;call display;call time(254);call time (254);a(k1)=tem;if k1=7 then a(8)=tem;call display;call time(254);call time(254);call time(254);time1=time1-1; if mk=0 then do;call time(100); /*MOD KEY PROCESS*/ TIME1=30; IF MK=0 THENDO;k1=k1-1; DO WHILE K1=0FFH;K1=7; END;END; end;IF SK=0 THEN DO;CALL TIME(10
17、0);/*SET KEY PROCESS*/ TIME1=30; IF SK=0 THEN DO;tem=tem+1;tem=dec(tem);DO CASE K1; DO WHILE tem=7;/*week*/ tem=0; END; DO WHILE tem=60H;/*scond*/ tem=0; END; DO WHILE tem=60H;/*minute*/ tem=0; END; DO WHILE tem=24H;/*hour*/tem=0; END; DO WHILE tem=32H;/*date*/tem=1; END; DO WHILE tem=13H;/*month*/t
18、em=1; END; DO while tem=100h; /*YEAR */tem=00; END; DO WHILE TEM=21H;tem=19H; END; END; A(K1)=tem; if k1=7 then a(8)=tem;END; END;END;END;end key;main$program:mk=1;sk=1;temp1=0;num=0;p32=1;if sk=0 then call beginset;clk=0;da=0;ale=1;loop:do while mk=1 ;if a(0)6 then a(0)=0; command=0bfh; call rbyt8;call display;do while mk=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《永遇乐 京口北固亭怀古》诗歌用典的情感渲染的情感层次的深化课件
- 公路结构化考试题及答案
- 学校违规有偿补课专项治理行动实施方案
- 药品采购验收储存规范考核试题及答案
- 广东省深圳市盐田区2026年九年级二模英语试卷附答案
- 药品经营企业法律法规及质量管理规范岗前培训试题及答案
- 药品网络销售管理试题及答案
- 水厂专业知识试题及答案
- 医疗器械经营企业设施设备管理培训试题及答案
- 布莱凯特二代智能球说明和使用手册
- 2026河南三门峡市辖区法院省核定聘用制书记员招聘74人考试参考题库及答案解析
- 2026 年三八妇女节 普法宣传方案 课件
- 【新教材】人教PEP版(2024)四年级下册英语 Unit 1 Class rules A Lets talk 教案
- 第一单元 考虑目的和对象(课件)语文新教材统编版八年级下册
- 2026年春季小学科学人教鄂教版(2024)二年级下册教学计划含进度表
- 2026年乌兰察布职业学院单招综合素质考试题库及答案详解(各地真题)
- 2025年江西工业贸易职业技术学院单招职业技能考试题库带答案解析
- 2025年内蒙古机电职业技术学院单招职业适应性测试题库带答案解析
- 高频海事局面试题及答案
- 2025年四川省高考化学真题卷含答案解析
- 公路水运工程施工企业(主要负责人和安全生产管理人员)考核大纲及模拟题库
评论
0/150
提交评论