单片机编程习题
更新时间:2023-11-28 03:49:01 阅读量: 教育文库 文档下载
单片机编程习题
张建荣
江西应用技术职业学院
1、某温度控制系统,采集的温度值(Ta)放在累加器A中。此外,在内部RAM54H单元存放控制温度下限制(T54),在55H单元存放控制温度上限制(T55)。若Ta >T55,程序转向JW(降温处理程序);若Ta 2、已知有10个单字节数,依次存放在内部RAM 40H单元开始的数据存储区中,求和并将结果存人寄存器R2、R3中(高位存R2,低位存R3)。 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:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$ DJNZ R7,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单元,既 (30H)4~7?33H, (30H)0~3?34H, (31H)4~7?35H, ? , (32H)0~3?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处,等待下次启动; 27、试编制十字路口交通灯控制程序,控制时序如下: 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 交叉亮 1 0 低4位连接的灯亮,高4位灭 1 1 低4位连接的灯灭,高4位亮 使用单片机的并行口P1的输出功能来控制8个LED的显示。 80314.7 k?S0 1P3.4 2 4.7 k?S11P3.5 +5 V30、延时子程序:编程使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上显示 。 B 34、单片机上电,单灯按1HZ频率循环,一旦按下P3.2所接的按键,发光二极管按双灯循环,松开此键,单灯继续原来的循环 TitleASizeOrcad ADate:NumberRevision15-Jul-2005Sheet of 35、车速自动控制系统中,检测车速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) + Q Q=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 2000H~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字以上)
正在阅读:
单片机编程习题11-28
关于近期个别电脑无法正常登陆OA的说明(附解决方案) - 图文09-10
图书室采购计划范文05-06
高中数学人教B版必修3课时作业第3章 概率 3.2.2 Word版含答案05-08
医院财务报销制度及报销流程11-25
录音课基础考试大纲11-16
备战版高考语文一轮复习 专题11 名句名篇默写与文学常识试题含解03-27
汇丰银行的管理培训生制度06-03
《现代汉语》11-04
安全生产三项制度04-04
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 单片机
- 习题
- 编程
- 北理工珠海学院《数据结构》习题集:第3章 栈和队列(第1次更新2012-3)
- 信号与系统的重点、难点及疑点
- 古代汉语专题基础汉字学教程试题解答举例及考核知识点
- 2017-2018学年江苏省徐州市七年级(上)期末语文试卷
- 高三第一轮英语单项选择题扎实冲刺004
- 民用爆炸物品库装卸、运输、储存安全试题(带答案)
- 2018小升初语文专项复习口语交际与综合性学习精编习题
- 2、职业卫生管理档案
- 税务系统“业务竞赛” 试题
- H-E染色
- 《大学物理习题集》(上)习题解答 - 20030106 - 图文
- 农村社会调查研究方法
- 2010年北京中考一模语文分类汇编 - 议论文
- 仪器分析复习题(1)
- 2005年下半年网络工程师试题
- 保通方案
- 浙江省中学生研究性学习活动成果评比获奖名单
- 烟台市2019年高考一模诊断性测试理科数学
- 最新国企公司党代会党委工作报告
- ACCESS第1章 数据库习题及答案