当前位置:首页 > 单片机35个实例1(汇编)
{
unsigned char m,n,s; for(m=20;m>0;m--) for(n=20;n>0;n--) for(s=248;s>0;s--); }
void main(void) { while(1) {
temp=0xfe; P1=temp; delay(); for(i=1;i<8;i++) {
a=temp<>(8-i); P1=a|b; delay(); }
for(i=1;i<8;i++) {
a=temp>>i; b=temp<<(8-i); P1=a|b; delay(); }
5. 广告灯(利用取表方式) 1. 实验任务
利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。 2. 电路原理图
图4.5.1
3. 系统板上硬件连线
把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八
路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,??,P1.7对应着L8。 4. 程序设计内容
在用表格进行程序设计的时候,要用以下的指令来完成 (1). 利用MOV DPTR,#DATA16的指令来使数据指针寄存器
指到表的开头。
(2). 利用MOVC A,@A+DPTR的指令,根据累加器的值再加
上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
因此,只要把控制码建成一个表,而利用MOVC 工,@A+DPTR做取码的操作,就可方便地处理一些复杂的控制动作,取表过程如下图所示: 5.程序框图
图4.5.2 6. 汇编源程序 ORG 0
START: MOV DPTR,#TABLE LOOP: CLR A MOVC A,@A+DPTR CJNE A,#01H,LOOP1 JMP START LOOP1: MOV P1,A MOV R3,#20 LCALL DELAY
共分享92篇相关文档