单片机上机试题
更新时间:2023-11-05 10:18:01 阅读量: 综合文库 文档下载
- 单片机上机考试试题推荐度:
- 相关推荐
《单片机应用技术》上机试题
题目一:
用外中断0控制P1口8位LED循环点亮,即按下一次按键,点亮一个灯,再按下按键左移一位点亮,如此循环。设计并仿真出结果。
题目二:
自行设计出一组数据,并让P2口的8位LED按照设计的这组数据顺序进行花样点亮,间隔0.2秒,仿真出结果。
题目三:
自行设计一个按键上具有三个功能,即第一次按下按键时,第一个灯点亮;第二次按下按键,第二个灯点亮;第三次按下按键,第三个灯点亮;第四次按下按键,又是第一个灯点亮,如此循环,仿真出结果。
题目四:
用P2口作输出口,接一位LED数码管,编写程序,使数码管循环显示0~9这十个数,并用定时器T0实现数码管显示间隔0.5秒,设计并仿真出结果。
题目五:
用P2口作输出口,接一个8位的数码管排,采用动态显示的方法,编写程序,是这个数码管排同时显示0~7这八个数,设计并仿真出结果。
题目六:
用单片机U1通过串行口TXD端将一段流水灯控制码以串行口工
1
作方式一发送至单片机U2的RXD,U2再利用该段控制码流水点亮其P1口上的8位LED。设计并编写程序,其中发送程序已知,根据发送程序编写出接收程序,仿真出结果。
数据发送程序:
#include
Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //流水灯控制码,该数组被定义为全局变量
/***************************************************** 函数功能:向PC发送一个字节数据
***************************************************/ void Send(unsigned char dat) {
SBUF=dat; while(TI==0) ; TI=0; }
/************************************************************** 函数功能:延时约150ms
**************************************************************/ void delay(void) {
unsigned char m,n; for(m=0;m<200;m++)
for(n=0;n<250;n++) ; }
/***************************************************** 函数功能:主函数
***************************************************/ void main(void) {
unsigned char i;
TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2 SCON=0x40; //SCON=0100 0000B,串口工作方式1 PCON=0x00; //PCON=0000 0000B,波特率9600 TH1=0xfd; //根据规定给定时器T1赋初值 TL1=0xfd; //根据规定给定时器T1赋初值 TR1=1; //启动定时器T1
2
while(1) {
for(i=0;i<8;i++) //模拟检测数据 {
Send(Tab[i]); //发送数据i
delay(); //每150ms发送一次检测数据 } } }
题目7
数码管显示4*4键盘矩阵按键,编程实现数码管显示按键的键值0~F。采用AT89S51单片机最小系统,P3口外接矩阵式键盘接口电路,P1口外接共阴型七段数码管,如图所示。电路中共有16个按键,按4×4的矩阵式排列,键号依次为0~F。单片机的P3.0~P3.3为输出口,连接4条列线;P3.4~P3.7为输入口,连接4条行线。将下列程序补充完整,并仿真出结果。
C2 22p C3 22p C1 10uF
RP1RESPACK-71U1X1CRYSTAL18XTAL219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516179RSTR11k293031PSENALEEA234567812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51048C159D26AE37BF3
#include
#define uchar unsigned char #define uint unsigned int uchar key;
unsigned char code
disp_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unsigned char code key_code[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7, 0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77 }; void delayms(uint ms) {
uchar t; while(ms--) {
for(t = 0; t < 120; t++); } }
uchar keyscan() //键盘扫描程序 {
uchar scan1,scan2,keycode,j; P3=0xf0; scan1=P3;
if((scan1&0xf0)!=0xf0) //判键是否按下 {
delayms(30); //延时30ms scan1=P3; (?)
void keydown() //判断是否有键按下 {
P3=0x0f;
if((P3&0x0f)!=0x0f) {
keyscan();
P0=disp_code[key]; //在数码管上显示键值 } } main() {
P0 = 0xbf; P3 = 0xff; while(1) {
4
keydown(); } }
题目8
采用AT89S51单片机,利用定时/计数器T0通过P1.1引脚输出周期为25Hz的方波。同时进行测量,信号从P3.5引脚输入,P0、 P2口做输出口,接一个8位LED数码管,编写程序,测出从P3.5引脚输入的方波信号的频率并显示出来。补充下列程序并仿真出结果。
#include
#define uchar unsigned char
5
uchar
display_code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
//定义数组存放显示数据的编码
uchar display_data[8]={0,0,0,0,0,0,0,0}; //定义数组存放显示数据的各位
uchar c1,b1; sbit P1_1=P1^1;
void delay(void) //延时 {
uchar i;
for(i=500;i>0;i--); }
void display() //显示程序 {
uchar i,k; k=0x01;
for(i=0;i<8;i++) {
P2=0;
P0=display_code[display_data[i]]; P2=k; k=k<<1; delay(); }
P2=0; }
void convert() //转换程序 ( ?)
void timer1(void) interrupt 3 //定时器1中断服务程序 {
c1++; }
void timer0(void) interrupt 1 //定时器0中断服务程序 {
TH0=0xb1; //装入时间常数 TL0=0xe0;
P1_1=!P1_1; //P1.1取反,从P1.1引脚输出25Hz的方波信号,通过导线连接
//到P3.5引脚输入,以方便调试程序。若使用其它信号源,则去掉即可。 if (b1==49) {
convert();
c1=0; //将计数值清零
6
b1=0; TH1=0; TL1=0; }
else b1++; }
void main(void) //主函数 {
P0_1=0; c1=0; b1=0; TH1=0; TL1=0;
TMOD=0x51; TH0=0Xb1; TL0=0Xe0; IE=0x8a; TCON=0x50; while(1) {
display(); }
}
7
题目9
用AT89S51单片机芯片和D/A转换器DAC0832组成系统,通过程序设计,控制实现简易波形发生器,能根据需要,通过按键选择输出三角波、方波、锯齿波三种波形,并显示到示波器上。补充下列程序并仿真出结果。
#include
#define uchar unsigned char #define uint unsigned int
#define DAC0832 P2 //将DAC0832定义为P2口; #define ALL 65536 //将ALL定义为65536; #define Fosc 12000000 //频率为12M uchar TH_0,TL_0,flag1,flag=0;
uint FREQ=100,num; //起始频率设定为100HZ float temp;
/***********端口设置***************/ sbit cs=P3^6;
sbit change=P3^2;
/***********初始化函数***********/ void init() {
TMOD=0X01; //设定工作模式 1
temp=ALL-Fosc/12.0/FREQ; //定时器初值计算 TH_0=(uint)temp/256; TL_0=(uint)temp%6; EA=1; //开总中断 EX0=1; //开外部中断
8
IT0=1; //设定下降沿有效工作方式 ET0=1; //设定定时器工作在定时方式 TR0=1; //开定时器中断
/************切换波形函数********************/ void changefreq(void) {
? }
/***********三角波发生函数**********************/ void sanjiaobo(void) {
for(num=0;num<255;num++) {cs=0;DAC0832=num;cs=1;} for(num=255;num>0;--num) {cs=0;DAC0832=num;cs=1;} }
/************方波发生函数*********************/ void fangbo(void) {
cs=0;DAC0832=0XFF;cs=1; for(num=0;num<255;num++); cs=0;DAC0832=0X00;cs=1; for(num=255;num>0;num--); }
/************锯齿波发生函数**********************/ void juchibo(void) {
cs=0;DAC0832=++num;cs=1; }
/*************外部中断服务函数***********************/ void ext0() interrupt 0 {
changefreq(); //引用频率改变函数 }
/**************定时器中断函数****************/ void timer0() interrupt 1 {
? }
/**************主函数********************/ void main() {
init();
9
while(1); }
题目10
用AT89S51作为控制核心,外接8×8矩阵式LED,编写程序,使8×8矩阵式LED循环显示▲◆▼,时间间隔为1s。补充下列程序并仿真出结果。
#include “reg51.h”
#define uchar unsigned char
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[3][8]={ ?}; unsigned int count; // 定义计数变量 uchar ta, tb; void main(void) {
TMOD=0x01; // 设定定时器0工作方式1, 处于定时状态
10
正在阅读:
单片机上机试题11-05
家具陈设与室内装饰风格的协调性08-15
最美丽的相遇(精彩7篇)03-26
家庭装修应该考虑哪些细节问题03-29
如何选择英语短文08-12
新店开业流程方案DOC05-31
购物中的折扣问题207-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 上机
- 单片机
- 试题
- 2018年天津市十二区县重点学校高三毕业班联考(一)
- MSIL教程
- 农村捐资修路功德碑序(碑文)范文
- 2011年中考物理—测电阻的变式(学生版)
- 药物分析重点论述题
- 航空限高申请表格
- 读后感 管钰
- 教育技术促进农村教师专业化发展研究A3 - 图文
- 水利工程测量课程考核说明
- 城镇土地定级和基准地价的关系研究
- 生产线物料管理基本知识
- 柯尼卡美能达162210技术维修模式
- 塑料成型机械期末复习习题及答案 2011.11.15
- 奥鹏西工大16春《画法几何与机械制图(上)》在线作业
- 《论语》导读(上)尔雅答案修订无错版
- 2018-2019学年高中化学人教版必修2课时跟踪检测:(十三)3.2.1 乙烯 Word版含解析
- 第3课 玩转鼠标
- 崩解时限检查标准操作规程
- 四年级数学简便计算
- 测绘综合能力 2015 测绘师