lab1_clk_lsd例程下载到FPGA开发板后,其LED灯循环点亮的循环速度与什么有关?
A.clk频率
B.计数器的计数范围
C.D触发器
D.以上都不是
A.clk频率
B.计数器的计数范围
C.D触发器
D.以上都不是
A.在无按键按下的情况下,初始界面为2个LED灭;
B.K1按下,LED1亮;
C.K2按下,LED1亮;
D.K2按下,LED1与LED2全亮。
单片机的 P34、P35、P36、P37口分别接LED1、LED2、LED3、LED4, 输出低电平点亮LED灯,P20、P21口分别接按键K1、K2,按键按下输入单片机为低电平,程序如下: #include<reg52.h> sbit K1=P2^0; sbit K2=P2^1; bit flag_add=0,flag_rdu=0; void Delay10ms(unsigned char i) //@11.0592MHz { unsigned char j; i =i* 18;j = 235; do{ while (--j); } while (--i); } void main() { char i=0; while(1) { if(K1==0) { flag_add=1;flag_rdu=0; } if(K2==0) { flag_add=0;flag_rdu=1; } if(flag_add)i++; if(flag_rdu)i--; Delay10ms(10); P3=~(i<<4); if(i>=16)i=0; if(i<0)i=15; }> A、按下K1后,4个LED组成0-15的自动减法计数器;
B、按下K1后,4个LED组成0-15的自动加法计数器;
C、按下K2后,4个LED组成0-15的自动减法计数器;
D、在无按键按下的情况下,4个灯全灭。
硬件连接: D1->P1_0 D2->P1_1 …… D8->P1_7(高电平点亮,低电平熄灭) 完善下列CC2530单片机代码,采用中断方式,实现功能: 1、定时器1基于正/倒计数模式定时2秒钟,1次计数周期为40毫秒; 2、8个LED灯D1 -> D8顺向循环流水点亮,显示间隔2秒钟。 #include <iocc2530.h> #define OSC_PD 0x04 #define CLKCONCMD_32MHZ 0x00 /*32MHz XOSC */ #define OSC_32KHZ 0x00 /* external 32 KHz xosc */ #define CLKCONCMD_16MHZ 0x49 /* 16MHz RC0SC */ unsigned char counter; //溢出事件计数器 /**************************************************************** ** main function ****************************************************************/ main() { //设置系统时钟32Mhz CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ); while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ)); //P1口线的普通I/O功能配置 P1DIR = XXXXXX; P1SEL = XXXXXX; P1 = XXXXXX; //定时器1中断初始化代码 ______________________________//清除T1溢出中断标志位① ______________________________//清除T1中断标志位② ______________________________//使能T1溢出中断事件③ ______________________________//使能T1中断④ EA = 1; //定时器1计数器初始化步骤 _______________________________//配置T1CCOL⑤ _______________________________//配置T1CC0H⑥ _______________________________//配置T1CTL⑦ while(1); } /******************************************************************* ** 中断服务函数 ******************************************************************/ ________________________________//T1中断服务函数⑧ { if(_______________________) //识别T1溢出事件⑨ { if(++counter == _________) //判断是否两秒时间到⑩ { XXXXXXXXXXXXXXXXX; counter = 0; } } XXXXXXXXXXXXXXXXXXX; }
A、该状态机是moore型
B、黄灯每次亮5秒
C、红灯每次亮35秒
D、绿灯每次亮35秒
单片机的P34、P35、P36、P37口分别接LED1、LED2、LED3、LED4,输出低电平点亮LED灯, P32口接按键K1,按键按下时单片机输入低电平,程序如下: #include <reg51.h> unsigned char key = 0; void main(void ) { char map0[4] = { 0x7f, 0xbf, 0xdf,0xef }; //LED状态数据 char map1[2] = { 0x3f, 0xcf }; //LED状态数据 unsigned char i = 0; int j = 0; IT0 = 1; EX0 = 1; EA = 1; while (1 ) { i ++; switch (key ) { case 0: {P3 = map0[i % 4 ]; break;} case 1: {P3 = map1[i % 2 ]; break; } } for (j = 0; j < 0x4000; j ++ ); } } void int0(void ) interrupt 0 using 0 { key ++; if(key==2)key=0; }
A、初始状态,4个LED轮流亮灭;
B、第1次按键,P34、P35的2个LED和P36、P37的2个LED轮流亮灭;
C、第2次按键,4个LED轮流亮灭
D、第3次按键,P34、P35的2个LED和P36、P37的2个LED轮流亮灭。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!