您好,欢迎来到爱学范文!

当前位置:爱学范文网>>实用资料>>单片机编程习题

单片机编程习题

标签:时间:

【综合文库】

单片机编程习题

张建荣

江西应用技术职业学院

1、某温度控制系统,采集的温度值(Ta)放在累加器A中。此外,在内部RAM54H单元存放控制温度下限制(T54),在55H单元存放控制温度上限制(T55)。若Ta >T55,程序转向JW(降温处理程序);若Ta

3、假设从内存RAM的50H单元,连续存放一串字符,以回车符(其ASCII码为0DH)作为结束标志,要求测出该字符串的长度。测试方法可采用将该字符串的每一个字符与回车符依次相比,若不相等,则将统计字符串长度的计数器加l,继续比较;若比较相等,则表示该字符串结束,这时计数器中的值就是字节符串的长度。 4、编制用软件方法延时1S的程序

5、假设在片内RAM中,起始地址为40H的10个单元中存放有10个无符号数。试进行升序排序。

6、求两个无符号数据块中的最大值。数据块的首地址分别为60H和70H,每个数据块的第一个字节都存放数据块的长度,结果存人5FH单元。 7、设变量 x 以补码的形式存放在片内RAM的30H单元,变量 y 与 x 的关系是:当 x 大于0时,y =x;当 x =0时,y =20H;当 x 小于0时,y =x+5。编制程序,根据 x 的大小求y并送回原单元。

8、根据R7的内容转向相应的处理程序。

设R7的内容为0~N,对应的处理程序的入口地址分别为PP0~PPN。

9、50ms延时程序。

若晶振频率为12MHz,则一个机器周期为1μs。执行一条DJNZ指令需要2个机器周期,即 2μs。采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的循环结构。

10、将内部RAM中起始地址为data的数据串传送到外部RAM中起始地址为buffer的存储区域内,直到发现?$ ?字符停止传送。

11、编写程序,实现c=a2+b2 。设a,b,c分别存于内部RAM的30H,31H,32H三个单元中。

12、设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位数相加的程序。13、编写一段程序,把外部RAM中1000H~1030H的内容传送到内部RAM的30H~60H中。14、编写程序,实现双字节无符号数加法运算,要求 (R1R0)+(R7R6)→(61H60H)。 15、若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。DELAY:MOVR7,#0F6H LP:MOVR6,#0FAH DJNZR6,$ DJNZR7,LP

RET

16、在内部RAM 的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找

出最大数存入BIG单元。

17、编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。

18、编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。 19、编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。 20、试编写一段程序,其功能为将30~32H单元的内容拆成6个半字节依次存放到33~38H单元,既

21、试用逻辑操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。

22、试用位操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。

23、试编写一段程序,其功能为将内部30~32H和33~35H中两个3字节压缩BCD码十进制数相加,将结果以单字节BCD码形式写到外部RAM的1000H~1005H单元。

24、试编制一段程序,其功能为当P1.2上跳时对P1.1的输入脉冲进行计数,当P1.2下跳时停止计数,并将计数值写入R6R7。(假设计数值小于) 25、阅读教材P145页例45~50的程序,分别写出它们的功能。 26、某机床动力头,其行程如图(a)所示, SQ1、SQ2为左、右行程开关,要求:

1)每次按SB1启动,工作3个来回后停止,等待下次启动 2)每次按SB2按钮,在完成当前进给后,停在初始位SQ1处,等待下次启动;

(30H)4~7?33H,(30H)0~3?34H,(31H)4~7?35H,?,(32H)0~3?38H27、试编制十字路口交通灯控制程序,控制时序如下:

1)硬件接线如图,分配如下: HL1:P1.0、P1.4

HL2:P1.1,P1.5 HL3:P1.2,P1.6

HL4:P1.3,P1.7

29、如图所示,当开关S0接通2时,P3.4管脚接地,P3.4=0;当S0接通1时,P3.4接+5 V,P3.4=1。同样,当开关S1接通2时,P3.5管脚接地,P3.5=0;当S1接通1时,P3.5接+5 V,P3.5=1。假设要求P3口的开关状态对应的P1口的8个LED的显示方式如下: P3.5 P3.4显示方式0 0全亮0 1 交叉亮11

+5 V4.7 k?14.7 k?1S0P3.42S101低4位连接的灯亮,高4位灭 低4位连接的灯灭,高4位亮

使用单片机的并行口P1的输出功能来控制8个LED的显示。

8031P3.530、延时子程序:编程使P1口连接的8个LED按下面方式显示:从P1.0连接的LED开始,每个LED闪烁10次,再移向下一个LED,同样闪烁10次,循环不止。

31、16×16点阵字库的点阵信息存放在程序存储器中,假设首地址为CHINESE,每一16×16点阵汉字占32字节,试编写一子程序将顺序号(即机内码)为n(n=0,1,2,…)的16×16点阵字模信息送内部RAM的30H~4FH单元中。

32、假设某菜单有9项。试编写一程序段,根据输入数码转去执行相应的子程序,即输入“1”,执行子程序1;输入“2”,执行子程序2;依次类推,输入“9”,执行子程序9。 23433、利用实验开发板上的555振荡电路产生的4HZ的脉冲信号进行计数,要求每计十个数单灯向左移动一次。 JP1200S3R1812345678131215S314VCC31XTAL11.0592M191891716P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRRXDTXDALE/PPSEN10113029U3P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728CLK123LMRVCCDD9LEDR208R19470U4NE555R4100K3C9104Q7R21100K6VCCDISGNDTRIG2THRC71CVoltC85C133PC233PC1041uF/16V 33、将0~9这十个数循环送P1口七段LED上显示 。 B34、单片机上电,单灯按1HZ频率循环,一旦按下P3.2所接的按键,发光二极管按双灯循环,松开此键,单灯继续原来的循环TitleASizeOrcad ADate:NumberRevision15-Jul-2022Sheetof35、车速自动控制系统中,检测车速V存放到R7中,与标准车速相比较,标准车速V1、V2(V1<V2)分别存放在BUF1、BUF2单元内。若V介于V1、V2之间;汽车正常行驶,若V>V2,汽车减速;若V<V1,汽车加速。试编写该段控制程序。 36、设计程序计算

F=1+(1+2)+(1+2+3)+……+(1+2+3+……+n) 设n足够小,结果不超过255。 37、编程实现下图所示的逻辑功能

(P1.1)(P2.2)(TF0)(IE1)X (20H.0) Y (21H.1)Z +

U(V+W)

+

QQ=U(V+W)(X+Y)Z

38、系统时钟为6MHZ,利用T0和p1.0产生连续矩形波,高电平宽度为50us,低电平度为300us

39、从P1口读入10个数,存入从Buf开始的RAM(要求用0作分隔) 40、试分别用三种方法编程实现数据互换:R0

50H。(设当前工作寄存区为0区)

41、将外部RAM的1000H-10FFH单元顺序(交替)写入数据“0”和“11”,请编写程序。

42、被减数存在31H30H中(高位在前),减数存在33H32H中,试编写其减法程序,差值存入31H30H单元,借位存入32H单元。

43、已知两乘数分别存在R0和R1,试编程求其积,并存入R3R2。

44、已知被除数和除数分别存在31H和30H,试编程求其商,商存入33H,余数存入32H。 45、已知某数大于100,小于256,存于R7中,试编程将其转换为3位BCD码。依次存在R7、R6、R5中。

46、已知一压缩BCD码存在30H中,试将其拆分为两个字节,分别存放在31H32H中(高位在前)。

47、试编程,将位存储单元33H中的内容与位存储单元44H中的内容互换。 48、试编写子程序,使间址寄存器R0所指向的连续两个片外RAM单元中的低4位二进制数,合并为一个字节(R0指向低位地址,合并时放在高四位),并仍放在R0所指的外RAM单元中。 49、用软件实现逻辑函数的功能,F=X⊕Y⊕Z。其中X、Y、Z、F均为位变量,依次存在以位地址20H为首指的位寻址区中。 10、已知电路见图2-19要求实现: ①X0单独按下,红灯亮,其余灯灭; ② X1单独按下,绿灯亮,其余灯灭; ③ X0、X1均按下,红绿黄灯全亮; ④ 其余情况黄灯亮

49、 试编程将R7中无符号数(≤255)转换成三位BCD码,存放在以30H为首址的三字节内RAM中。

50、 试编程将外部RAM1000H―1050H单元的内容清0。

51、 试编写程序,将外部 RAM 2022H~20FFH数据块,传送到3000H~30FFH区域。 52、 试编写程序计算,i个数存在30H中(0≠i<127,并将计算结果存在内RAM31H。 53、 使用循环转移指令编写延时20ms的延时子程序(设单片机的晶振频率为12MHZ)。 54、试编写延时1分钟子程序(设fosc=6MHZ)。 55、 从内RAM30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。

56、 试计算片内RAM区40H——47H八个单元中数的算术平均值,结果存放在4AH。 57、 已知A中的2位十六进制数,试编程将其转换为ASCII码,存入内RAM21H、20H中。

58、 试编程,根据R2(≤85)中数值实现散转功能。 R2=0,转向PRG0; R2=1,转向PRG1;

R2=N,转向PRGN。

59、用位操作实现下列逻辑方程(10分) PSW4=P1.0 · B4+ACC.6 ·P1.2

60、汉字屏滚动显示(要求50字以上)

想了解更多实用资料的资讯,请访问:实用资料
下载文档

看过《单片机编程习题》的人还看了以下文章

延伸阅读

5月8日是世界红十字日,为弘扬红十字会精神,班级往往会出一期红会黑板报,学校会组织同学在校门口开展宣传活动和募捐活动。下面是爱学范文网小编为大家收集整理的世界红十字日活动总结范文,欢迎大家参考!

小学班主任的德育工作总结篇1  本学期,根据学期初德育工作计划,我校以《小学生日常行为规范》为抓手,以《小学生守则》为基础,加强对学生的思想道德、行为规范和礼仪常规教育,坚持“突出重点,注重实效”地开

酒店工作总结篇1  回首20xx年的财务 工作,财务 部在酒店老总的直接领导及团体 财资治理 处的指导下,认真遵守财务 治理 相关条例,按团体 财资治理 处要求实事求是,严以律己,圆满完成了20xx年

企业家讲座心得体会时间:2016-12-24 09:57:52本文内容及图片来源于读者投稿,如有侵权请联系[email protected] 金兰 我要投稿要使企业久盛不衰,企业家不仅要有管理理论

高考录取祝福语你我为了理想而历尽了艰难,才走向了成功之路。但愿你还能记得,永远地记得,那一段充满着奋斗激情的闪亮日子。高考录取祝福语有哪些?相信很多人都想知道吧?以下是小编为您整理的高考录取祝福语相关

《追风筝的人》是一位美国阿富汗作家哈立德·米德哈立德·侯赛尼的第一部小说由李继红翻译,于2023年由上海人民出版社出版。它是2023年美国第三畅销书。以下是为大家整理的关于追风筝的人演讲稿的文章6篇,

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮

2023年班主任培训演讲稿(25篇)2023年班主任培训演讲稿篇1敬爱的“老班”:这样的称呼很熟悉吧?度过了一个炎热的假期,我们的耳边很快又要充斥这样的声音,面对即将到来的

时间流逝得如此之快,前方等待着我们的是新的机遇和挑战,是时候开始写计划了。计划书写有哪些要求呢?我们怎样才能写好一篇计划呢?下面是我给大家整理的计划范文,欢迎大家阅读分享借鉴,希望对大家能够有所帮助。

随着法治精神地不断发扬,人们愈发重视合同,越来越多的人通过合同来调和民事关系,合同能够促使双方正确行使权力,严格履行义务。合同的格式和要求是什么样的呢?这里我整理了一些优秀的合同范文,希望对大家有所帮