1、(3) C语言源程序#include sbit L1=P10;void delay02s(void) /延时0.2秒子程序unsigned char i,j,k;for(i=20;i0;i-)for(j=20;jj-)for(k=248;kk-);void main(void)while(1)L1=0;delay02s();L1=1;广告灯的左移右移进一步熟悉软件的操作和使用方法;(1)做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1L8分别接在单片机的P1.0P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0P1.1P1.2P1.3P1.7P1.6P1.0亮,重复循
2、环。(2)比较程序的特点,了解语言程序设计的基本思路和指令应用。(1)输入程序1并检查无误,对程序进行调试(2)按照实验连线要求连接,运行程序观察二极管的是否是不停的亮灭。(3)输入程序 、调试和装载;(4) 运行程序 ,观察8个二极管的亮灭情况是否为顺序点亮七、实验电路图及程序流程图每次送出的数据是不同,具体的数据如下表1所示 :P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0说明L8L7L6L5L4L3L2L11L1亮L2亮L3亮L4亮L5亮L6亮L7亮L8亮表1 程序框图 unsigned char i;unsigned char temp;unsigned char a
3、,b;void delay(void)unsigned char m,n,s;for(m=20;mm-)for(n=20;nn-)for(s=248;ss-);temp=0xfe;P1=temp;delay();for(i=1;i8;i+)a=temp(8-i);P1=a|b;a=tempb=tempstring.h/*初始化串口,使用中断*/void init_serialcomm( void ) SCON = 0x50 ; /SCON: serail mode 1, 8-bit UART, TMOD |= 0x20 ; /TMOD: timer 1, mode 2, 8-bit reloa
4、d (TH=TL=初始值)定时器T1工作于方式2PCON |= 0x80 ; /SMOD=1;/TH1 = 0xF4 ; /Baud:4800 fosc=11.0592MHz TH1 = 0xFA ;9600 fosc=11.0592MHz /TL1 = 0xF4 ;TL1 = 0xFA ;IE |= 0x90 ; /Enable Serial Interrupt TR1 = 1 ; / timer 1 run /EA = 1; /开CPU 中断/ES = 1; /允许串行口中断/向串口发送一个字符 void send_char_com( unsigned char ch) SBUF=ch;w
5、hile (!TI);TI= 0 ;/向串口发送一个字符串 void send_string_com( unsigned char *str) while (*str != 0x00) send_char_com(*str); str+;/串口接收中断函数 void serial () interrupt 4 using 3 if (RI) unsigned char ch; RI = 0 ; ch=SBUF; send_char_com(ch);main() unsigned i,j,k=1;init_serialcomm(); /初始化串口 send_string_com(串口调试现在开始 ); /注意:当使用send_string_com函数一次发送的字符串较长时需设置较高的波特率,/否则传输时会出现乱码 ;本程序调试成功了
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1