单片机课件:课堂例题_第1页
单片机课件:课堂例题_第2页
单片机课件:课堂例题_第3页
单片机课件:课堂例题_第4页
单片机课件:课堂例题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例: 某单片机系统外接晶振频率为6MHz,使用定时器1以工作方式1产生周期为500us的等宽连续正方波脉冲,并在P1.0端输 出。以中断方式、查询方式完成。 TMOD寄存器初始化 T1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7TMOD10HTH1FFHTL1=83H TH1= X/256; TL1= X%256;#includesbit P1_0=P10;void main() TMOD=0 x10; TH1=65411/256; TL1=65411%256; EA=1;ET1=1;TR1=1; while(1); void tim0_int()

2、interrupt 3 TH1=0 xff; TL1=0 x83; P1_0=!P1_0; 中断方式: ORG 0000H LJMP MAIN ORG 001BH AJMP LOOPMAIN: MOV TMOD,10H MOV TH1,0FFH MOV TL1,083H SETB EA SETB ET1 SETB TR1 SJMP END中断服务程序:LOOP: MOV TH1,0FFH MOV TL1,083H CPL P1.0 RETI 查询方式ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV TMOD,10H ; MOV TH1,0FFH ; MOV TL1,

3、83H MOV IE,00H ; SETB TR1 ;LOOP: JBC TF1,LOOP1 ; AJMP LOOP LOOP1:MOV TH1,0FFH ; MOV TL1,83H CLR TF1 ; CPL P1.0 ; AJMP LOOP ; END#includesbit P1_0=P10;void main() TMOD=0 x10; TH1=0 xff; TL1=0 x83; IE=0;TR0=1; while(1); if(TF1=1) TH1=0 xff; TL1=0 x83; P1_0=!P1_0; 例:利用D/A转换器输出如下波形。 分析:分析: 1V1VDx=51Dx=5

4、1;2V2VDx=102Dx=102DELAY: MOV R7DELAY: MOV R7,#N,#N DJNZ R7DJNZ R7,$ $ RET RET上升段:上升段:t1=10mst1=10ms10ms/51=196s10ms/51=196sDelay t2=196-7=189sDelay t2=196-7=189s#N=189/2=94=5EH#N=189/2=94=5EH#include “reg51.h”#include “reg51.h”#include “#include “absacc.habsacc.h”#define DA0832 XBYTE0 x7fff#define D

5、A0832 XBYTE0 x7fff#define #define ucharuchar unsigned char unsigned charMain()Main() ucharuchar i; i; while(1) while(1) for(i=51;i=102;i+) for(i=51;i=51;i-) for(i=102;i=51;i-) delay(196ms); delay(196ms); DA0832=i; DA0832=i; void delay()void delay() ucharuchar i; i; for(i=0;i0 xff;i+) for(i=0;i0 xff;

6、i+) ; ; ORG 0000H ORG 0000H MOV DPTR,#7FFFH MOV DPTR,#7FFFH MOV A,#33H MOV A,#33H LOOP1: MOVX DPTR,A LOOP1: MOVX DPTR,A ;上升段;上升段 LCALL DELAYLCALL DELAY INC A INC A CJNE A,#66H CJNE A,#66H,LOOP1LOOP1 LOOP2: MOVX DPTR,A LOOP2: MOVX DPTR,A ;下降段;下降段 LCALL DELAYLCALL DELAY DEC A DEC A CJNE A,#33H CJNE A,

7、#33H,LOOP2LOOP2 LJMP LOOP1 LJMP LOOP1 DELAY: MOV R7 DELAY: MOV R7,#5E ;#5E ;延时延时189189SS DJNZ R7DJNZ R7,$ $ RET RET 例:例:独立式按键与数码管显示独立式按键与数码管显示 要求:要求: KEY0KEY0接接P1.0P1.0,KEY1KEY1接接P1.2P1.2,KEY2KEY2接接P1.4P1.4,KEY3KEY3接接P1.6P1.6。KEY0KEY0按下个位显示按下个位显示“1 1”,KEY1KEY1按下按下十位显示十位显示“2 2”, KEY2 KEY2按下百位显示按下百位显示

8、“3 3” KEY3 KEY3按按下千位显示下千位显示“4 4”XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A102

9、3P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C130PFC230PFX1CRYSTALR110kC410uFR1410kR1510kR1610kR1710kR1810kR1910kR2010kR2110kK0K1K2K3#include #include#define uchar unsigned char#define uint unsigned intsbit K0=P10;sbit K1=P12;sbit K2=P14;sbit K3=P16;code uchar seg7code10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; code uchar seg7bit6=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20;main() if(K0=0) delay(10); if(K0=0) P2=seg7bit3; P0=seg7code1; if(K1=0) delay(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论