首页编程单片机c语言编程题(单片机编程代码大全)

单片机c语言编程题(单片机编程代码大全)

编程之家2026-05-231000次浏览

大家好,今天给各位分享单片机c语言编程题的一些知识,其中也会对单片机编程代码大全进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

单片机c语言编程题(单片机编程代码大全)

c语言单片机考试题目急用

1、uchar state1;//主函数中有 state1变量,整个程序却没有改变量定义,可知,第1空即是该变量的定义。

2、state1=0xfe;或者 state1=~1;//图中 LED为低电平驱动,D1为 P10,循环中直接将state1的值赋值给 P1,所以,要想D1亮,state1的值就必须=0xfe

3、temp=4;//题目要求亮灯按 D1\3\5\7执行,只有 4个步骤,且 for循环的步进值只有-1(temp--),结束条件为temp=0,故temp的初始值应=结束值-步进值×步骤数=0-(-1)×4=4。

4、state1=(state1<<2)+3;//本语句的前半截为左移2位,则低2位变为0,需要补充2个1(即0000 0011b=3),以关闭低2位的灯。

5、j<q;//但这个时间到底多少,没有标准答案,定时不能靠延时函数。晶振不一样,时间不一样。编译器不同,编译结果不一样。单片机类型不同,延时结果不一样。

单片机复习题(C语言)

一.填空题

单片机c语言编程题(单片机编程代码大全)

1. MCS-51单片机是____8____位机,其最大程序容量可达___64_____K字节,有_____4___个并行口和____32____条I/O管脚。

2. MCS-51单片机正常工作所必须的外部硬件电路是___电源_____、___时钟_____、__复位______。

3. MCS-51单片机复位电平是___高_____电平,正常工作时复位端为__低______电平,复位后并所有行口的输出为____高____电平。

4. MCS-51单片机内部结构中,四个基本功能单元分别是___CPU_____、__RAM______、____ROM____、___定时器计数器I/O口_____;三个扩展功能单元分别是____?____、___?____、___?_____。

5. MCS-51单片机内部RAM四个分区分别是__00H到1FH(R0-R7)可位寻址____、____ _ 20H-2FH___、_30H-7FH__ _____、__80H-FFH______。

6. MCS-51单片机___P0_____口没有内部上拉电阻;并行口作为输入口使用时必须保证该端口场效应管__开漏______,即向该端口写___0xff_____,此时该端口的输出锁存器Q端为___1(高电平)_____。

7. MCS-51单片机计数器工作在方式1和方式2的最大计数值分别是_____65536______、___256________。

8. MCS-51单片机若单片机的主时钟振荡频率为6MHz,定时器工作在方式1和方式2的最大定时时间分别是_____自己算!!______ms、___不懂看书!!________us。基本指令周期是___0.5-2_______us。

9. MCS-51单片机的五个中断源分别是___INT0______、__T0_______、_____INT1_____、___T1______、___UART_______。

10.编写程序常用的三种程序结构是 __顺序结构_______、__循环结构_______、___选择结构_______。

11. C语言语法中,数据类型unsigned char定义的是____8_____位无符号数;数据类型unsigned int定义的是___16______位无符号数。对8位和16位有符号数,定义数据类型关键词为___signed char______、____short_____。

12.单片机上电后是从主函数void main()的___0x0000H______位置运行。

13.单片机C语言编程时必须有的固定结构的语句是#include<reg51.h>、void main()以及____while_____。

14. keil集成开发软件的三个主要功能是___编译______、__调试_______、___仿真______。

15.十进制数100对应的十六进制数是____64_____、二进制数是___01100100______。

二.读程序题

默认有关变量x、y、z、a、b、c、i均为unsigned int(8为无符号数)(这个是不是打错了)请写出局部程序运行后的结果,用十进制表示。

1. x= ___6___, y= ___3___, z= __11____, a= ___5___, b= ___15___, c= ___252___。

x= 50/8; y= 100%12; z= 240+26;

a= z>>1; b= x| z; c=~y;

2. x= _183_____, y= __10____, z= __11____, a= __10____, b= __10____, c= ___10___。

x= 0xa5 ^ 0x12; y= 5*2; z= y++

a=--z; b= a& y; c=(a+z)/2;

3. x= ___6___, y= __12____, i= ___3___。

x=0;y=0;

for(i=1;i<=3;i++){

x= x+i;

y= y+ i*2;

}

4. x= __20____, y= ___10___, z= ___81___, a= __8____, b= ____9__,

c= __48____, i= ___8___。

a=0;

if(!a){

x=20; y=x<<2; z=y++;

}else{

x=10; y=x<<2; z=y++;

}

i=2<<2; y=10;

if(i>3&& y){

a=y& 0x0c;

b=++i;

c=x^y;

}

随便做的,有些东东忘了!不懂的自己回去看看书去。

关于51单片机C语言编程的问题。

答:

PinC PinB PinA是位变量(只有两个值0、1);

Address是字节变量(八位二进制数,用16进制表示是从00H到FFH)。

这几句:

PinC=(bit)(Address& 0x04);

PinB=(bit)(Address& 0x02);

PinA=(bit)(Address& 0x01);

的意思是把 Address和后面的 0x04 0x02 0x01进行“与”运算后,转换成位变量。赋给PinC PinB PinA。

bit是位变量的定义。

假如Address取值为4的话,PINA,PinB,PinC分别等于什么值啊?是几位的啊?

PINA为0,PinB为0,PinC为1.

举例说明如下:

0 0 0 0 0 1 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 1 0 0与运算,按位相“与”

0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0与运算,按位相“与”

0 1 1 0 1 1 1 0

0 0 1 1 0 0 1 0

0 0 1 0 0 0 1 0与运算,按位相“与”

两者全为1时结果才是1.

希望对你能有所帮助。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

c语言从1加到100的编程,c语言必背100代码搭建自己的网站(网站平台搭建)