25、 两个四位BCD码相加,被加数和加数分别存于50H,51H,52H,53H单元中(次序为千位、百位在低地址中,十位、个位在高地址中),和数存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。
26、试编程对8155进行初始化。设A口为选通输出,B口为基本输入,C口作为控制联络口,并启动定时器/计数器按方式1工作,定时时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHZ。
27、在一个8031应用系统中扩展一片2764,一片8155和一片6264。试画出其系统框图,并指出所扩展的各个芯片的地址范围
28、 设计一个4×4行列式键盘电路并编写键扫描子程序。
29、试设计一个用8155与有32个按键的键盘连接的接口电路。编写程序实现以下功能:用8155定时器定时,每隔2s读一次键盘,并将其读入的键值存入8155片内RAM 40H开始的单元中。
30、 用8051的P1口作8个按键的独立式键盘接口。试画出其中中断方式的接口电路及相应的键盘处理程序。
31、试用8255为8051微机系统设计一个键盘接口。键盘为3×4个键,其中10个为数1~9,两个为功能键RESET和START。具体要求:
(1)按下数字键后,键值存入3040H开始的单元中(每个字节放一个键值)。 (2)按下RESET(复位)键后,键PC复位成0000H。
(3)按下START(启动)键后,系统开始执行用户程序(用户程序的入口地址4080H)。试画出该接口的硬件连接图并进行程序设计。 32、 试设计一个LED显示器/键盘电路。
33、试为8051微机系统设计一个LED显示器接口,该显示器共有八位,从左到后分别DG1~DG8(共阴极式),要求将内存3080H~3087H八个单元中的十进制(BCD)依次显示在DG1~DG8上。要求:画出该接口硬件连接图并进行接口程序设计。
34、在一个fosc=12MHz的8031应用系统中,接有一片A/D器件ADC0809,它的地址为FEF8H~FEFFH。试画出有关逻辑框图,并编写定时采样8个通道的程序。设采样频率为2ms一次,每个通道采10个数,把所采的数按0~7通道的顺序存放在以1000H为首地址的外部RAM中。
35、在一个fosc=12MHz的8031应用系统中,接有一片D/A器件DAC0832,它的地址为7FFFH,输出电压为0~5V。请画出有关逻辑框图,并编写一个程序,当其运行后0832能输出一个矩形波,波形占空比为1:5。高电平时电压为2.5V,低电平时为1.25V。
36、 试编写延时2ms的程序
37、 用查表程序求0~8之间整数的立方。
38、编写有6个命令键的散转程序。键号为0、1、2、3、4、5;6个键A、B、C、D、1、2的ASCII码放在累加器A中。 39、按下列要求编程。 (1)R7内容送R6中;
(2)外RAM 50H单元内容送内RAM 50H单元; (3)外RAM 1000H单元内容送外RAM 2000H单元; (4)ROM 1000H单元内容送外RAM 8000H单元;
40.已知无符号二字节乘数存在42H41H中,另一无符号乘数存在40H中,试编程实现: 42H41H×40H→42H41H40H
41.已知fosc = 12MHz,试编写延时2s子程序。
42.用软件实现逻辑运算:Q = (R+S)T+(U+V)。其中Q、R、S、T、U和V均为位变量,依次存放在以位地址40首址的位寻址区中。
43.已知某单片机系统每隔1s测一次温度,8位温度A/D值存在特殊功能寄存器SBUF中,试求其1分内的平均值,存40H。
44.已知显示数(≤255)存在30占,试将其转换为共阴显示字段码,存入首址为40H的内RAM中(设共阴显示字段码表已知,且已存在首址为TABD的ROM中)。 45.已知外RAM1000H单元开始存有一组数据,其长度存放在该数据区首字节,要求统计出其中大于10、等于10和小于10 的数的个数,并把统计结果分别存入内RAM 30H~32H单元。
46.已知图8-15循环灯电路,VRXD、VTXD、PIOX1分别为P1.5~P1.7,试利用单字节虚拟串行输出子程序VUARTO编制程序,使发光二极管从右到左,每隔0.5秒依次点亮,不断循环。
47.已知图8-16并入串出电路,VRXD、VTXD、PIOX1分别为P1.0~P1.2,试利用单字节虚拟串行输出子程序VUARTI编制程序,每隔1秒(运用T0中断,fosc=6MHz)从74HC165并行口输入状态数据,并存入内RAM 30H。
48.80C51 P1.4~P1.7分别与93C46 CS 、SK、DI和DO相连,试将80C51内RAM中以30H为首址的10字节数据存入AT93C46首址为40H的区域中。
49.试统计某展览会参展人数。已知展览会有4 个入口,且均已安装检测探头,每进入一人,能产生一个负脉冲,分别输入P3.2、P3.3、P3.4、P3.5。估计参展人数多于10万,试编程,将累计参展人数存32H、
50.已知循环灯电路图6-4,试编程使发光二极管从右至左,每隔0.3秒依次点亮,不断循环。
51.试以串行方式1设计一个发送程序。已知fosc = 11.0592MHz,波特率为2400b/s,SMOD = 1,16个发送数据存在内RAM30H为首地址的区域中。 52.设计一个串行方式2发送子程序(SMOD=0),将片内RAM 40H~47H中的数据串行发送,第9数据位作为奇偶校验位(不校对)。
53.编制一个串行方式2接收子程序(SMOD=1),接收10个数据,并核对奇偶校验位,接收核对正确,存首址为50H的内RAM中;发现错误,置位错误F0,并停止接收。
54. 已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。 CY A DPTR 片外01H 片外00H 片外8000H 55、根据图示电路,编写程序,使0832输出负向锯齿波。
56、设计用单片机P1口控制1位共阴极LED。按键1按下,循环显示0~5,按键2按下,按100μs的间隔显示0和1。设计硬件电路,并编程实现上述功能。
57、单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz, 请编程实现。
58. 使用定时器中断方法设计一个秒闪电路,让 LED 显示器每秒钟有 400ms 点亮。假定晶
振频率为 6MHz ,画出电路连接图并编写程序。
59. 使用 8031 设计一个键盘接口(可用 8155 或 8255)。键盘共有 12 键(3 行× 4列)其
中 10 个为数字键 0 ~ 9 ,两个为功能键 RESET 和 START 。具体要求如下:
(1) 按下数字键后,键值存入 3040H 开始单元中。 (2) 按下 RESET 键后,将 PC 复位为 0000H
(3) 按下 START 键后,系统开始执行用户程序(用户程序的入口地址为 4080H )试画
出该接口的硬件连接图并进行程序设计。
60. 试为 8051 设计一个 LED 显示器接口,该显示器共有八位,从左到右分别为 DG1 ~
DG8(共阴极接法),要求将内存 3080H ~ 3087H 八个单元中的十进制数(BCD)依次显示
在 DG1 ~ DG8 上。要求:画出电路图并进行编程。
61.已知MCS-51单片机系统片内RAM20H单元存放乐一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
62、请写出完成下列操作的指令:
(1)使累加器A的低4位清0,其余位不变。 (2)使累加器A的低4位置1,其余位不变。 (1)使累加器A的低4位取反,其余位不变。
相关推荐: