单片机基础程序练习题

发布者:omega34最新更新时间:2013-03-19 来源: 21IC 关键字:单片机  基础程序  练习题 手机看文章 扫描二维码
随时随地手机看文章

1、在某程序中需要定义如下变量:

(1)定义数码管的显示0~9的共阴极显示代码(0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07, 0x7f, 0x6f)数组dis_code,将其定义在CODE区。

(2)定义定时器/计数器0的赋计数值的高、低字节变量TL0_L和TH0_H,将其定义在DATA去区的0x30、0x31处。

(3)定义长度为20的无符号字符型数组data_buf于IDATA区中。

(4)定义长度为100的无符号字符型数组data_array于XDATA区中。

(5)先定义一个无符号字符型变量status于BDATA区中,再定义8个与status的8个位对应的位变量flag_lamp1、flag_lamp2、flag_machine1、flag_machine2、flag_port1、flag_port2、flag_calcu1和calcu2(从低位到高位)。

答:

(1)unsigned char code dis_code[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f};

(2)unsigned char data TL0_L _at_ 0x30, TH0_H _at_ 0x31;

(3)unsigned char idata data_buf[20];

(4)unsigned char xdata data_array[100];

(5)unsigned char bdata status;

sbit flag_lamp1=status^0;

sbit flag_lamp2=status^1;

sbit flag_machine1=status^2;

sbit flag_machine2=status^3;

sbit flag_port1=status^4;

sbit flag_port2=status^5;

sbit flag_calcu1=status^6;

sbit flag_calcu2=status^7;

2、在89C52单片机中增加了定时器/计数器2(T2),修改头文件“REG51.H”,添加如下内容:

(1)特殊功能寄存器T2CON、T2MOD、RCAP2L、RCAP2H、TL2、TH2,地址分别为0xc8~ 0xcd。

(2)对T2CON的8个位分别定义位变量CP_RL2、C_T2、TR2、EXEN2、TCLK、RCLK、EXF2、和TF2(从低位到高位)。

(3)定义位变量T2、T2EX对应于P1口的第0位和第1位;定义位变量ET2对应于EI的第5位;定义位变量PT2对应于IP的第5位;

(4)对P1口的8个位分别定义位变量P0_0、P0_1、P0_2、P0_3、P0_4、P0_5、P0_6和P0_7(从低位到高位)。[page]

答:

(1)

sfr T2CON=0xc8;

sfr T2MOD=0xc9;

sfr RCAP2L=0xca;

sfr RCAP2H=0xcb;

sfr TL2=0xcc;

sfr TH2=0xcd;

(2)

sbit CP_RL2=T2CON^0;

sbit C_T2=T2CON^1;

sbit TR2=T2CON^2;

sbit EXEN2=T2CON^3;

sbit TCLK=T2CON^4;

sbit RCLK=T2CON^5;

sbit EXF2=T2CON^6;

sbit TF2=T2CON^7;

(3)

sbit T2=P1^0;

sbit T2EX=P1^1;

sbit ET2=EI^5;

sbit PT2=IP^5;

(4)

sbit P0_0=P0^0;

sbit P0_1=P0^1;

sbit P0_2=P0^2;

sbit P0_3=P0^3;

sbit P0_4=P0^4;

sbit P0_5=P0^5;

sbit P0_6=P0^6;

sbit P0_7=P0^7;

关键字:单片机  基础程序  练习题 引用地址:单片机基础程序练习题

上一篇:高速SoC单片机C8051F040在双基色LED屏中的应用
下一篇:基于MSP430单片机及USB总线的便携式血压计的设计

推荐阅读最新更新时间:2024-03-16 13:20

时频参数测量中存储容量的压缩方法
在智能仪表、网络通讯、过程控制等测控系统应用中,经常需要对脉冲信号的频率(或周期)进行精确测量。常用的方法是被测信号作为闸门信号,而且一个标准频率信号作为填充脉冲,在闸门周期内对标准频率信号计数,如何压缩数据存储量,是本文要解决的主要问题。 1 基于单片机系统的时频参数测量 当采用单片机微处理器测量信号频率(周期)时,定时器T0工作在计数方式,定时器T1工作在定时方式,T1向外部发固定频率的脉冲(时标),T0对时标进行计数。被测脉冲信号产生一个外部中断控制信号,向CPU发出一个中断请求,CPU响应中断,在中断服务程序中把T0的计数值读入数据存储器,数据转移完成后,使T0复位,重新计数,开始新的周期测量,其测量原理如图2所示
[单片机]
LogicPDTIAM3517MCU应用产品开发方案(上)
TI公司的AM3517/05是工作频率高达600MHz的高性能ARM Cortex-A8微处理器,提供3D图像加速和支持包括DDR2, CAN, EMAC以及USB OTG PHY等多种外设,并支持 Linux®, Windows® CE和Android™操作系统,主要应用工业控制,单板机,工业和家庭自动化, 智能白色家电,DTV,PMP,数字摄像机,游戏机和交通等. Logic PD公司的基于TI公司AM3517的可用于生产的软件和硬件平台Zoom AM3517 EVM,包括Logic PD的系统模块(SOM-M2), AM3517应用开发板以及Zoom AM3517 eXperimenter基板.本文介绍了AM3517/05主要
[电源管理]
LogicPDTIAM3517<font color='red'>MCU</font>应用产品开发方案(上)
中颖单片机双核(DSP和MCU)SH99F100基于工业控制中的应用
双核(DSP和MCU)-工业控制中的应用 SH99F100是一款双核(DSP和MCU)芯片,适用于工业控制场合,如电机调速、变频电源等。MCU可以用来处理开关量、输入输出以及通讯,而DSP只需专注于控制算法的运算。 DSP的架构由三个并行的计算单元(ALU,MAC,SHIFTER)、两个独立的地址发生器(DAG)和一个强大的程序序列发生器(PSQ)组成。计算单元提供了所有处理器能够提供的计算功能,包括单周期乘/累加,位操作,移位操作等。双数据地址发生器使得处理器能够在一个周期内从两个数据存储区(Data Memory和Program Memory)同时取出两个数据。程序序列发生器实现了所有指令的单周期操作,快速的中断响应以及嵌套的
[单片机]
[单片机框架][bsp层][nrf51822][nrf51422][nrf51802][bsp_uart] UART配置和使用
Universal Asynchronous Receiver/Transmitter (UART) The Universal Asynchronous Receiver/Transmitter offers fast, full-duplex, asynchronous serial communication with built-in flow control (CTS, RTS) support in hardware up to 1 Mbps baud. Parity checking is supported. The GPIOs used for each UART interface line can be
[单片机]
STC15W408AS单片机LCD1602-4线接法源程序
#include STC15F-15W.h #include LCD16024L1.h /******** 数据定义 ******/ unsigned char code uctech = { 0123456789ABCDEF }; unsigned char code net = { www.51hei.com }; void main(void) { delay_ms(300); //启动等待,等 LCD 讲入工作状态 LCD_init(); //初始化 delay_ms(5); //延时片刻 (可不要 ) LCD_str(0, 0, uctech); LCD_str(0, 1, net); while(1); }
[单片机]
STM32F7高速缓存
STM32F7是第一款带有内部高速缓存的STM32微控制器,所以接下来我们会介绍一些和高速缓存和Cache相关的基本概念,会介绍一些如果是开发者在使用STM32F7的时候需要注意的事情。 STM32F7的内核中带有一级高速缓存,实现了4K的数据缓存和4K的指令缓存。 下面介绍一下什么是高速缓存和与高速缓存相关的一些基本概念。 高速缓存就是高速存储器块,包括地址信息和相关联的数据,它的目的主要是为了提高对存储器的平均访问速度。 执行代码的时候CPU每次都要去访问FLASH,而我们知道FLASH的读取速度是远远低于CPU的主频的,所以需要设置一个等待周期来保证能够正确地从FLASH中把数据读出来。有了Cache之后,第一次访问FL
[单片机]
AVR单片机上电复位不可靠问题的解决
推荐昨晚在调试AVR 单片机时又有一些心得体会,虽然结论是一个很小的问题造成的,但在此还是写出来给大家参考,避免走弯路。 事件描述: 以前用AVR的芯片也做过好几个设计,从来没有怀疑过ATMEL的芯片的稳定性,以前的几个方案都是很稳定的,当然这跟PCB的设计有很大的关系,如果大家需要PCB相关参考资料的话可以到本站的PCB技术专栏里查找,那里有很多前辈的PCB布板心得。 这次用的ATmega48制作的串口电压表就出现一个很奇怪的现象,电路板是用万能板焊接的,程序里用到ADC功能和串口通讯功能,用的AVR下载工具是STK500,每次下载程序后芯片总是不能正常复位工作,还要读取下芯片的特征字或熔丝位让芯片重新复位下才能工作,这时
[单片机]
AVR<font color='red'>单片机</font>上电复位不可靠问题的解决
汽车行驶记录仪中USB HOST相关模块的设计
USB HOST相关模块的总体设计   汽车行驶记录仪中的USB HOST相关模块由单片机、USB HOST接口、FLASH、铁电存储体(FRAM)、实时时钟和电源管理等部分组成,其功能框图如图1所示。汽车行驶记录仪工作时,由单片机通过前端接口电路拾取汽车行驶状态的各种信息,包括车速、发动机转速和各种车辆开关信号等。汽车行驶记录仪以实时时钟为基准,把车辆信息按类别分别存入FRAM和FLASH。需要从汽车行驶记录仪中获取汽车记录状态信息时,用户插入优盘,单片机自动识别优盘并加载驱动程序,当完成设备枚举和Bulk_Only传输协议后,单片机就可以把汽车行驶记录仪中记录的状态信息以文件的形式传输到优盘。本文重点介绍电源模块、USB H
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved