单片机原理及应用课程设计.pdf资料

单片机原理及应用课程设计.pdf资料
单片机原理及应用课程设计.pdf资料

2013 级单片机原理及应用课程设计数字温度计的设计与制作

姓名:宋昊明

专业:电子信息科学与技术

学号:201340620124

指导教师:周小波

二零一五年十二月

数字温度计

1. 设计任务与要求

1.1 设计要求

1、设计一个能显示当前环境温度的数字温度计;

2、拟定设计步骤和测试方案;

3、根据设计要求和技术指标设计好电路,选好元件及参数;

4、绘出原理图,画出 PCB 图,并制出实物;

5、撰写设计报告;

6、预留相关技术指标的测试端口。

2. 总体方案设计概述

2.1 系统总体方案设计

本设计以检测温度并显示温度为目的,按照系统设计功能的要求,确定系统由三个模块组成:主控器、测温电路、显示电路。

系统以 STC12C5404AD 为主芯片,对热敏电阻传入的温度值进行处理,由单片机程序控制,将处理后的温度用四位一体的数码管显示出来。

2.2 各功能模块

2.2.1 温度检测

由热敏电阻感知环境温度,改变自身阻值,通过分压法来测出电压值,从而测出温度大小。

2.2.2 温度显示

将数据用四位一体数码管显示,处理过程主要由单片机程序控制

3. 硬件系统设计

3.1 总体电路设计

总电路原理图和 PCB 图如下

- 1 -

- 2 -

3.2 主控制器 STC12C5404AD

STC12C5410 系列单片机是单时钟/机器周期的兼容 8051 内核单片机,是高速/低功耗的新一代 8051 单片机,全新的流水线/精简指令集结构,内部集成 MAX810 专用复位电路。

3.3 测温电路工作原理

3.3.1 测温电路的选择

①恒流源法

- 3 -

②电桥法:精度高但电路较为复杂

③分压法:电路简单但精度差

综合考虑,本设计选择分压法

下图为本实验测温电路原理图

分压电路ADC7

热敏电阻R14,R16不能太大,否则会分流

- 4 -

3.4 显示电路工作原理

数码管驱动电路如图所示

4 个三极管所在电路为数码管位选端驱动电路,端口分别为 W1,W2,W3,

W4。其余A-H为数码管段选段

3.5 下载电路

电脑USB接口供电,约5V。TXD、RXD接口用于下载程序。

- 5 -

4. 程序设计

#include "reg51.h" #include "intrins.h" #include "math.h"

typedef unsigned char BYTE; typedef unsigned int WORD;

/*Declare SFR associated with the ADC */ sfr AUXR = 0x8e;

sfr ADC_CONTR = 0xC5; //ADC control register

sfr ADC_DATA = 0xC6; //ADC high 8-bit result register sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register sfr P1M0 = 0x91; //P1 mode control register0

sfr P1M1 = 0x92; //P1 mode control register1

#define ADC_POWER 0x80 //ADC power control bit #define ADC_FLAG 0x10 //ADC complete flag

#define ADC_START 0x08 //ADC start control bit #define ADC_SPEEDLL 0x00 //1080 clocks #define ADC_SPEEDL 0x20 //810 clocks

#define ADC_SPEEDH 0x40 //540 clocks #define ADC_SPEEDHH 0x60 //270 clocks

void Delay(WORD n); void InitADC();

void delay_s(unsigned int N);

void display(unsigned char num,unsigned x); void display_num(unsigned int num);

void get_data();

unsigned char

tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0x84,0xf5,0x89,0xc 1,0xf0,0xc2,0x82,0xe5,0x80,0xe0

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90

float wendu;

unsigned int temp = 0; float R=0;

unsigned char flag=0;

BYTE ch = 7; //ADC channel NO.

- 6 -

sbit point = P3^7; //小数点 sbit W1 = P3^2; //数码管位选 sbit W2 = P3^3; sbit W3 = P3^4; sbit W4 = P3^5;

void main()

{

InitADC(); //Init ADC sfr

AUXR |= 0x10; //set EADCI

IE = 0xa0; //Enable ADC interrupt and Open master interrupt switch

while (1)

{

display_num(wendu);

}

}

/*----------------------------

ADC interrupt service routine

----------------------------*/ void

adc_isr() interrupt 5 using 1

{

flag++;

ADC_CONTR &= !ADC_FLAG; //Clear ADC interrupt flag

temp=ADC_DATA;

temp=temp<<2;

temp=temp|ADC_LOW2;

if(flag==10)

{

flag=0;

if(temp<451)//TEMP = 10240/(R+10) wendu=(42.16-11059.2/temp)*100;//-720c;38.3988K12.69K, TEMP(211,451) T=31.36-1.08*R

else if(451<=temp<=518)

wendu=(61.91-18944.0/temp)*100;//20 25c;12.65k,10k TEMP(451,512) T=43.41-1.85*R

else if(512<=temp<=655)

wendu=(96.87-37478.4/temp)*100;//26 40c;9.5762k,5.734k TEMP(523,651) T=60.269-3.66576*R

else if(655<=temp<=800)

wendu=(149.53-72089.6/temp)*100; //41 60c;5.54.5k,2.825k TEMP(659,798) T=79.134-7.04*R

else

wendu=(291.23-185856.0/temp)*100; //61 90c;2.7762k 1.236k

TEMP(801,911) T=109.731-18.147*R

}

- 7 -

ADC_CONTR = ADC_POWER | ADC_SPEEDHH | ADC_START | ch;

}

void InitADC( )

{

P1 = P1M0 = P1M1 = 0xff; //Set all P1 as Open-Drain mode

ADC_DATA = 0; //Clear previous result

ADC_CONTR = ADC_POWER | ADC_SPEEDL | ADC_START | ch;

Delay(2); //ADC power-on delay and Start A/D conversion

}

void SendData(BYTE dat)

{

while (!TI); //Wait for the previous data is sent

TI = 0; //Clear TI flag

SBUF = dat; //Send current data

}

void get_data()

{

float val=0.0;

float r = 0.0;

temp = ADC_DATA;

temp<<2;

temp = temp|ADC_LOW2 ;

wendu=(35.28-1.1*r)*10;//35.28-1.1*10240/TEMP+11 46.28-11264/TEMP

}

void Delay(WORD n)

{

WORD x;

while (n--)

{

x = 5000;

while (x--);

}

}

void delay_s(unsigned int N)

{

while(N--);

}

void display(unsigned char num,unsigned x)

- 8 -

数字温度计的设计与制作

{

switch(x)

{

case 1:W1=0;W2=1;W3=1;W4=1;point=1; P1=tab[num];break;

case 2:W1=1;W2=0;W3=1;W4=1;point=0; P1=tab[num];break;

case 3:W1=1;W2=1;W3=0;W4=1;point=1; P1=tab[num];break;

case 4:W1=1;W2=1;W3=1;W4=0;point=1; P1=tab[num];break;

//default:P1=0x00;P3=0x00;break;

}

delay_s(300);

}

void display_num(int num)

{

unsigned char g,s,b,q;

if(num>=0)

{

q = num/1000; b

= num/100%10; s

= num/10%10; g

= num%10;

display(q,1);

P1=0xff;

display(b,2);

P1=0xff;

display(s,3);

P1=0xff;

display(g,4);

P1=0xff;

}

else

{

num = 0-num;

//q = num/1000;

b = num/100%10;

s = num/10%10;

g = num%10;

display(10,1);

P1=0xff;

display(b,2);

P1=0xff;

display(s,3);

P1=0xff;

- 9 -

数字温度计的设计与制作

display(g,4);

P1=0xff;

}

}

5.制作过程

5.1选择测温度电路——分压法

5.2选择及购买实验器材

5.3 设计实验原理图

5.4 PCB工程制图

5.5 制作电路板:打印打孔,泡溶液,焊接元器件,下载程序,检测调试,成品 5.6 制作后续材料

5,7 相关图片:

- 10 -

6.心得体会

通过此次课程设计,使我更加扎实的掌握了单片机制作方面的知识,“纸上得来终觉浅,绝知此事要躬行” 在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了问题所在,也暴露出了我这方面的知识欠缺和经验不足。通过亲自动手制 作,使我们掌握的知识更佳灵活的运用。在这次的课程设计中不仅检验了我所学习的知识,也 培养了我如何去把握一件事情。在设计过程中,相互探讨,相互学习,相互监督。学会了合作,学会了相互学习。课程设计是我们专业课程知识综合应用的实践训练。在这次设计过程中,体现出自己单独设计能力以及综合运知识的能力,体会了学以致用、收获自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,加以弥补。在这次设计制作过程中,我也发现了作为一个实验人员应当具备 眼镜细心耐心的工作和学习的态度,比如焊接电路时需要耐心和细心,注意不能焊成短路和断路。而且在调试电路接通电源前一定要反复检查焊接是否有误。在做 pcb 板时也没有注意到焊 盘问题,导致最后焊接十分麻烦。总而言之,这次课程设计受益匪浅,收获很多,感谢老师和同学的帮助,同时感谢自己的努力,坚持到底,不放弃的精神。

6. 参考资料

《单片机原理及应用》(第二版) 张毅刚等著

- 11 -

基于AT8951单片机原理及应用

◎<习题一>◎<习题二>◎<习题三> ◎<习题四>◎<习题五>◎<习题六> ◎<习题七>◎<习题八>◎<习题九> ◎<习题十>◎<总复习题> ※<习题一> 第一章习题答案 一、选择题 DCABD DACAC ACDBA BCCBA BB (ABE) B 二、计算题 1、将下列十进制数分别转换成二进制、十六进制和BCD码的 形式 (1)33D=00100001B=21H=00110011BCD (2)22 .37D=00010110.0101B=16.5H=00100010.00110111BCD 2、将下列二进制数分别转换成十进制、十六进制的形式。(1) 10101100 B=172D=ACH (2) 1001.01 B= 9.25D=9.4H (3)11001100. 011B=CC.6H=204.375D 3、将下列十六进制数分别转换成二进制、十进制的形式。(1)7B H=01111011B=123D (2)0E7.2 H=231.125D=11100111.0010B (3)21A9H=8617D=0010000110101001B 4、将下列BCD码转换成十进制数。 (1)10010010BCD=92D (2)01010010=52D (3)1000111. 0110=47.6D 5、将下列带符号数分别用原码、反码、补码来表示。 (1)+39 原码、反码、补码为00100111B

(2)-121 原码为11111001B,反码为10000110B,反码为10000111B 三、填空题 1、带符号数在机器中可用_原_码、_反_码和_补_码表示。 2、___运算器___和_控制器_____是计算机硬件的核心,称为中央处理器(CPU)。 3. CPU一次可处理的二进制数的位数称为___字长___。 4、字长为___8___的整数倍。 5、.MCS-51的最基本时间单位是_ 时钟___周期。 6、.8051的一个机器周期由___12___个时钟周期组成。 7、半导体存储器分为__ROM__和__RAM____。 8、根据信息传送的属性,总线可分为___地址总线___、_数据总线_____和__控制总线____。 四、问答题 1、什么是字长?Intel公司的MCS-51系列单片机的字长是多少?答:字长是指计算机能一次处理二进制数码的位数,MCS—51系列单片机字长为8位,又称8位机。 2、简述半导体存储器的分类及各类存储器的功能。 答:(1)只读存储器(ROM) ROM在使用过程中,存储的信息只能被读出,而不能用通常的方法写入。在系统断电时,ROM中的信息并不会丢失。因此,这类存储器适用于存放各种固定的系统程序、应用程序和常数等。 ROM按制造工艺的不同可分为以下几种: A)掩膜ROM 存储在ROM中的信息是在生产过程中用“掩膜”工艺固化在ROM芯片中的,一旦做好,不能更改。只适用于存储成熟的固定程序和数据,在大批量生产时,可降低成本。 B)可编程ROM(PROM) PROM中的信息是由用户写入,但只能写一次,写入后的信息以后不能更改。 C)可擦除ROM 允许用户对已写入的信息进行多次修改,但修改之前要先将原来的内容擦除掉,按擦除方法不同,又分为两种: 紫外线擦除的ROM(EPROM):在芯片上有一窗口,用紫外线擦抹器照射该窗口约20分钟后就可擦除,然后加规定的编程电压可重新写入程序。 电擦除的ROM(EEPROM):它允许用户利用+5V的电压擦除已存入的信息,并可进行重新写入,擦除和写入过程可在线完成,不需将芯片从用户系统中取出。

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

单片机教程详细图解-新华龙单片机学习教程

新华龙单片机学习入门教程基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。 单片机老鸟寄语:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_* 拿到这本教程您首先就会想,什么是 IAP 教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。 至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。 接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把它全部掌握了再去做产品开发(当然天才就例外了*_*)。 基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。 如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:ROM 和RAM 存储器的扩展,并行口的扩展,串行口的扩展,A/D 和D/A 与单片机的接口)以及相关开发工具和软件的使用(包括KELL C51 的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦! 为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。 由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。

单片机原理及应用期末考试试卷及答案

苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)

单片机原理及应用 设计报告

单片机设计报告 编写:HUBU2015级通信工程xmx 2017年5月23日 一、设计的目的与要求 利用8*8LED点阵动态显示汉字的字样。采用STC89C52单片机作为整个控制搭电路的核心,并编制软件程序,实现汉字的显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。 1、设计一个8*8点阵LED电子显示屏。 2、要求在目测条件下LED显示屏各点亮度均匀、充足,可显示一个“大”字。 二、总体方案设计 2.1 硬件电路的总体设计 1、设计总体框图 硬件电路的设计框图如图1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。 2、工作原理 由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P1口控制列,通过软件编程,即可实现汉字的显示。

3、元器件清单 2.2系统软件的设计 软件程序主要由开始、初始化、主程序、字库和延时子程序组成。 三、系统硬件电路的具体设计 3.1 时钟电路 STC89C52单片机内部的振荡电路是一个高增益反向放大器,引线X1和X2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。STC89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。

内部时钟方式:利用其内部的振荡电路在X1和X2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 X1和X2之间接晶体振荡器与电路构成稳定的自激振荡器,如图4所示电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30PF 左右 3.2 复位电路 单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。其中R1选择10KΩ左右的电阻,电容器一般选择10μF。 3.3显示电路的设计 本次设计中采用8*8点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种。设计中用到的是“列共阳,行共阴”,即“列用高电平控制,行用低电平控制”。图中画

单片机原理及应用习题答案第三版(供参考)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程序修改。有8位Flash子系列、ISP_Flash子系列、I2C_Flash子系列; (3)SST公司的SST89系列单片机:具有独特的超级Flash技术和小扇区结构设计,采用IAP和ISP技术;

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

单片机原理及应用设计(胡辉主编)

第 第第 第6 66 6章 章章 章 单片机的定时器 单片机的定时器单片机的定时器 单片机的定时器/ // /计数器 计数器计数器 计数器 习题 习题习题 习题 1.MCS-51系列的8051单片机内有几个定时/计数器?每个定时/计数器有几种 工作方式?如何选择? 答:MCS-51系列的8051单片机内有2个定时/计数器,即T0和T1,每个都可以编程为定时器或计数器,T0有四种工作方式(方式0—13位、方式1—16位、方 式2-可自动装入初值的8位、方式3-两个8位),T1有三种工作方式(与T0相 同的前三种),通过对TMOD的设置选择,其高四位选择T1,低四位选择T0。2.如果采用的晶振频率为3MHz,定时/计数器TO分别工作在方式0、1和2下,其最大的定时时间各为多少? 答:如果采用的晶振频率为3MHz,机器周期为12×1/(3*106)=4us,由于定时/ 计数器TO工作在方式0、1和2时,其最大的计数次数为8192、65536和256 所以,其最大定时时间分别是:方式0为8192×4us=32.768ms、方式1为65536 ×4us=262.144ms、方式2为256×4us=1024us。 3.定时/计数器TO作为计数器使用时,其计数频率不能超过晶振频率的多少?答:由于定时/计数器TO作为计数器使用时,是对外部引脚输入的脉冲进行计数,CPU在每个机器周期采样一次引脚,当前一次采样为高电平,后一次采样为低电平,则为一次有效计数脉冲,所以如果晶振频率为fosc,则其采样频率fosc/12,两次采样才能决定一次计数有效,所以计数频率不能超过fosc/24。 4.简单说明定时/计数器在不同工作模式下的特点。 答:方式0为13位的定时/计数器,由THx的8位和TLx的低5位构成、方式1 为16位的定时/计数器,由THx的8位和TLx的8位构成,方式2为8位的定时/ 计数器,TLx为加1计数器,THx为计数初值寄存器。方式3只能用于T0,是将 T0的低8位用作一个独立的定时/计数器,而高8位的TH0用作一个独立的定时

单片机原理及其应用下试卷a答案

湖北文理学院机械与汽车工程学院 2016-2017学年度下学期《单片机原理及其应用》试卷A答案与评分标准 专业(班级)学号姓名 课程类别: 适用专业:机械制造及其自动化 适用年级:15级 一、填空题(在下列题目横线处填写正确答案,每空1分,共20分。) 1、8051单片机的5个中断源入口地址分别是①0003H ②000BH ③0013H ④0001BH⑤0023H。 2、Keil uVision软件中,执行程序MOV 10H,#30H;MOV R0,#10H;MOV A,R0后,在存储器窗口键入D:10H指令,观察到(10H)=30H;寄存器A的内容为(A)=10H。 3、80C51的汇编程序中,若(SP)=10H,已知(R2)=10H, (R3)=20H,顺序执行指令PUSH 02H ;PUSH 03H;POP 00H ;POP 01H后,则(R0)= 20 H;(R1)= 10H H;(SP)=10H。

4、MOV A,P0 指令中,源操作数是直接寻址,目的操作数是寄存器寻址。 5、伪指令ORG 2000H,TAB:DB ‘1’,1H,12H,10,c定义后,在keil Keil uVision软 件中用指令c:2001H观察的结果是1H ,字符c存放在ROM空间的2004H 单元 内。 6、已知(DPTR)=TAB,(A)=03H,程序段ORG 1000H,TAB:DB 01H,02H,03H,04H,05H 则TAB符号地址对应的数值地址是1000H 。 7、8051单片机汇编语言对累加器A中第1,5,7位置1的汇编指令是ORL A,#B 。 8、keil软件使用时,观察外部RAM空间100H单元内容的指令是x:100H;使用其编译源程 序后生成的机器语言文件扩展名是.HEX。 9、已知(A)=44H,(R0)=30H;执行指令SWAP A后(A)=44h;执行指令XCH A,R0;R0=44H。 二、单项选择题(在四个备选答案中选一个正确答案,每小题2分,共20分) 1、80C51单片机的中断优先级是(A)级中断系统。 A.所有中断源优先级别都一样 B. 2级 C.3级 D. 5级 2、下列(B )指令编译后不会形成目标代码。 A. XCH B. END C.DJNZ D. LCALL

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机原理与应用第二版(张毅刚主编)课后习题答案.pdf

1.答:系统连接简单:I2C 总线系统的基本结构如图12-7。I2C 总线系统直接与具有I2C 总 线接口的各种扩展器件(如存储器、I/O 芯片、A/D、D/A、键盘、显示器、日历/ 时钟)连接。I2C 总线对各器件寻址采用纯软件的寻址方法,无需片选线的连接,这样就大大简化了 总线数量,系统各部件之间的连接只需两条线。数据传输速率较高:在标准I2C 普通模式下,数据的传输速率为100kbit/s ,高速模式下可达400kbit/s 。2.答:I2C 总线的起始信 号和终止信号都由主机发出,在起始信号产生后,总线就处于占用状态;在终止信号产生后, 总线就处于空闲状态。由图12-9 见起始信号和终止信号的规定。(1)起始信号(S)。在 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号,只有在起始信号以后, 其他命令才有效。(2)终止信号(P)。在SCL线为高电平期间,SDA线由低电平向高电平 的变化表示终止信号。随着终止信号的出现,所有外部操作都结束。3.答:无论I2C 总 线上的数据传输方向由寻址字节中的数据传输方向位规定:寻址字节器件地址引脚地址 方向位DA3 DA2 DA1 DA0 A2 A1 A0 R/ =1,表示主机接收(读)。R/ =0,表示主机发送(写)。 4.答:单片机对I2C 总线中的器件寻址采用软件寻址,主机在发送完起始信号后,立即发 送寻址字节来寻址被控的从机,寻址字节格式如题 3 所示。7 位从机地址即为“DA3、DA2、DA1、DA0”和“A2、A1、A0”。其中“DA3、DA2、DA1、DA0”为器件地址,是外围器件固 有的地址编码,器件出厂时就已经给定。“A2、A1、A0”为引脚地址,由器件引脚A2、A1、 A0 在电路中接高电平或接地决定(见图12-12)。5.答:I2C 总线数据传送时,传送的字 节数(数据帧)没有限制,每一字节必须为8 位长。数据传送时,先传送最高位,每一个被 传字节后面都须跟 1 位应答位(一帧数据共9 位),如图12-10。I2C 总线在传送每一字节数 据后都须有应答信号A,A 信号在第9 个时钟位上出现, A 信号对应的时钟由主机产生。这 时发方须在该时钟位上使SDA线处于高电平,以便收方在这一位上送出低电平的应答信号A。由于某原因收方不对主机寻址信号应答时,例如接收方正在进行其他处理而无法接收总线上 的数据时,必须释放总线,将数据线置为高电平,而由主机产生一个终止信 号以结束总线的数据传送。当主机接收来自从机的数据时,接收到最后一个数据字节后, 必须给从机发送一个非应答信号(),使从机释放数据总线,以便主机发送一个终止信号, 从而结束数据的传送。6.答:依照下面的数据传送格式:S 从机地址0 A 数据A/ Sr 从 机地址r 1 A 数据P 依次调用依照上述数据传送格式的12.5.2 小节中的各子程序。 第13 章AT89S51单片机的应用设计与调试参考答案1.答:A.错;B.错;C.对;D.错(最小系统不能直接测量模拟信号)。2.答:用户样机是以AT89S51单片机为核心的应用 系统,没有对单片机中的程序进行检错调试的手段,也无法发现程序运行中的设计硬件的问 题,也无法进行软件的开发(如编辑、汇编、调试程序等),因此,必须借助某种开发工具 ---仿真开发系统所提供的开发手段来解决上述问题。 3.答:仿真开发系统由哪几部分组成? 目前国内大多使用通用机的仿真开发系统。主要由 PC 机、在线仿真器组成,有的还包含有用于程序烧录的编程器,在加上与上述配套的编辑 软件、仿真调试软件,程序烧录软件等。此外还有独立型仿真器。该类仿真器采用模块化 结构,配有不同外设,如外存板、打印机、键盘/ 显示器等,用户可根据需要选用。尤其在 工业现场进行程序仿真调试时,往往没有PC机的支持,这时使用独立型仿真器也可进行仿 真调试工作,只不过要输入机器码,稍显麻烦一些。至于软件仿真开发工具Proteus 软件 是一种完全用软件手段对单片机应用系统进行仿真开发的。软件仿真开发工具与用户样机在 硬件上无任何联系。不能进行用户样机硬件部分的诊断与实时在线仿真。4.答:调试过 程见图13-13,4 个步骤。(1)输入用户源程序:用户使用编辑软件源程序输入到PC机中,并保存在磁盘上。(2)汇编并检查语法错误:在PC 机上,利用汇编程序对用户源 程序进行汇编,直至语法错误全部纠正为止。(3)动态在线调试:对用户的源程序进行

单片机原理与应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。 4.假定累加器A的容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的容送累加器A中 5.指令格式是由操作码和操作数部分组成。 6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8. JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s 12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为00010 则其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

相关文档
最新文档