61阅读

单片机课程设计摘要-单片机课程设计摘要

发布时间:2018-01-30 所属栏目:设计

一 : 单片机课程设计摘要

范文一:单片机课程设计摘要

单片机数字时钟设计

摘 要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

(www.61k.com)

而51系列单片机是各单片机中最为典型和最有代表性的一种,通过本次课程设计进一步对单片机学习和应用,从而更熟悉单片机的原理和相关设计并提高了开发软、硬件的能力。本设计主要设计一个基于80C51单片机的电子时钟,并在LED上显示相应的时间,通过两个控制键和4×4键盘来实现时间的调节功能。应用Proteus软件实现单片机数字时钟系统的设计与仿真。

关键词:单片机 80C51 数字时钟 汇编语言

Abstract

With the computer in the social sphere in recent years, the penetration and the development of large scale integrated circuit, microcontroller applications are constantly deepening, because of its powerful function, small size, low power

consumption, cheap, reliable, easy to use and so on Therefore particularly suited to and control of the system, more and more widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances and other fields, SCM is often used as a core

component in According to the specific hardware architecture, and application-specific software features object combine to make perfect.

The 51 series is the most typical of the microcontroller and the most representative one, through this course designed to further study and application of microcontrollers, which are

more familiar with the principles of SCM and related design and development of improved software and hardware capabilities. The design of the main design of a 80C51 microcontroller

based electronic clock, and the LED display the corresponding time, by two control keys and 4 × 4 keyboard to achieve the regulatory function of time. Proteus software application MCU digital clock system design and simulation.

Keywords: digital clock 80C51 microcontroller assembly language

原文地址.html

单片机数字时钟设计

摘 要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

而51系列单片机是各单片机中最为典型和最有代表性的一种,通过本次课程设计进一步对单片机学习和应用,从而更熟悉单片机的原理和相关设计并提高了开发软、硬件的能力。本设计主要设计一个基于80C51单片机的电子时钟,并在LED上显示相应的时间,通过两个控制键和4×4键盘来实现时间的调节功能。应用Proteus软件实现单片机数字时钟系统的设计与仿真。

关键词:单片机 80C51 数字时钟 汇编语言

Abstract

With the computer in the social sphere in recent years, the penetration and the development of large scale integrated circuit, microcontroller applications are constantly deepening, because of its powerful function, small size, low power

consumption, cheap, reliable, easy to use and so on Therefore particularly suited to and control of the system, more and more widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances and other fields, SCM is often used as a core

component in According to the specific hardware architecture, and application-specific software features object combine to make perfect.

The 51 series is the most typical of the microcontroller and the most representative one, through this course designed to further study and application of microcontrollers, which are

more familiar with the principles of SCM and related design and development of improved software and hardware capabilities. The design of the main design of a 80C51 microcontroller

based electronic clock, and the LED display the corresponding time, by two control keys and 4 × 4 keyboard to achieve the regulatory function of time. Proteus software application MCU digital clock system design and simulation.

Keywords: digital clock 80C51 microcontroller assembly language

范文二:单片机课程设计摘要

摘要

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于数字钟电路的基本组成包含了数字电路的主要组成部分,因此进行数字钟的设计是必要的,研究数字钟及扩大其应用,有着非常现实的意义。

单片机数字时钟就是其中的一款设计。它具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。单片机数字钟是单片机为核心。时钟,本设计是以单片机AT89S52配备LED数码显示管,数字钟采用24小时制方式显示时间,带有年月日、秒表和闹钟功能。本设计打算采用蜂鸣器做提醒,因没有蜂鸣器所以采用闪灯来提醒。使人不仅仅是通过视觉来感受单片机数字钟带来的方便。

关键词:单片机 数字时钟 汇编

范文三:单片机课程设计

《机器人入门》

2009年亚太大学生机器人大赛——胜利鼓乐

课程名称:单片机课程设计 系 部:自控系

专业班级:计算机控制20931 学生姓名:陆小祥

一、总体方案:

1.工作原理:

本设计采用STC89C52RC单片机作为本系统的控制模块。单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以LCD液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。

2.总体设计:

设计总体框架图如图

1

二、系统硬件设计(单元电路设计及分析):

1. STC89C52RC单片机最小系统:

最小系统包括晶体振荡电路、复位开关和电源部分。图2为STC89C52RC单片机的最小系统。

图2 最小系统电路图

2.温度测量模块:

温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3所示。

图3 DS18B20测量电路

3.时钟模块:

时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线: RST复位、I/O数据线、SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW,其接线电路如图4所示:

图4 时钟电路

4. 存储器模块:

存储器采用Atmel公司的AT24C02芯片。该芯片带有2KB的串行COMS EEPROM,内部含有256个8位字节,可通过I2C总线对其接口进行读写操作,而且带有写保护功能。其接线图如图5所示。

图5 AT24C02存储器电路

5. LCD液晶显示模块:

LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。通过编程实现自动关闭屏幕能够更有效的降低功耗。LCD1602分两行显示,每行可显示多达16个字

符。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。其接线如图6所示:

图6 LCD显示电路

6.系统电源:

双电源设计是本设计的重点。220V交流转5V直流稳压电源会更加安全、实用。当没有交流电时,系统采用干电池供电;当接通交流电时,则电路自动切换到交流电供电,并且对干电池进行慢性充电。电路图如图7:

图7 电源电路

7.整体电路:

系统整体电路如图8 所示:

图8 系统总体电路图

三、系统软件设计流程:

1.主程序流程如图9所示

:

图9 系统主程序流程

2.时间设定程序流程如图10所示:

图10 显示时间子程序流程

3. 温度测量流程图如图11所示:

图11 温度测量程序流程图

4.闹铃设定流程图如图12所示:

图12 闹铃设定程序流程图

5. 生日设定流程图如图13所示:

图13 生日设定程序流程图

四、程序:

//实时时钟写入一字节(内部函数) void DS1302InputByte(uchar d) { uchar i; ACC = d;

for(i=8; i>0; i--)

{ io = ACC0; clk = 1; clk = 0;

ACC = ACC>>1; }

}

//实时时钟读取一字节(内部函数) uchar DS1302OutputByte(void) { uchar i;

for(i=8; i>0; i--)

{ ACC = ACC>>1; ACC7 = io; clk = 1; clk = 0; }

return(ACC); }

//写入DS1302数据

//参数说明:ucAddr --DS1302地址, ucData--要写的数据 * void Write1302(uchar ucAddr, uchar ucDa) { rst = 0; clk = 0; rst = 1;

DS1302InputByte(ucAddr); // 地址,命令 DS1302InputByte(ucDa); // 写1Byte数据 clk = 1; rst = 0;

}

//读取DS1302某地址的数据 uchar Read1302(uchar ucAddr) { uchar ucData; rst = 0; clk = 0;

rst = 1;

DS1302InputByte(ucAddr|0x01); // 地址,命令 ucData = DS1302OutputByte(); // 读1Byte数据 clk = 1; rst = 0;

//相当于汇编中的 RRC

//相当于汇编中的 RRC

return(ucData); }

//获取时钟芯片的时钟数据到自定义的结构型数组 void DS1302_GetTime(SYSTEMTIME *Time) { uchar ReadValue;

ReadValue = Read1302(DS1302_SECOND);

Time->Second = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); //由高低各四位组成,转

BCD码为十进制码 ReadValue = Read1302(DS1302_MINUTE); }

Time->Minute = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_HOUR);

Time->Hour = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_DAY);

Time->Day = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_WEEK);

Time->Week = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_MONTH);

Time->Month = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = Read1302(DS1302_YEAR);

Time->Year = ((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);

五、多功能数字时钟使用说明:

1) A(调整切换键):进行时间、闹铃以及生日的设置,调整内容切换。 2) B(调整加/生日设定):在时间显示界面中按A键后,进入时间调整。按B键对应闪烁

内容加1;在时间显示界面中长按该键进入生日信息设定,按A键选择调整内容,按B键加1,C键减1,D键退出设定。当设定生日到时,当日7点整第一次响铃提醒,以

后每隔一小时整点提醒,直至当日晚上22点整最后一次提醒。(注意:生日到时闹铃和整点报时不起作用)。

3) C(调整减/日期提醒):在时间显示界面中按A键后,进入时间调整。按C键对应闪烁

内容加1;在时间显示界面中长按该键进入日期提醒查看。 4) D(退出键/闹铃设定):在各种设定模式(包括时间、生日、闹铃设定)下,按该键退

出设定;若在时间显示界面中短按该键,则进入闹铃、生日信息查看;长按则进行闹铃设定。(注意:闹铃为整点时,整点报时不起作用,并且闹铃在任何时刻下只要到点

都响铃)。

5) E(屏幕背光键):按下该键不放则屏幕背光。调整左上方的蓝色变阻器可调整LCD显示灰度;调整右上方的蓝色变阻器可调整LCD背光亮度。 6) F(复位键):按下该键系统复位,系统从头开始执行程序。如遇故障可按下该键进行

系统复位。复位不会造成时间、生日和闹铃等信息的丢失。

注:

系统在不进行任何操作时,10秒后会自动关闭屏幕,以达到省电环保的效果。此时按任意键

可退出并返回显示。

六、测量及其结果分析:

1.基本部分测试与分析:

(1)测试仪器:秒表、温度表、万用表

(2)基本要求部分的测试与分析:

 系统上电后,首先显示欢迎词,接着进入显示时间和温度。按各功能键执行相应的功能。

  

显示时间时通过与秒表对比,测试的系统时钟走时准确,误差很小。

设定闹铃时间,当闹铃时间到时响铃。响铃长度为1分钟,期间按除E键(屏幕背光键)外的任意一键退出响铃。

显示温度与温度计对比,测试系统温度的精度。将温度传感器DS18B20和温度计放入不同的测试环境中进行测试,所得测试结果如表1所示。 表1 数字温度计与标准温度计测量值比较表:

上电后记录下时间,去掉220V和干电池电源,隔5分钟过再次通电,测得系统时钟仍旧走时准确。经测试,本系统的时钟掉电保护时间长达9分钟。

2.发挥部分测试与分析:

1) 系统可显示温度00.0~99.9摄氏度。

2) 拔掉交流电,装上干电池系统工作,说明干电池作为电源为系统供电;卸掉干电池接上交

流电系统也工作,表明交流电也能适合系统使用。同时装上干电池,测得干电池回路中的

二极管压降为0,表明二极管截止,干电池不作为系统的电源工作;同时测得对干电池的充电电流约为10mA,即交流电对充电池进行慢性充电。

3) 当生日和闹铃设置为开时,主显单上有标志显示(闹铃为‘A’,生日为‘B’)。当设定时间

或日期到时,系统开始响铃,期间按A~D键可退出。生日响铃范围:生日当日7:00开始

第一次响铃,以后每隔一小时再响铃一次,直至晚上22:00最后一次响铃;为闹铃则不受时间限制,在任意时刻只要时间到就开始响铃。

3.创新部分测试与分析:

(1)在时间显示界面中长按C键进入日期提醒查看。

(2)系统具备整点报时功能,报时范围为:早上7点整——晚上22点整。 (3)系统中的生日和闹铃设定信息均存放在存储器中,即使掉电也不会丢失。

七、设计心得体会:

经过大家多天的努力,终于完成了第一次任务,设计出了汇集外观精美、方便实用、功能强大于一体的数字电子钟。该数字钟采用桌面式摆放设计,精美雅观;附带双电源装备,可供不时之需,而且具有温度、闹铃、生日一些列常用的附加功能,更加方便实用,符合现实要求;多功能时钟还具有掉电也不会丢失时间、闹铃、生日等信息的优点,可避免不必要的烦恼,设计更加的人性化和智能化。同时还能够自定义调整显示灰度和屏幕背光亮度,带背光功能,夜里更实用! 经过这次的实践,也可以说是经过了多天的学习,尽管期间苦难重重,但我们还是从中学习了不少新的知识和解决困难的方法,也体验到了自主创作的快乐。

范文四:《单片机课程设计》

单片机课程设计实施方案 计算机控制专业2007级 2010年3月

一、目的:

通过课程设计,主要达到以下目的:

1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。

2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。

3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、要求:

1、利用单片机为主要控制器件,设计开发出具有一定应用功能的仪器或设备。

2、开发目的 3、方案选择 4、原理设计(硬件、软件) 5、硬件框图及原理图 6、程序框图及程序清单 7、设计说明书(1万字左右) 8、原则上每生一题,相同题目的学生具体实现方法应不同

9、每名学生要对自己设计的内容充分理解,对系统的工作原理、硬件及软件工作过程应明白,对抄袭的学生按学校的有关规定处理。

三、课程设计内容:

(一)指定可选题目

1、音乐播放系统设计 2、交通红绿灯

3、计时器系统设计 4、电子钟

5、出租车计价器系统设计 6、频率计系统设计

7、温度测量系统设计 8、水塔水位控制

9、步进电机正逆转及转数控制 10、输液报警器

11、函数图形发生器的设计与制作统 12、抢答器

13、电风扇转速测量与控制系 14、时序控制装置

15、串口通讯 16、电子锁

17、实验指导书中的综合性、设计性实验部分内容

(二)自选题目

设计题目、内容自选,其设计难度不低于指定可选题目

四、参考资料

1、教材

2、图书馆资料

3、网上查询广州周立功单片机 4、51单片机世界

5、南京伟福

6、北京革新

7、武汉力源

8、中源单片机

9、其它相关网站可到51单片机世界查找相关链接

10、

五、课程设计任务书(附件一)和单片机课程设

计(论文)撰写规范(附件二)

六、上机调试地点及时间:第1周信息实验室 第2周计算机硬件实验室(分组情况另行安排)

七、课程设计时间:

八、分组与指导老师:

九、考核办法及成绩:

1、考核办法:①认为自己设计的好,能是成绩为优的,可报名参加答辩,需演示所设计的系统;回答教师所提出的问题;查看课程设计报告;

②对其他同学,查看课程设计报告;随机抽样

进行答辩,回答教师所提出的问题;根据设计文件与答辩情况给成绩。

2、考核成绩:分为优、良、中、及格和不及格。

单片机课程设计可选题目要求

一、数字工频表

基本要求:可测工频电压(0~5V)与电流(0~5A),4位LED显示,可通过键选择测量类型,也可自动循环显示。

提高部分:能测量有功与无功功率,可记忆20组测量值,当输入小于0.5V时可提高测量及显示精度。

二、温度控制器

基本要求:对一杯水加热,进行温度控制,20~90度之间,显示精度为0.5V,控制精度为上下1度。可根据给定温度进行控制。

提高部分:控制精度为0.5度,可根据给定的加热曲线加热。

三、定时打点器

基本要求:根据我院的上课时间设计一个上下课打点器,具有时间显示,可用键盘设置打点时间。

提高部分

四、红外遥控键盘

基本要求:设计一个红外小键盘,通过小键盘采用红外方式可向PC机输入数字0~9

提高部分:

五、数字频率计

基本要求:可对外部的方波测频率,0~10KHZ,幅值5V,精度上下1HZ。 提高部分:测0~100KHZ;幅值:200mV~10V;

六、数字信号发生器

基本要求:可产生1HZ~10KHZ的方波及三角波信号,可显示 提高部分:增加正弦波

七、路灯控制器

基本要求:定时控制,根据天气情况控制路灯的开闭

提高部分:增加地域控制,显示时间

八、时钟(显示年月日时分秒、可设置)

基本要求:设计一个时钟,可显示年月日时分秒、可设置时间 提高部分:停电时可运行

九、家电控制器(洗衣机、电饭锅等)

基本要求:对家用电器设计一个控制器,可显示时间,工作状态 提高部分:

十、抢答器

基本要求:设计一个8路抢答器,可显示时间,抢答人,计分等 提高部分:

附件一: 课程设计任务书

1、音乐播放系统设计

主要方法和要求:利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音。选取某段音乐令单片机连续播放。

2、交通红绿灯

设计要求:模拟十字路口交通灯(红、绿、黄),并在数码管

显示倒计时,并且要有紧急事件处理功能(急救

车,警车优先)

电路设计:使用发光二极管、LED显示,独立式按键 总体要求:原程序+原理图+实际通过

3、计时器系统设计

主要方法和要求:利用单片机的定时器/计数器定时和计数,用LED数码管显示计时的时间;某键按下计时,再按一下停止计时;另一键按下时间清0。

4、电子钟

设计要求:用实验台上的提供的8279键盘电路、数码显示电

路,设计一个电子钟,用小键盘控制电子钟的启

停及初始值的预置。

显示格式如下:

XX-XX-XX (时、分、秒) 另外,① C键:清零。 ② G键:启动。③ D

键:停止。 ④ P键:设初值且可判正误。 ⑤

E键:退出。

电路设计:8279键盘、显示接口

总体要求:原程序+原理图+实际通过

5、出租车计价器系统设计

主要方法和要求:原理是,价格=速度*时间*单价,总价等于其和;利用单片机的定时器/计数器定时和计数,用LED数码管显示总价和时间。

6、频率计系统设计

利用单片机的定时器/计数器定时和计数,计算出频率,用LED数码管显示出来。

7、温度测量系统设计

主要方法和要求:利用热敏电阻和电桥电路测量温度变化信号,经过放大后送到ADC0809转换成数字信号,计算后在LED数码管显示其温度值。

8、水塔水位控制

主要方法和要求:水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。①供水时,水位上升,当达到上限时,应停止电机和水泵的工作,不再给水塔供水。②当水位下降到下限时,应启动电机,带动水泵工作,给水塔供水。③当水位处于上下限之间时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位在不断下降,都应继续维持原有的工作状态。

9、步进电机正逆转及转数控制

主要方法和要求: ①送电时,设定为正转,显示器为“00”。

②输入转数,显示器将显示输入的转数。

③按“A”键设定正逆转,P3.0亮表示逆转;

再按,P3.0灭为正转。再按,P3.0亮又逆

转。

④按“*”键,步进电机开始运转。

⑤步进电机每转一转,显示器减1,直至00,

步进电机停止运转。

10、输液报警器

设计要求:

1)问题提出:医院给病人输液通常是利用托马氏管

进行。在给病人输液过程中护士和病人家属必须经

常注意输液进行情况,观察液体是否快输完了,以

便及时换液或拔出针头,防止空气进入血管中。

2)硬件说明:模拟检测探头[计液滴数,16滴液滴为

1ml,计数16初始容液量数(开始由键盘

十位,百位,计数开始键>输入)减1,至零启动

报警器]

电路设计:检测探头(可模拟),控制部分(键盘,显示,报

警)

总体要求:原程序+原理图+实际通过

11、函数图形发生器的设计与制作

设计要求:从键盘输入函数表达式(如:X2X1),

出其波形

电路设计:D/A,键盘,显示

总体要求:原程序+原理图+实际通过

12、抢答器

设计要求:用独立式键盘模拟按键,并在LED上显示抢中选

手的编号

电路设计:键盘,LED

总体要求:原程序+原理图+实际通过

13、电风扇转速测量与控制系统

设计要求:模拟电风扇,测量并计数出其转速显示在LED上

(如:32p.s),

通过键盘控制风扇转速

电路设计:LED,键盘,步进电机

总体要求:原程序+原理图+实际通过

14、时序控制装置

设计要求:编写程序模拟一时序控制装置:

第1秒钟L1、L3亮,第2秒钟L2、L4亮,第3

秒钟L5、L7亮,第4秒钟L6、L8亮,第5秒钟

L1、L3、L5和L7亮,第6秒钟L2、L4、L6和

L8亮,第7秒钟全亮,第8秒钟全灭;以后又从

头开始,„„循环下去。

电路设计:8031内部定时器,P1口

总体要求:原程序+原理图+实际通过

15、串口通讯

设计要求:PC机与单片机通讯,全双工方式。

单片机首先给PC机发送“8031 IS READY!”,之

后PC机给单片机发送数据(键盘输入),传送给

8031并在数码管上显示

电路设计:使用LED,串口管理芯片。

总体要求:编写PC机通讯程序+8031源程序+原理图+实际通过

16、电子锁

设计要求:编程模拟电子锁。密码的位数及内容固定(也可以

做成可修改的),用户输入密码正确的话显示

“WELCOME”(或是其它的)提示信息,否则在

数码管上显示“ERROR!”(或是其它的)提示信息,

若三次都不正确的话就禁止输入并且产生报警。

电路设计:键盘输入,LED显示,外部中断

总体要求:原程序+原理图+实际通过

17、实验指导书中的综合性、设计性实验部分内容

所选题目要求见实验指导书

附件二: 单片机课程设计(论文)撰写规范 为保证本科生课程设计论文质量,促进学术交流,特制定《黑龙江科技学院本科生单片机课程设计论文撰写规范》。

一、课程设计论文的印装

课程设计论文的构成:

封面、内容摘要、正文、课程设计体会、参考文献。

若用计算机打印,必须由学生本人在计算机上输入、编排、打印,正文用五号宋体字(使用B5纸打印,左侧装订)。打印时,每页33行,每行33字,(不包括源代码,论文要求5000字,即5页。页码用小五号字,在版心下边线之下居中放置,页码用阿拉伯数字编排。页眉要求: 黑龙江科技学院 计算机科学与技术2002级XX班 XXX

二、课程设计论文结构及要求

(一)、封面

封面内容:1.课程设计名称及设计题目;2.专业、班级、姓名;3.指导教师。

中文示例如附录1

(二)、内容摘要与关键词

1.摘要

摘要应扼要叙述本论文的主要内容特点,文字要精炼,是一篇具有独立性和完整性的短文,一般须重点说明设计或研究工作的目的,设计或实验方法、结果和最终结论。

中文摘要一般为300字左右。摘要页勿需写出论文题目。

2.关键词

关键词是供检索使用的,是从论文中选出的用以表示全文主题内容的单词或术语,不得自选关键词,关键词一般为3—5个。

关键词和摘要的文字部分要隔行书写。

摘要和关键词的中文示例见附录2。

(三)、正文

⑴、节及各节标题

论文正文分节撰写。各节标题要突出重点、简明扼要。字数一般在15字以内,不得使用标点符号。标题中尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。

⑵、内容

内容应该结构合理,层次清楚,重点突出,文字简练、通顺。 ⑶、层次、字体与字号

层次以少为宜,根据需要选择。层次、格式、字体、字号见表1。

各层次题序及标题不得置于页面的最后一行。

⑷、图、表

①、插图

插图一律通栏摆放,两侧不能有文字,每个图均应有图题(由图号和图名组成)。

图号按顺序编排,如第1个图的图号为“图1”等。图题置于图下居中放置,图名在图号之后空一格排写。(字体为五号宋体)

插图与其图题为一个整体,不得拆开排写于两页。插图应编排在正文提及之后,插图处的该页空白不够排写该图整体时,则可将其后文字部分提前排写,将图移到次页最前面。硬件原理图用PROTEL画,抓图后贴。

②、插表

表格要通栏摆放,不加左、右边线。

表序一般按顺序编排,如第1个插表的序号为“表l”等。表序与表名之间空一格,表名中不允许使用标点符号,表序与表名置于表上,居中排写。(字体为五号宋体)

整个表格如用同一单位,将单位符号移到表头右上角,加圆括号。 表中数据应正确无误,书写清楚,数字空格的格内加“一”字线(占两个数字宽度),表内文字说明不加标点。

中文示例如附录3

(四)、课程设计体会

课程设计体会是对整个课程设计工作进行归纳和综合得出的总结,要突出创新点,以简练的文字对论文的主要工作进行评价,并说明自己的心得和体会。

(五)、参考文献

1.参考文献的要求

参考文献是论文不可缺少的组成部分,完整的参考文献是向读者提供的一份有价值的信息资料。参考文献必须是学生本人真正阅读过,以近期发表的文献为主,应与课题直接有关。文献按照在正文中的出现顺序排列,非正式发表的文献一般不得引用(硕、博士论文可引用)。产品说明书、各类标准、专利及未公开发表的研究报告不能作为参考文献。

引用网上参考文献时,应注明该文献的准确网页地址。

2.参考文献格式

参考文献书写格式应符合GB7714—87《文后参考文献著录规则》常用参考文献编写项目和顺序规定如下:

著作图书文献

序号 作者.书名.版次.出版者,出版年:引用部分起止页

——————————————第一版应省略 翻译图书文献

序号 作者.书名.译者.版次.出版者,出版年:引用部分起止页 ——————————第一版应省略 学术刊物文献

序号 作者.文章名.学术刊物名.年,卷(期):引用部分起止页 学术会议文献

序号 作者.文章名.编者名.会议名称,会议地址,年份.出版地, 出版者,出版年:引用部分起止页

学位论文类参考文献

序号 研究生名.学位论文题目.学校及学位论文级别.答辩年份:引用部分起止页

西文文献第一个词和每个实词的第一个字母大写,其余小写。

作者为多人时,一般只列出3名作者,不同作者姓名中间用逗号相隔。外文姓名按国际惯例,将作者的缩写置前,作者姓置后。

学术刊物文献无卷号的可略去此项,直接写“年,(期)”。

参考文献序号顶格书写,不加括号与标点,其后空一格写作者名。序号应按文献在论文中的被引用顺序编排。换行时与作者名第一个字对齐。

中文示例如附录11

附录1:封面示例

计算机与信息工程学院(三号宋体居中加粗) 《单片机》课程设计(二号宋体居中加粗)

课程设计题目(三号宋体居中加粗)

专 业:计算机科学与技术

班 级:计00—20

姓 名:XXX

学 号:

指导教师:XXX

2005年7月XX日

(四号宋体加粗)

附录2:摘要和关键词示例

摘要:介绍了可编程控制器(PLC)在矿区电网监测系统中的应用,它采用可编程控制器作为下层数据采集和处理的核心设备,利用ST7536电力载波收发电路通过电力线进行通信,整个系统的可靠性、可扩充性和维护性高,且造价低,操作方便。该系统已在应用中取得了良好的效果。

关键词:可编程控制器(PLC);监测系统;通信

(五号宋体)

附录3:正文示例

引言:不可与摘要相同。概述所做题目的背景、意义、本人所做的工作及系统的主要功能。

1. 方案论证(总体设计)

XX方案

YY方案

最终方案选择

2. 硬件详细设计

X1硬件设计

X2硬件设计

2.X 总体硬件原理图

硬件设计应有芯片说明,硬件原理分图,计算过程等。最后应有总体原理图。

3. 软件设计

3.1 主程序设计

3.2 各子程序设计

软件设计应就各功能模块的功能经计算、说明后给出程序框图。并说明主程序与各功能模块之间的关系,各模块之间的先后关系等。

4. 源程序(要有注释)

4.1 主程序

4.2 子程序

5.结论

6.课程设计体会

7.参考文献

范文五:《单片机课程设计》

单片机课程设计实施方案

计算机控制专业2011级 2014年6月

一、目的:

通过课程设计,主要达到以下目的:

1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。

2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。

3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、要求:

1、利用单片机为主要控制器件,设计开发出具有一定应用功能的仪器或设备。

2、开发目的 3、方案选择 4、原理设计(硬件、软件) 5、硬件框图及原理图 6、程序框图及程序清单 7、设计说明书(1万字左右) 8、原则上每生一题,相同题目的学生具体实现方法应不同

9、每名学生要对自己设计的内容充分理解,对系统的工作原理、硬件及软件工作过程应明白,对抄袭的学生按学校的有关规定处理。

三、课程设计内容:

(一)指定可选题目

1、音乐播放系统设计 2、交通红绿灯

3、计时器系统设计 4、电子钟

5、出租车计价器系统设计 6、频率计系统设计

7、温度测量系统设计 8、水塔水位控制

9、步进电机正逆转及转数控制 10、输液报警器

11、函数图形发生器的设计与制作统 12、抢答器

13、电风扇转速测量与控制系 14、时序控制装置

15、串口通讯 16、电子锁

17、实验指导书中的综合性、设计性实验部分内容

(二)自选题目

设计题目、内容自选,其设计难度不低于指定可选题目

四、参考资料

1、教材

2、图书馆资料

3、网上查询广州周立功单片机

4、51单片机世界

5、南京伟福

6、北京革新

7、武汉力源

8、中源单片机

9、其它相关网站可到51单片机世界查找相关链接

10、

五、课程设计任务书(附件一)和单片机课程设

计(论文)撰写规范(附件二)

六、上机调试地点及时间:第17、18周W607实验室

第2周计算机硬件实验室(分组情况另行安排)

七、课程设计时间:2014.6.16~2014.6.27

八、分组与指导老师:周广兴、范爱华、李永新、孔庆臣

九、考核办法及成绩:

1、考核办法:①认为自己设计的好,能是成绩为优的,可报名参加答辩,需演示所设计的系统;回答教师所提出的问题;查看课程设计报告;

②对其他同学,查看课程设计报告;随机抽样进行答辩,回答教师所提出的问题;根据设计文件与答辩情况给成绩。

2、考核成绩:分为优、良、中、及格和不及格。

单片机课程设计可选题目要求

一、数字工频表

基本要求:可测工频电压(0~5V)与电流(0~5A),4位LED显示,可通过键选择测量类型,也可自动循环显示。

提高部分:能测量有功与无功功率,可记忆20组测量值,当输入小于0.5V时可提高测量及显示精度。

二、温度控制器

基本要求:对一杯水加热,进行温度控制,20~90度之间,显示精度为0.5V,控制精度为上下1度。可根据给定温度进行控制。

提高部分:控制精度为0.5度,可根据给定的加热曲线加热。

三、定时打点器

基本要求:根据我院的上课时间设计一个上下课打点器,具有时间显示,可用键盘设置打点时间。

提高部分

四、红外遥控键盘

基本要求:设计一个红外小键盘,通过小键盘采用红外方式可向PC机输入数字0~9

提高部分:

五、数字频率计

基本要求:可对外部的方波测频率,0~10KHZ,幅值5V,精度上下1HZ。 提高部分:测0~100KHZ;幅值:200mV~10V;

六、数字信号发生器

基本要求:可产生1HZ~10KHZ的方波及三角波信号,可显示

提高部分:增加正弦波

七、路灯控制器

基本要求:定时控制,根据天气情况控制路灯的开闭

提高部分:增加地域控制,显示时间

八、时钟(显示年月日时分秒、可设置)

基本要求:设计一个时钟,可显示年月日时分秒、可设置时间

提高部分:停电时可运行

九、家电控制器(洗衣机、电饭锅等)

基本要求:对家用电器设计一个控制器,可显示时间,工作状态 提高部分:

十、抢答器

基本要求:设计一个8路抢答器,可显示时间,抢答人,计分等 提高部分:

附件一: 课程设计任务书

1、音乐播放系统设计

主要方法和要求:利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音。选取某段音乐令单片机连续播放。

2、交通红绿灯

设计要求:模拟十字路口交通灯(红、绿、黄),并在数码管

显示倒计时,并且要有紧急事件处理功能(急救

车,警车优先)

电路设计:使用发光二极管、LED显示,独立式按键 总体要求:原程序+原理图+实际通过

3、计时器系统设计

主要方法和要求:利用单片机的定时器/计数器定时和计数,用LED数码管显示计时的时间;某键按下计时,再按一下停止计时;另一键按下时间清0。

4、电子钟

设计要求:用实验台上的提供的8279键盘电路、数码显示电

路,设计一个电子钟,用小键盘控制电子钟的启

停及初始值的预置。

显示格式如下:

XX-XX-XX (时、分、秒) 另外,① C键:清零。 ② G键:启动。③ D

键:停止。 ④ P键:设初值且可判正误。 ⑤

E键:退出。

电路设计:8279键盘、显示接口

总体要求:原程序+原理图+实际通过

5、出租车计价器系统设计

主要方法和要求:原理是,价格=速度*时间*单价,总价

等于其和;利用单片机的定时器/计数器定时和计数,用LED数码管显示总价和时间。

6、频率计系统设计

利用单片机的定时器/计数器定时和计数,计算出频率,用LED数码管显示出来。

7、温度测量系统设计

主要方法和要求:利用热敏电阻和电桥电路测量温度变化信号,经过放大后送到ADC0809转换成数字信号,计算后在LED数码管显示其温度值。

8、水塔水位控制

主要方法和要求:水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。①供水时,水位上升,当达到上限时,应停止电机和水泵的工作,不再给水塔供水。②当水位下降到下限时,应启动电机,带动水泵工作,给水塔供水。③当水位处于上下限之间时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位在不断下降,都应继续维持原有的工作状态。

9、步进电机正逆转及转数控制

主要方法和要求: ①送电时,设定为正转,显示器为“00”。

②输入转数,显示器将显示输入的转数。

③按“A”键设定正逆转,P3.0亮表示逆转;

再按,P3.0灭为正转。再按,P3.0亮又逆

转。

④按“*”键,步进电机开始运转。

⑤步进电机每转一转,显示器减1,直至00,

步进电机停止运转。

10、输液报警器

设计要求:

1)问题提出:医院给病人输液通常是利用托马氏管

进行。在给病人输液过程中护士和病人家属必须经

常注意输液进行情况,观察液体是否快输完了,以

便及时换液或拔出针头,防止空气进入血管中。

2)硬件说明:模拟检测探头[计液滴数,16滴液滴为

1ml,计数16初始容液量数(开始由键盘

十位,百位,计数开始键>输入)减1,至零启动

报警器]

电路设计:检测探头(可模拟),控制部分(键盘,显示,报

警)

总体要求:原程序+原理图+实际通过

11、函数图形发生器的设计与制作

设计要求:从键盘输入函数表达式(如:X2X1),输

出其波形

电路设计:D/A,键盘,显示

总体要求:原程序+原理图+实际通过

12、抢答器

设计要求:用独立式键盘模拟按键,并在LED上显示抢中选

手的编号

电路设计:键盘,LED

总体要求:原程序+原理图+实际通过

13、电风扇转速测量与控制系统

设计要求:模拟电风扇,测量并计数出其转速显示在LED上

(如:32p.s),

通过键盘控制风扇转速

电路设计:LED,键盘,步进电机

总体要求:原程序+原理图+实际通过

14、时序控制装置

设计要求:编写程序模拟一时序控制装置:

第1秒钟L1、L3亮,第2秒钟L2、L4亮,第3

秒钟L5、L7亮,第4秒钟L6、L8亮,第5秒钟

L1、L3、L5和L7亮,第6秒钟L2、L4、L6和

L8亮,第7秒钟全亮,第8秒钟全灭;以后又从

头开始,„„循环下去。

电路设计:8031内部定时器,P1口

总体要求:原程序+原理图+实际通过

15、串口通讯

设计要求:PC机与单片机通讯,全双工方式。

单片机首先给PC机发送“8031 IS READY!”,之

后PC机给单片机发送数据(键盘输入),传送给

8031并在数码管上显示

电路设计:使用LED,串口管理芯片。

总体要求:编写PC机通讯程序+8031源程序+原理图+实际通过

16、电子锁

设计要求:编程模拟电子锁。密码的位数及内容固定(也可以

做成可修改的),用户输入密码正确的话显示

“WELCOME”(或是其它的)提示信息,否则在

数码管上显示“ERROR!”(或是其它的)提示信息,

若三次都不正确的话就禁止输入并且产生报警。

电路设计:键盘输入,LED显示,外部中断

总体要求:原程序+原理图+实际通过

17、实验指导书中的综合性、设计性实验部分内容

所选题目要求见实验指导书

附件二: 单片机课程设计(论文)撰写规范

为保证本科生课程设计论文质量,促进学术交流,特制定《黑龙江科技学院本科生单片机课程设计论文撰写规范》。

一、课程设计论文的印装

课程设计论文的构成:

封面、内容摘要、正文、课程设计体会、参考文献。

若用计算机打印,必须由学生本人在计算机上输入、编排、打印,正文用五号宋体字(使用B5纸打印,左侧装订)。打印时,每页33行,每行33字,(不包括源代码,论文要求5000字,即5页。页码用小五号字,在版心下边线之下居中放置,页码用阿拉伯数字编排。页眉要求: 黑龙江科技学院 计算机科学与技术2002级XX班 XXX

二、课程设计论文结构及要求

(一)、封面

封面内容:1.课程设计名称及设计题目;2.专业、班级、姓名;3.指导教师。

中文示例如附录1

(二)、内容摘要与关键词

1.摘要

摘要应扼要叙述本论文的主要内容特点,文字要精炼,是一篇具有独立性和完整性的短文,一般须重点说明设计或研究工作的目的,设计或实验方法、结果和最终结论。

中文摘要一般为300字左右。摘要页勿需写出论文题目。

2.关键词

关键词是供检索使用的,是从论文中选出的用以表示全文主题内容的单词或术语,不得自选关键词,关键词一般为3—5个。

关键词和摘要的文字部分要隔行书写。

摘要和关键词的中文示例见附录2。

(三)、正文

⑴、节及各节标题

论文正文分节撰写。各节标题要突出重点、简明扼要。字数一般在15字以内,不得使用标点符号。标题中尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。

⑵、内容

内容应该结构合理,层次清楚,重点突出,文字简练、通顺。 ⑶、层次、字体与字号

层次以少为宜,根据需要选择。层次、格式、字体、字号见表1。

各层次题序及标题不得置于页面的最后一行。 ⑷、图、表 ①、插图

插图一律通栏摆放,两侧不能有文字,每个图均应有图题(由图号和图名组成)。

图号按顺序编排,如第1个图的图号为“图1”等。图题置于图下居中放置,图名在图号之后空一格排写。(字体为五号宋体)

插图与其图题为一个整体,不得拆开排写于两页。插图应编排在正文提及之后,插图处的该页空白不够排写该图整体时,则可将其后文字部分提前排写,将图移到次页最前面。硬件原理图用PROTEL画,抓图后贴。

②、插表

表格要通栏摆放,不加左、右边线。

表序一般按顺序编排,如第1个插表的序号为“表l”等。表序与表名之间空一格,表名中不允许使用标点符号,表序与表名置于表上,居中排写。(字体为五号宋体)

整个表格如用同一单位,将单位符号移到表头右上角,加圆括号。 表中数据应正确无误,书写清楚,数字空格的格内加“一”字线(占两个数字宽度),表内文字说明不加标点。

中文示例如附录3

(四)、课程设计体会

课程设计体会是对整个课程设计工作进行归纳和综合得出的总结,要突出创新点,以简练的文字对论文的主要工作进行评价,并说明自己的心得和体会。

(五)、参考文献 1.参考文献的要求

参考文献是论文不可缺少的组成部分,完整的参考文献是向读者提供的一份有价值的信息资料。参考文献必须是学生本人真正阅读过,以近期发表的文献为主,应与课题直接有关。文献按照在正文中的出现顺序排列,非正式发表的文献一般不得引用(硕、博士论文可引用)。产品说明书、各类标准、专利及未公开发表的研究报告不能作为参考文献。

引用网上参考文献时,应注明该文献的准确网页地址。 2.参考文献格式

参考文献书写格式应符合GB7714—87《文后参考文献著录规则》常用参考文献编写项目和顺序规定如下:

著作图书文献

序号 作者.书名.版次.出版者,出版年:引用部分起止页

——————————————第一版应省略 翻译图书文献

序号 作者.书名.译者.版次.出版者,出版年:引用部分起止页 ——————————第一版应省略 学术刊物文献

序号 作者.文章名.学术刊物名.年,卷(期):引用部分起止页 学术会议文献

序号 作者.文章名.编者名.会议名称,会议地址,年份.出版地, 出版者,出版年:引用部分起止页 学位论文类参考文献

序号 研究生名.学位论文题目.学校及学位论文级别.答辩年份:引用部分起止页

西文文献第一个词和每个实词的第一个字母大写,其余小写。 作者为多人时,一般只列出3名作者,不同作者姓名中间用逗号相隔。外文姓名按国际惯例,将作者的缩写置前,作者姓置后。

学术刊物文献无卷号的可略去此项,直接写“年,(期)”。

参考文献序号顶格书写,不加括号与标点,其后空一格写作者名。序号应按文献在论文中的被引用顺序编排。换行时与作者名第一个字对齐。

中文示例如附录11

附录1:封面示例

计算机与信息工程学院(三号宋体居中加粗)

《单片机》课程设计(二号宋体居中加粗)

课程设计题目(三号宋体居中加粗)

专 业:计算机控制 班 级:控制11--? 姓 名:XXX 学 号: 指导教师:XXX 2014年6月XX日 (四号宋体加粗)

附录2:摘要和关键词示例

摘要:介绍了可编程控制器(PLC)在矿区电网监测系统中的应用,它采用可编程控制器作为下层数据采集和处理的核心设备,利用ST7536电力载波收发电路通过电力线进行通信,整个系统的可靠性、可扩充性和维护性高,且造价低,操作方便。该系统已在应用中取得了良好的效果。

关键词:可编程控制器(PLC);监测系统;通信

(五号宋体)

附录3:正文示例

0. 引言:不可与摘要相同。概述所做题目的背景、意义、本人所做的工作及系统的主要功能。 1. 方案论证(总体设计) XX方案 YY方案

最终方案选择 2. 硬件详细设计 X1硬件设计 X2硬件设计

2.X 总体硬件原理图

硬件设计应有主要芯片说明,硬件原理分图,计算过程等。最后应有总体原理图。 3. 软件设计 3.1 主程序设计 3.2 各子程序设计

软件设计应就各功能模块的功能经计算、说明后给出程序框图。并说明主程序与各功能模块之间的关系,各模块之间的先后关系等。 4. 源程序(要有简单注释) 4.1 主程序 4.2 子程序 5.结论

6.课程设计体会 7.参考文献

范文六:《单片机课程设计》

《单片机原理及应用课程设计》报告 ——秒表设计

专 业: 电子信息工程

班 级:

姓 名:

学 号: 11201062

指导教师:

2014年 5 月26 日

(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级大标题靠左,加粗。二级大标题靠左,不加粗。)

课程设计的内容如下:

1.课程设计目的

1.1巩固和加深对单片机原理和接口技术知识的理解;

1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;

1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;

1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;

1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。

2.课程设计要求

用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。

3. 硬件设计

3.1 设计思想

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

3.2主要元器件介绍

1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。

暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。

B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。

(2)控制器

控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H.

(3)存储器

单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。

(4)外围接口电路

AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。

3.存储器组织和特殊功能寄存器

AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间

和访问指令。它有4个存储空间:片内存储器、片外存储器、片内数据存储器及片外存储器。

4.功能电路介绍

4.1 时钟电路和工作时序

(1) 振荡器电路原理

(2)振荡电路的接法

4.2. LED数码管的结构和工作原理

LED数码管(LED Segment Displays

)是由多个发光二极管封装在一起组

成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图。

图1 这是一个7段两位带小数点 10引脚的LED数码管

每一笔划都是对应一个字母表示 DP是小数点.

数码管分为共阳极的LED数码管、共阴极的LED数码管两种。下图例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。led数码管原理图示意:

图3 引脚示意图

从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。

共阳极LED数码管的内部结构原理图图4:

图4 共阳极LED数码管的内部结构原理图

共阴极LED数码管的内部结构原理图:

图5 共阴极LED数码管的内部结构原理图

表1.1 显示数字对应的二进制电平信号

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

A、静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。

B、动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划

码管就不会亮。

1)晶振电路

MCS-51单片机内部的晶振电路是一个高增益反相放大器,引用XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可以在20-100PF之间取值,这里取20PF,接线时要使晶体振荡器X1尽可能接近单片机。

2)按键部分电路接线

在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有按键按下等。此系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始,P1.1暂停,P1.2清零,P1.3复位。

3)显示电路电路

显示电路我们采用的是数码管显示电路。用2个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各二极管的亮灭组合成字符。

在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示温度,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。

在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出极是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。

4. 软件设计

4.1 设计思想

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

4.2软件流程图

1)系统主程序流程图 2

4.3 子程序模块设计

1)显示精度为1秒程序

MAIN: MOV R0,#20

MOV TMOD,#01H

MOV TH0,#3CH

MOV TL0,#0B0H

MOV DPTR,#TABLE

SETB EA

SETB ET0

2)延时程序

DELAY: ;误差 0us

MOV R6,#01H

DL0:

MOV R5,#61H

)定时器中断T0流程图

4.6秒表汇编程序

;***********************************************

;本程序实现秒表从0s计到99s

K_S BIT P1.0 ;秒表开始控制位

Z_T BIT P1.1 ;秒表暂停控制位

Q_L BIT P1.2 ;

F_W BIT P1.3 ;

SECOND EQU

TCNT EQU

ORG

SJMP

ORG

LJMP

START: MOV

MOV

MOV

MOV

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

JB K_S,$

MOV

MOV

MOV

SETB 30H 34H 00H START 0BH INT_T0 DPTR,#TABLE SECOND,#0 TCNT,#0 TMOD,#01H ;TH0,#3CH TL0,#0B0H IE,#82H TR0 秒表清零控制位 秒表复位控制位 秒表开始控制位 ;fosc=12MHz,定时50毫秒

;****************************************************

;对秒表的两位显示进行控制

A1: LCALL DISPLAY

MOV

A,SECOND CJNE A,#99,A1 ;判断是否加到99秒

SECOND,#0 CLEAR:

MOV

;***********************************************

;定时器中断服务程序,对 秒 计数

INT_T0:

NEXT:

JNB Z_T,ZT ;秒表暂停控制位 MOV TH0,#3CH MOV INC MOV CJNE

INC

MOV

MOV

CJNE

MOV TL0,#0B0H TCNT A,TCNT A,#20,RETUNE ;计时1秒 用#20 SECOND TCNT,#0 A,SECOND A,#99,RETUNE SECOND,#0

RETUNE: RETI

;******************************************

;显示控制子程序

DISPLAY:

JNB Q_L,CLEAR ;秒表清零控制位 JNB F_W,START ;秒表复位控制位

A,SECOND ;显示秒表的两位 MOV

MOV DIV B,#10 AB

CLR MOVC MOV P3.6 A,@A+DPTR P0,A LCALL DELAY SETB MOV CLR MOVC MOV P3.6 A,B P3.7 A,@A+DPTR P2,A ;片选信号 LCALL DELAY SETB P3.7

ZT: JNB K_S,NEXT ;秒表暂停控制位

RET

TABLE:

DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH

R6,#10

R7,#250

R7,$

R6,D1 DELAY: MOV D1:

5. 调试运行 MOV DJNZ DJNZ RET END

Protus仿真软件可以看做是构建了一个特殊的单片机系统,只要将所写程序的HEX文件导入该单片机系统,就可以它他一句句的执行所写的指令,也可以让它与Keil实现联调,程序有问题可以随时改,帮助快速调试程序。

6. 设计心得体会

本文主要从软硬件两方面说明设计的总体思路和设计的实现过程,预期的设计目的是:能够实现时钟的基本功能,正常显示分秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;并且对汇编语言有了更深刻的了解。设计过程中遇到程序设计问题,网上找到视频教程学习中断程序的编写,以及查阅C语言课本得以解决。通过网上视频学习了Proteus,对Proteus的运用有了一定的了解,通过编程对C语言也学到了不少,更重要的是,更进一步理解了单片机的功能与用法。 在做完设计之后,仔细回想这几天来的收获,和同学们互相帮助,共同进步,也复习了一学期来学过的一些知识。还有,学会了处理问题的方法,以及更多的

耐心和学习的能力。

参考书目:

[1]李全钊、迟荣强,《单片机原理及接口技术》,高等教育出版社出版。

[2]朱清慧、张凤蕊、翟天嵩、王志奎 , 《Proteus教程——电子线路设计、制板与仿真》,清华大学出版社出版。

[3]李学礼 ,《基于Proteus的80C51单片机实例教程》,电子工业出版社出版。

[4]周向红,《51系列单片机应用与实践教程》,北京航空航天大学出版社出版。

[5]《单片机应用及技术》,电子工业出版社

[6]何宏、王红君、刘瑞安、张志宏,《单片机原理及应用》,基于Proteus单片机系统设计及应用。《单片机原理及应用课程设计》报告 ——秒表设计

专 业: 电子信息工程

班 级:

姓 名:

学 号: 11201062

指导教师:

2014年 5 月26 日

(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级大标题靠左,加粗。二级大标题靠左,不加粗。)

课程设计的内容如下:

1.课程设计目的

1.1巩固和加深对单片机原理和接口技术知识的理解;

1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;

1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;

1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;

1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。

2.课程设计要求

用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。

3. 硬件设计

3.1 设计思想

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

3.2主要元器件介绍

1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。

暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。

B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。

(2)控制器

控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H.

(3)存储器

单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。

(4)外围接口电路

AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。

3.存储器组织和特殊功能寄存器

AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间

和访问指令。它有4个存储空间:片内存储器、片外存储器、片内数据存储器及片外存储器。

4.功能电路介绍

4.1 时钟电路和工作时序

(1) 振荡器电路原理

(2)振荡电路的接法

4.2. LED数码管的结构和工作原理

LED数码管(LED Segment Displays

)是由多个发光二极管封装在一起组

成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图。

图1 这是一个7段两位带小数点 10引脚的LED数码管

每一笔划都是对应一个字母表示 DP是小数点.

数码管分为共阳极的LED数码管、共阴极的LED数码管两种。下图例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。led数码管原理图示意:

图3 引脚示意图

从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。

共阳极LED数码管的内部结构原理图图4:

图4 共阳极LED数码管的内部结构原理图

共阴极LED数码管的内部结构原理图:

图5 共阴极LED数码管的内部结构原理图

表1.1 显示数字对应的二进制电平信号

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

A、静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。

B、动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划

码管就不会亮。

1)晶振电路

MCS-51单片机内部的晶振电路是一个高增益反相放大器,引用XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可以在20-100PF之间取值,这里取20PF,接线时要使晶体振荡器X1尽可能接近单片机。

2)按键部分电路接线

在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有按键按下等。此系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始,P1.1暂停,P1.2清零,P1.3复位。

3)显示电路电路

显示电路我们采用的是数码管显示电路。用2个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各二极管的亮灭组合成字符。

在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示温度,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。

在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出极是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。

4. 软件设计

4.1 设计思想

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

4.2软件流程图

1)系统主程序流程图 2

4.3 子程序模块设计

1)显示精度为1秒程序

MAIN: MOV R0,#20

MOV TMOD,#01H

MOV TH0,#3CH

MOV TL0,#0B0H

MOV DPTR,#TABLE

SETB EA

SETB ET0

2)延时程序

DELAY: ;误差 0us

MOV R6,#01H

DL0:

MOV R5,#61H

)定时器中断T0流程图

4.6秒表汇编程序

;***********************************************

;本程序实现秒表从0s计到99s

K_S BIT P1.0 ;秒表开始控制位

Z_T BIT P1.1 ;秒表暂停控制位

Q_L BIT P1.2 ;

F_W BIT P1.3 ;

SECOND EQU

TCNT EQU

ORG

SJMP

ORG

LJMP

START: MOV

MOV

MOV

MOV

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

JB K_S,$

MOV

MOV

MOV

SETB 30H 34H 00H START 0BH INT_T0 DPTR,#TABLE SECOND,#0 TCNT,#0 TMOD,#01H ;TH0,#3CH TL0,#0B0H IE,#82H TR0 秒表清零控制位 秒表复位控制位 秒表开始控制位 ;fosc=12MHz,定时50毫秒

;****************************************************

;对秒表的两位显示进行控制

A1: LCALL DISPLAY

MOV

A,SECOND CJNE A,#99,A1 ;判断是否加到99秒

SECOND,#0 CLEAR:

MOV

;***********************************************

;定时器中断服务程序,对 秒 计数

INT_T0:

NEXT:

JNB Z_T,ZT ;秒表暂停控制位 MOV TH0,#3CH MOV INC MOV CJNE

INC

MOV

MOV

CJNE

MOV TL0,#0B0H TCNT A,TCNT A,#20,RETUNE ;计时1秒 用#20 SECOND TCNT,#0 A,SECOND A,#99,RETUNE SECOND,#0

RETUNE: RETI

;******************************************

;显示控制子程序

DISPLAY:

JNB Q_L,CLEAR ;秒表清零控制位 JNB F_W,START ;秒表复位控制位

A,SECOND ;显示秒表的两位 MOV

MOV DIV B,#10 AB

CLR MOVC MOV P3.6 A,@A+DPTR P0,A LCALL DELAY SETB MOV CLR MOVC MOV P3.6 A,B P3.7 A,@A+DPTR P2,A ;片选信号 LCALL DELAY SETB P3.7

ZT: JNB K_S,NEXT ;秒表暂停控制位

RET

TABLE:

DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH

R6,#10

R7,#250

R7,$

R6,D1 DELAY: MOV D1:

5. 调试运行 MOV DJNZ DJNZ RET END

Protus仿真软件可以看做是构建了一个特殊的单片机系统,只要将所写程序的HEX文件导入该单片机系统,就可以它他一句句的执行所写的指令,也可以让它与Keil实现联调,程序有问题可以随时改,帮助快速调试程序。

6. 设计心得体会

本文主要从软硬件两方面说明设计的总体思路和设计的实现过程,预期的设计目的是:能够实现时钟的基本功能,正常显示分秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;并且对汇编语言有了更深刻的了解。设计过程中遇到程序设计问题,网上找到视频教程学习中断程序的编写,以及查阅C语言课本得以解决。通过网上视频学习了Proteus,对Proteus的运用有了一定的了解,通过编程对C语言也学到了不少,更重要的是,更进一步理解了单片机的功能与用法。 在做完设计之后,仔细回想这几天来的收获,和同学们互相帮助,共同进步,也复习了一学期来学过的一些知识。还有,学会了处理问题的方法,以及更多的

耐心和学习的能力。

参考书目:

[1]李全钊、迟荣强,《单片机原理及接口技术》,高等教育出版社出版。

[2]朱清慧、张凤蕊、翟天嵩、王志奎 , 《Proteus教程——电子线路设计、制板与仿真》,清华大学出版社出版。

[3]李学礼 ,《基于Proteus的80C51单片机实例教程》,电子工业出版社出版。

[4]周向红,《51系列单片机应用与实践教程》,北京航空航天大学出版社出版。

[5]《单片机应用及技术》,电子工业出版社

[6]何宏、王红君、刘瑞安、张志宏,《单片机原理及应用》,基于Proteus单片机系统设计及应用。

范文七:单片机课程设计[1]

一.需求分析

1.设计目的

现如今电视节目日益丰富其中的竞赛环节也越来越多,其中智力抢答器是不可或缺的器材。在本学期学习了单片机这门课之后,我们小组成员觉得可以试着自己来实现抢答器的功能,令它能准确、公正、直观地判断出第一抢答者,并通过抢答器的数码管显示和蜂鸣器报警指出抢答组别。我们最终做出一种数字式抢答器的设计方案,通过

Proteus设计完成,利用WAVE6000软件编辑程序,仿真验证,适用于多种竞赛场

合。

2.设计要求

设计一个用于智力竞赛的抢答器,其功能的实现是由单片机控制的,满足 (1)能容许2-6组进行抢答。 (2)能显示抢答组号。 (3)各组记分,并能记分显示。 (4)比赛结束时,能发出报警声。

二.设计方案

在设计中采用的单片机是AT89C51,它主要负责控制各个部分协调工作。P1.0和P1.7由裁判控制,分别是抢答开始和停止键。P1.1—P1.6是6组抢答的输入口,按下对应按钮即为抢答。P0口为数码管的段选口,位选口用的是P2口的低4位,外部中断0。外部中断1,P3.3用于控制有组答题完成后结束计时。P3.4—P3.5分别实现了分数的加一和减一。P3.6为蜂鸣器的控制口。外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。外部还接有蜂鸣器用来发出报警音。采用7SEG-MPX4-CC-BLUE显示,它是共阴极的由高电平点亮。系统仿真用到了WAVE6000和Proteus软件,通过仿真可以显示所设计系统的功能,对于程序的调试等有很大的帮助。

三.硬件设计

1.电路原理图

图3.1 电路原理图

2.总体设计电路图

整个系统分为:外部振荡电路、复位电路、 加减分电路及蜂鸣器报警电路、 抢答电路及裁判控制开始停止电路、数码管显示电路几个部分

本设计的核心是单片机AT89C51。

AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

振荡电路使用外部振荡电路,由两个1nF的电容和一个晶体振荡、外部振荡电路。

图3.2.1 晶振振荡电路

外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值。因为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软复位。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序开始。

图3.2.2 复位电路

P3.3接口的开关按下意味着答题结束,P3.4接口开关表示给抢答相应组加上

一分,P3.5接口开关按下表示相应组减去一分。

裁判示意开始抢答、有组抢答成功、违规抢答、最后5s倒计时都会触发蜂鸣器发出警报。P3.6为蜂鸣器控制口。

图3.2.3 加减分电路及蜂鸣器报警电路

P1.0和P1.7由裁判控制,分别是抢答开始和停止键。P1.1-P1.6是6组抢答的

输入口,按下按钮抢答。

图3.2.4 抢答电路及裁判控制开始停止电路

采用排阻RESPACK-8来做为上拉电阻,排阻一般应用在数字电路上,通常作为某个并行口的上拉或者下拉电阻用。排阻具有方向性,与色环电阻相比具有整齐、少占空间的优点,比用若干只固定电阻更方便。

图3.2.5 排阻RESPACK-8

数码管7SEG-MPX4-CC-BLUE,它是共阴极的数码管

图3.2.6 抢答开始

允许抢答后,开始倒计时从15s直到0s。在最后5s蜂鸣器会发出警报。

图3.2.7 抢答倒计时

第四组抢答,答题时间有30s,在最后5s蜂鸣器会发出警报。

图3.2.8 第四组答题及答题倒计时

若还没有允许抢答就有人按下抢答器,那么蜂鸣器会发出警报,并显示是哪一组违规抢答。如图为第二组违规抢答

图3.2.9 第二组违规抢答

如图为第四组回答正确加一分

图3.2.10 第四组答题正确加一分

如图为第四组回答错误减一分

图3.2.11 第四组答题错误减一分

四.程序框图

图4.1 程序流程图

六.课程设计总结

在这次课程设计中,我们运用到了以前所学的专业课知识,如:汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路; 要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。 发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

参考文献

[1] 周立功.夏宇闻.单片机与CPLD综合应用技术[M].北京:北京航空航天大学出版 [2] 丁元杰.单片微机原理及应用[M].北京:机械工业出版社.

[3] 靳达编.单片机应用系统开发实例导航[M].北京:人民邮电出版社. [4] 李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社. [5] 胡宴如.高频电子线路[M].北京:高等教育出版社.

[6] 白驹珩.雷晓平.单片计算机及其应用[M].成都:电子科技大学出版社. [7] 李广弟.单片机基础[M].北京:北京航空航天大学出版社. [8] 沈美明.温冬婵.IBM汇编语言程序设计[M].北京:清华大学出版社.

[9] 彭传正.林春景.凌阳单片机原理与实践[M].北京:北京航空航天大学出版社. [10] 李荣正.陈学军.PIC单片机实践教程[M].北京:北京航空航天大学出版社。

致 谢

此次竞赛抢答器课程设计我学到了很多知识,使我对单片机的认识以及Proteus软件的操作更加深刻!在此次课程设计中,我在老师的精心指导和严格要求下,巩固了所学理论知识,极大地提高了实践动手能力,同时了解了许多单片机的一些基本知识,为我今后进一步学习计算机方面的知识打下了坚实的基础。在此,我衷心感谢申老师指导和支持。由于本次课程设计花了比较多的时间去找资料和同学们交流,就是通过问老师和同学才把课程设计做出来的。

所以这次课程设计能够顺利的完成,当然有我个人的努力,但同时也离不开指导老师的答疑解惑,同时也让我明白了,别人帮助的重要性。有了大家的帮忙,才能事半功倍。而且在别人的身上可以学习到很多知识。在此我向老师表示感谢,谢谢老师的认真耐心的指导,让我对单片机这门课程上,有了很多的收获,把以前没弄懂的部分,也弄懂了很多,谢谢老师!

附 录

源程序清单

OK EQU 20H

RING EQU 22H ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H

MAIN: MOV R1,#0FH

MOV R2,#01EH

MOV TMOD,#11H;设置未定时器/模式1

MOV TH0,#0F0H

MOV TL0,#0FFH;越高发声频率越高,越尖

MOV TH1,#3CH

MOV TL1,#0B0H;50ms为一次溢出中断

SETB EA

SETB ET0

SETB ET1

SETB EX1;允许3个中断,T0/T1/INT0/INT1

CLR OK

CLR RING

SETB TR1

SETB TR0;开始就运行定时器,初始显示888如果想重新计数,重置TH1/TL1

;=====查询程序=====

START: MOV R5,#00H

MOV R4,#00H MOV R3,#00H

ACALL DISPLAY;未开始抢答时候显示888

JB P1.0,NEXT

ACALL DELAY JB P1.0,NEXT;去抖动,如果

FALSE4: ACALL BARK MOV R3,#04H AJMP ERROR FALSE5: ACALL BARK MOV R3,#05H AJMP ERROR FALSE6: ACALL BARK MOV R3,#06H AJMP ERROR ;=====INT1(答题对错加减分数程序)===== INT1SUB:MOV R4,#0AH MOV R5,#0AH JNB P3.4,INC1 JNB P3.5,DEC1 JNB P1.7,BACK1 ACALL DISPLAY AJMP INT1SUB MOV A,R3 SUBB A,#01H JZ XXY1 SUBB A,#02H JZ XXY2 SUBB A,#03H JZ XXY3 SUBB A,#04H JZ XXY4 SUBB A,#05H JZ XXY5 SUBB A,#06H JZ XXY6

XXY2:MOV R7,42H XXY3:MOV R7,43H XXY4:MOV R7,44H XXY5:MOV R7,45H XXY6:MOV R7,46H INC1:INC R7 CJNE R3,#01H,L1 MOV 51H,R7 L1:CJNE R3,#02H,L2 MOV 52H,R7 L2:CJNE R3,#03H,L3 MOV 53H,R7 L3:CJNE R3,#04H,L4 MOV 54H,R7 L4:CJNE R3,#05H,L5 MOV 55H,R7 L5:CJNE R3,#06H,LL MOV 56H,R7 LL:ACALL DELAY1 AJMP INT1SUB DEC1:DEC R7 ACALL DELAY1 AJMP INT1SUB BACK1:RETI ;=====倒计时程序(抢答倒计时和回答倒计时都跳到改程序)===== COUNT: MOV R0,#00H;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H;重置定时器 RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6

JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNT QUIT:CLR OK;如果按下了

TRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H MOV R7,44H CLR OK AJMP COUNT TRUE5:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H MOV R7,45H CLR OK AJMP COUNT TRUE6:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H MOV R7,46H CLR OK AJMP COUNT ;=====犯规抢答程序===== ERROR:MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3;犯规号数暂存与(34H) HERE: MOV A,R0 CJNE A,#0AH,FLASH;0.5s向下运行->灭并停响 CLR RING MOV R3,#0AH

MOV R5,#0AH;三灯全灭 AJMP CHECK1 FLASH:CJNE A,#14H,CHECK1;下面系1s的情况,响并显示号数并清 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示FF和号数 AJMP CHECK1 CHECK1:JNB P1.7,QUIT1 ACALL DISPLAY AJMP HERE QUIT1: CLR RING CLR OK AJMP START ;=====显示程序===== DISPLAY:MOV 41H,51H MOV 42H,52H MOV 43H,53H MOV 44H,54H MOV 45H,55H MOV 46H,56H MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输 MOV A,r5 MOVC A,@A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY R0,重新计 出/P2低三位做位选码输出,

MOV A,r4 MOVC A,@A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,r3 MOVC A,@A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY MOV A,R7 MOVC A,@A+DPTR MOV P2,#08H MOV P0,A ACALL DELAY RET DAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;

;=====发声程序===== BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING;按键发声 RET ;=====TO溢出中断(响铃程序)===== T0INT: MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT; CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出OUT: RETI ;=====T1溢出中断(计时程序)===== T1INT: MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END

一定频率的声音

范文八:单片机(课程设计)

洛 阳 理 工 学 院

课 程 设 计 报 告

课程名称 _____单片机应用____________________ 设计题目 _____基于 DS18B20 和 1602 的温度计____ 专 班 学 姓 业 ____ _计算机应用技术_________________ 级 ________Z120551____________________ 号 _______Z12055114___________________ 名 __________张玉红____________________

完成日期 _________2014.6.12__________________

阅读详情.html

课 程 设 计 任 务 书

设计题目:_____基于 80C51 单片机和 DS18B20 的数字温度计__ 设计内容与要求:

设计内容:采用 STC89C51 单片机,DS18B20 数字温度采集器件,单 总线驱动等电路设计制作一个点在温度计,能利用 1602LCD 液晶显示 温度。 设计要求:1)单片机系统扩展设计; 、 2)温度采集设计; 3)显示功能设计;

指导教师:_______________

年 月 日

课 程 设 计 评 语

成绩: 指导教师:_______________ 年 月 日

阅读详情.html

洛 阳 理 工 学 院

一、设计目的

课 程 设 计 报 告

本次的设计主要是利用了单片机 80C51 和数字温度传感器 DS18B20 测量温度 信号,计算后可以在 LCD 数码管 1602 上显示相应的温度值。

二、设计指标

温度测量范围为-55~125℃,精确度为 0.1℃。

三、总体框图设计

初 始 化、 设 置常量

调 用 DS18 初始化程序

读温度转换 值

调 用 数据 处 理子程序

生成显示码

显示温度值

主函数流程图

四、功能模块及原理说明

温度计采用 80C51 单片机作为微处理器, 温度计系统的外围接口电路由晶振、 LCD 显示电路、复位电路、温度检测电路、LCD 驱动电路。温度计系统的的硬件

1

阅读详情.html

洛 阳 理 工 学 院

电路图如下图所示。

课 程 设 计 报 告

温度计的工作过程是:初始化其接收需要检测的温度,并一直处于检测状态, 并将检测到的温度值读取,并转化为十进制数值,通过 LCD 显示出来,再显示温 度,方便用户来读数使用记录数据。 具体实现方法是:单片机将从 P3.3 管脚读进来的数据进行处理,P0.1 到 P0.7 为数码管的段选端口,通过 RP1 的驱动对 LCD 进行驱动。

五、设计验证

数字温度计程序代码如下: #include #define uchar unsigned char #define uint unsigned int sbit DQ=P3^3; sbit RS=P2^4; sbit EN=P2^6; //ds18b20 与单片机连接口 //数据/命令选择 //使能信号 oid wr_dat(unsigned char dat)//写数据// { delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0; } void lcd_init()//初始化设置// { delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5);

3

课 程 设 计 报 告

//RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令 //R/W 为读写信号,低电平时进行写操作。当 RS 和 R/W 共同为低电 //E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行 //写指令

平时可以写入指令或者显示地址。

//RS 为寄存器选择,高电平时选择数据寄存器 //R/W 为读写信号线,低电平时进行写操作.当 RS 为高电平 R/W 为

低电平时可以写入数据 //写数据

阅读详情.html

洛 阳 理 工 学 院

wr_com(0x0c);delay1ms(5); } void display(unsigned char *p)//显示// { while(*p!='') { wr_dat(*p); p++; delay1ms(1); } } init_play()//初始化显示 { lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); }

课 程 设 计 报 告

/*********************ds1820 程序************************************/ void delay_18B20(unsigned int i)//延时 1 微秒 { } void ds1820rst()/*ds1820 复位*/ { unsigned char x=0; DQ = 1; DQ = 0; DQ = 1; delay_18B20(40); } uchar ds1820rd()/*读数据*/ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; //给脉冲信号

4

while(i--);

//DQ 复位 //DQ 拉低 //拉高

delay_18B20(4); //延时 delay_18B20(100); //精确延时大于 480us

阅读详情.html

洛 阳 理 工 学 院

dat>>=1; DQ = 1; //给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat); } void ds1820wr(uchar wdata)/*写数据*/ { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; } } read_temp()/*读取温度值并转换*/ { uchar a,b; ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue5

课 程 设 计 报 告

阅读详情.html

洛 阳 理 工 学 院

tflag=1; }

课 程 设 计 报 告

tvalue=tvalue*(0.625);//温度值扩大 10 倍,精确到 1 位小数 return(tvalue); } /*******************************************************************/ void ds1820disp()//温度值显示 { uchar flagdat; disdata[0]=tvalue/1000+0x30;//百位数 disdata[1]=tvalue%1000/100+0x30;//十位数 disdata[2]=tvalue%100/10+0x30;//个位数 disdata[3]=tvalue%10+0x30;//小数位 if(tflag==0) flagdat=0x20;//正温度不显示符号 else flagdat=0x2d;//负温度显示负号:if(disdata[0]==0x30) {disdata[0]=0x20;//如果百位为 0,不显示 if(disdata[1]==0x30) {disdata[1]=0x20;//如果百位为 0,十位为 0 也不显示 } } wr_com(0xc0); wr_dat(flagdat);//显示符号位 wr_com(0xc1); wr_dat(disdata[0]);//显示百位 wr_com(0xc2); wr_dat(disda

ta[1]);//显示十位 wr_com(0xc3); wr_dat(disdata[2]);//显示个位 wr_com(0xc4); wr_dat(0x2e);//显示小数点 wr_com(0xc5); wr_dat(disdata[3]);//显示小数位 }

6

阅读详情.html

洛 阳 理 工 学 院

void main() { init_play();//初始化显示 while(1) { read_temp();//读取温度 ds1820disp();//显示 } } 程序运行结果如图:

课 程 设 计 报 告

/********************主程序***********************************/

7

阅读详情.html

洛 阳 理 工 学 院

课 程 设 计 报 告

六、总结

通过本次课程设计我感觉自己收获很多,本次实验是我们在上次做的一个用 1602 显示时间程序的基础上改进而来的,我们上次实验中遇到了很多问题,运行 结果一直显示不出来,最后在老师的帮助下解决了,这个过程中我学会了一些解 决问题的方法。本次试验过程中我了解了 DS18B20 的相关知识和应用,并通过烧 写程序用单片机显示温度,感觉不仅收获了知识而且整个过程比较有意思。当然 我们还有一些不足,程序设计功能单一,使用范围有限,一些错误信息考虑不到 位,有待于进一步改进,例如利用本次实验设计的整体思路还可以测量空气中的 湿度,颗粒物含量等。能够顺利完成本次实验设计我还要感谢我的团队成员,在 和我团队成员的相处中我们有过不一致的意见和看法,因为我的急躁,甚至还发 生过一些小小的不愉快,但最后我们都以大局为重,整个过程相处比较和睦,这 对我以后与人相处都有所帮助。

8

阅读详情.html

洛 阳 理 工 学 院

课 程 设 计 报 告

9

范文九:单片机多机通信(课程设计)

南京人口学院

课程设计报告

课 程 单片机微型计算机原理与接口技术 论文题目 单片机多机通信 学生姓名 徐良飞 学 号 0770**** 指导教师

2011年 1月

单片机多机通信

一﹑数据通信协议 1.帧格式:

总字节数 + 命令 + 地址 + 内容 + 校验

2.帧格式说明:

总字节数:4 位 命令:4 位 地址:1 字节 校验:1 字节

内容:实际传送的数据,最大为13字节

3.总字节数说明:总字节数4位,一帧数据最大16个字节,最小3个字节 4.命令格式说明:

0000:寻址命令,此时地址表示从机的ID 0001:应答寻址命令

0010:主机向从机写数据命令 0011:主机向从机读数据命令

0100:从机应答主机的读/写命令

此时是片内寻址命令。地址表示从机内存的起始地址,主机读/写数据

的起始地址,地址的增长方向由主机决定,寻址范围:0 ~ 255

0101:从机向主机写数据命令 0110:从机向主机读数据命令 0111:主机响应从机读/写

此时是片内寻址命令。地址表示主机内存的起始地址,从机读/写数的

起始地址,地址的增长方向由从机决定,寻址范围:0 ~ 255

1000: 1001: 1010: 1011: 1100: 1101:

此时是片外寻址命令,地址增为2个字节,寻址范围:0 ~ 64K 此命令是未开发命令

1110:帧错误 1111:通信结束命令 5.地址格式说明:

当片内寻址命令时,地址是一个字节,寻址片内范围:0 ~ 255 当片外寻址命令时,地址是两个字节,寻址范围:0 ~ 64K 6.内容格式说明:

是传输的数据,总大小有帧大小以及命令格式决定 7.校验格式说明:

校验是存储帧中数字1的个数

四、主机通信功能模块

1

设置缓冲区16个字节(既是发送,又是接收缓冲区) 设置计数值M 设置堆栈指针

设置帧的通信方式(总字节数、命令、地址、内容、校验) 计算校验方式即设置校验字节

送数据到指定的缓冲区 5 解析帧大小 解析帧命令 解析地址 五、从机通信功能模块

1

设置缓冲区16个字节(既是发送,又是接收缓冲区)

设置计数值M 设置堆栈指针 2

设置帧的通信方式(总字节数、命令、地址、内容、校验) 计算校验方式即设置校验字节

3 设置接收缓冲区 4

根据解析格式发送数据 5 解析帧大小 解析帧命令 解析地址

/* 多机通信中的主机通信程序 将以地址04H开始的数据发送到从机缓冲区中 */

org 0000h ljmp start

org 0024h ;0014h~0023h,16字节为数据缓冲区 start: mov sp,#03h ;0004h~0013h为堆栈区 mov r2,#6 ;计数值N mov 07h,#255 clr es ;关闭串口中断 sloop1:call set_frame mov a,r2 jz error call send_frame dec r2 call receive_frame mov a,07h jz sloop1 ;没有收到应答帧 call analy_frame ;有收到应答帧 cjne r6,#01h,sloop1 ;没有收到从机地址应答帧 mov r2,#6 ;重设N的值

sloop2:call send_frame ;发送数据帧 mov a,r2 jz error dec r2 call receive_frame mov a,07h jz sloop2 ;没有收到应答帧 call analy_frame ;有收到应答帧 cjne r6,#04h,error;没有收到数据应答帧,失败 jmp mreturn error: sjmp $ mreturn: ljmp start /*

函数名称:set_frame

入口参数:r0(帧缓冲区首址)、r1(帧数据区首址) r7(帧大小)、r6(帧命令)

r5(地址)、r4(校验)、r3(帧数据大小) 出口参数:r0(帧缓冲区首址)、r1(帧数据区首址) r7(帧大小)、r6(帧命令) r5(地址)、r4(校验)、r3(帧数据大小) 功能:设置帧 */

set_frame: mov r0,#14h mov a,r7 ;设置帧的大小 swap a mov @r0,a mov a,r6 ;设置帧命令 orl a,@r0 mov @r0,a inc r0 mov a,r5 mov @r0,a ;设置地址(从机地址或内存地址) cjne r3,#0,sloop jmp sreturn sloop: inc r0 mov a,@r1 mov @r0,a djnz r3,sloop sreturn: call check_frame ;此处应该增加一个校验函数 ret /*

函数名称:send_frame

入口参数:r0(帧缓冲区首址)、 r7(帧大小)、r3(帧数据大小) 出口参数:无 功能:发送帧 */

send_frame: loop2: mov a,@r0 mov sbuf,a jnb ti,$ inc r0 djnz r7,loop2 clr ti ret /*

函数名称:receive

入口参数:r0(帧缓冲区首址)、07h(表示接受时限) 07h = 0表示主机等待超时,接收失败 出口参数:r0(帧缓冲区首址)、07h 函数功能:*/ receive_frame: wait: jb ri,rec djnz 07h,wait jmp rreturn rec: mov a,sbuf mov @r0,a swap a ;计算接收帧的大小 anl a,#0eh mov r7,a clr ri

loop3: ;接收帧的数据 jnb ri,$ inc r0 mov @r0,sbuf djnz r7,loop3 call analy_frame rreturn: ret /*

函数名称:check_frame 出口参数:r0(帧缓冲区首址) 入口参数:r0(帧缓冲区首址) r4(校验)

功能:帧校验函数,累加帧中1个数 */

check_frame: mov r4,#00h mov a,@r0 anl a,#0f0h swap a mov r7,a mov a,#01h

check: ;累加帧中1的个数 anl a,@r0 jz cloop inc r4 cloop:

rl a djnz r7,check ret /*

函数名称:analy_frame

入口参数:r0(帧缓冲区首址)

出口参数:r0(帧缓冲区首址)、r1(帧数据区首址) r2(帧命令标志)、r7(帧大小)、r6(帧命令) r5(地址)、r4(校验)、r3(帧数据大小) 函数功能:*/ analy_frame: mov a,@r0 ;取帧大小,存到r7中 anl a,#0f0h swap a mov r7,a mov a,@r0 ;取帧命令,存到r6中 anl a,#0fh inc r0 mov r5,@r0 mov r6,a ;判断帧命令 cjne r6,#00h,rel0 cjne r6,#01h,rel1 cjne r6,#02h,rel2 cjne r6,#03h,rel3 cjne r6,#04h,rel4 cjne r6,#05h,rel5 cjne r6,#06h,rel6 cjne r6,#07h,rel7 cjne r6,#0eh,rele cjne r6,#0fh,relf rel0: ajmp areturn rel1: clr TB8 ajmp areturn rel2: ajmp areturn rel3: ajmp areturn rel4: ajmp areturn rel5: ajmp areturn rel6:

ajmp areturn

rel7:

ajmp areturn

rele:

ajmp areturn

relf:

ajmp areturn

areturn:

ret

End

/*

从机通讯程序,从机地址为:ID

*/

org 0000h

ljmp start

org 0024h ;0014h~0023h,16字节为数据缓冲区 start:

mov sp,#03h ;0004h~0013h为堆栈区 mov r2,#6 ;计数值N

mov 07h,#255

clr es ;关闭串口中断

setb SM2

sloop1:

mov a,r2

jz error

call receive_frame

dec r2

mov a,07h

jz sloop1 ;没有收到帧

call analy_frame ;有收到应答帧,解析收到的帧 cjne r6,#00h,sloop1

cjne r5,ID,sloop1

sloop2:call receive_frame ;接收数据帧

mov a,r2

jz error

dec r2

call send_frame

mov a,07h

jz sloop2 ;没有收到应答帧

call analy_frame ;有收到数据帧

cjne r6,#04h,error;没有收到数据应答帧,失败 jmp mreturn

error:

sjmp $

mreturn:

ljmp start

/*

函数名称:set_frame

入口参数:r0(帧缓冲区首址)、r1(帧数据区首址) r7(帧大小)、r6(帧命令)

r5(地址)、r4(校验)、r3(帧数据大小)

r7(帧大小)、r6(帧命令)

r5(地址)、r4(校验)、r3(帧数据大小) 功能:设置帧

*/

set_frame:

mov r0,#14h

mov a,r7 ;设置帧的大小

swap a

mov @r0,a

mov a,r6 ;设置帧命令

orl a,@r0

mov @r0,a

inc r0

mov a,r5

mov @r0,a ;设置地址(从机地址或内存地址) cjne r3,#0,sloop

jmp sreturn

sloop:

inc r0

mov a,@r1

mov @r0,a

djnz r3,sloop

sreturn:

call check_frame ;此处应该增加一个校验函数 ret

/*

函数名称:send_frame

入口参数:r0(帧缓冲区首址)、

r7(帧大小)、r3(帧数据大小)

出口参数:无

功能:发送帧

*/

send_frame:

loop2:

mov a,@r0

mov sbuf,a

jnb ti,$

inc r0

djnz r7,loop2

clr ti

ret

/*

函数名称:receive

07h = 0表示主机等待超时,接收失败 出口参数:r0(帧缓冲区首址)、07h

函数功能:*/

receive_frame:

wait:

jb ri,rec

djnz 07h,wait

jmp rreturn

rec:

mov a,sbuf

mov @r0,a

swap a ;计算接收帧的大小

anl a,#0eh

mov r7,a

clr ri

loop3: ;接收帧的数据

jnb ri,$

inc r0

mov @r0,sbuf

djnz r7,loop3

call analy_frame

rreturn:

ret

/*

函数名称:check_frame

出口参数:r0(帧缓冲区首址)

入口参数:r0(帧缓冲区首址)

r4(校验)

功能:帧校验函数,累加帧中1个数

*/

check_frame:

mov r4,#00h

mov a,@r0

anl a,#0f0h

swap a

mov r7,a

mov a,#01h

check: ;累加帧中1的个数

anl a,@r0

jz cloop

inc r4

cloop:

rl a

djnz r7,check

ret

/*

函数名称:analy_frame

入口参数:r0(帧缓冲区首址)

出口参数:r0(帧缓冲区首址)、r1(帧数据区首址) r2(帧命令标志)、r7(帧大小)、r6(帧命令) r5(地址)、r4(校验)、r3(帧数据大小) 函数功能:*/

analy_frame:

mov a,@r0 ;取帧大小,存到r7中

anl a,#0f0h

swap a

mov r7,a

mov a,@r0 ;取帧命令,存到r6中 inc r0

mov a,@r0

anl a,#0fh

mov r6,a ;判断帧命令

cjne r6,#00h,rel0

cjne r6,#01h,rel1

cjne r6,#02h,rel2

cjne r6,#03h,rel3

cjne r6,#04h,rel4

cjne r6,#05h,rel5

cjne r6,#06h,rel6

cjne r6,#07h,rel7

cjne r6,#0eh,rele

cjne r6,#0fh,relf

rel0:

ajmp areturn

rel1:

clr TB8

ajmp areturn

rel2:

ajmp areturn

rel3:

ajmp areturn

rel4:

ajmp areturn

rel5:

ajmp areturn

rel6:

ajmp areturn

rel7:

ajmp areturn rele:

ajmp areturn relf:

ajmp areturn areturn: ret

end

范文十:单片机课程设计附程序

单片机课程设计

设计说明书

前言

单片机的应用介绍:

单片机是微型计算机应用技术的一个重要分支,近年来在工业智能仪器仪表、光机电设备、自动化、信息处理、家电、汽车电子等领域得到广泛应用和迅速发展。

 智能化仪器仪表

如智能电度表、智能流量计等。单片机用于仪器仪表中,使之走向了

智能化和微型化,扩大了仪器仪表功能,提高了测量精度和测量的可靠性。

 实时工业控制

单片机可以构成各种工业测控系统、数据采集系统,如数控机床、汽车安全技术检测系统、工业机器人、过程控制等。

 网络与通信

利用单片机的通信接口,可方便地进行多机通信,也可组成网络系统。如单片机控制的无线遥控系统。

 家用电器

如全自动洗衣机、自动控温冰箱、空调机等。单片机用于家用电器,使其应用更简捷、方便,产品更能满足用户的高层次要求。  计算机智能终端

如计算机键盘、打印机等。单片机用于计算机智能终端,使之能够脱离主机而独立工作,尽量少占用主机时间,提高主机的计算速度和处理能力。

单片机的应用特点:

 控制应用:应用范围广泛

 软硬件结合:软硬件统筹考虑,不仅要会编程,还要有硬件的理论和实践知识。

 应用现场环境恶劣:电磁干扰、电源波动、冲击震动、高低温等环境因素的影响。要考虑芯片等级选择、接地技术、屏蔽技术、隔离技术、滤波技术、抑制反电势干扰技术等。

 应用空间大:工业自动化、仪器仪表、家用电器、信息和通信产品、军事装备等领域。

一、 课程设计的目的和要求

目的:通过设计一个采用AT89C51 单片机控制的交通灯控制电路 能够熟练掌握单片机及其仿真系统使用方法,灵活应用单片机原理、微机原理等课程方面的知识。

要求:结合实际情况设计一种简单低成本城市交通灯控制系统,给出 硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。

二、 总体设计

1、硬件总体设计

硬件的设计采用89ATC51 单片机为核心器件。并辅助复位电路,驱动电路,数码管及晶体管显示部分。通过中断扩展实现交通灯系统特殊情况的转换。

2、软件总体设计

软件设计部分分为一个主程序和两个中断子程序,一个用于有紧急车辆通过 时,系统要能禁止普通车辆通行,实行中断可使 A(东西道)、B(南北道)两道 均亮红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有 车道放行,假如A 道有车

B 道无车,长按K0 可以控制交通灯系统能立即让东西道 放行;假如南北道有车东西道无车,长按 K1 可以控制交通灯系统能立即南北

道放 行。 十字路口的交通灯在工作时应具有如下特点:红灯表示该条道路禁止通行;黄 灯表示该条道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯 亮表示该条道路允许通行。 本设计利用单片机控制可以实现以下功能: (1)A 道和 B 道上均有车辆要求通过时,A,B 道轮流放行。A 道放行 5 分钟(调试 时改为5 秒钟),B 道放行4 分钟(调试时改为4 秒钟)。 (2)一道有车而另一道无车(实验时用开关K0 和K1 控制),交通灯控制系统能立即 让有车道放行。 (3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A,B 道均为红灯,紧急 车由K2 开关模拟。 (4)绿灯转换为红灯时黄灯亮1 秒钟。

主程序框图

三、 硬件设计

(1)AT89C51简介

1 功能: AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器, 俗称单片机。具有128*8位内部RAM,有32根可编程I/O线、两个16位定时器/计数 器·5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。

2 管脚说明:

VCC:供电电压。

GND:接地。

P0 口:P0 口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1 口的管脚第一次写1时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时P0 外部必须被拉高。

P1 口:P1 口是一个内部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器能接收 输出4TTL 门电流。P1 口管脚写入1 后,被内部上拉为高,可用作输入,P1 口被外 部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验 时,P1 口作为第八位地址接收。

P2 口:P2 口为一个内部上拉电阻的8 位双向I/O 口, P2 口缓冲器可接收,输出4个TTL 门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上 拉的缘故。P2 口用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位 地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输

出4 个TTL门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为AT89C51 的一些特殊功能口,如下表所示:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0 外部输入)

P3.5 T1(记时器1 外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3 口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

PSEN:外部程序存储器的选通信号。

EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

3 振荡器特性: XTAL1 和XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片 内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的 脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4 芯片擦除: 整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任 何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻 辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置 模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在 掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一 个硬件复位为止。

(2)复位部分: 采用上电+按钮电平复位,复位电容采用10微法,电阻R6为200欧,连接如图:

(3)显示部分:

1 数码管显示部分 采用四位一体共阴数码管,分别显示西和北的剩余时间,A 到G 为码段控制端 口,1 到4 为片选端口。数码段显示部分通过74LS245 接单片机管脚的P0 口,片选部分由P2.0 到P2.1 提供,具体的共阴数码管见图。其中P2.1 控制北边和西边剩 余时间的十位数的显示;P2.0 控制北边和西边剩余时间的个位数的显示。

2 晶体管显示部分 由于对称性,设计时只设计了西北两个方向。由

红黄绿按要求显示。用P1 端 口作为输出端口,用P1.2 到P1.7 端口分别控制西和北两组灯的状态,低电平点亮, 具体端口功能如下: P1.2 控制北边红灯的亮灭;

P1.3 控制北边黄灯的亮灭;

P1.4 控制北边绿灯的亮灭;

P1.5 控制东边红灯的亮灭;

P1.6 控制东边黄灯的亮灭;

P1.7 控制东边绿灯的亮灭。

(4) 驱动部分

:74LS245

四、 软件设计

(1) T0 中断服务程序

(2) 外部中断零服务程序

源程序

(1) 主程序

ORG 0100H

MAIN:MOV SP,#50H

MOV TCON,#05H ;定义中断方式

MOV 20H,#05H ;时间计数单元,A 道放行时间 MOV 21H,#02H ;黄灯亮时间

MOV 22H,#05H ;B 道放行时间

MOV 23H,#00H ;交通灯转换标示位

MOV 24H,#05H ;时间欲存区,A 道放行时间 MOV 25H,#02H ;黄灯亮时间

MOV 26H,#05H ;B 道放行时间

MOV 27H,#0FFH ;特殊情况下转换标示位 MOV 28H,#01H ;

MOV 30H,#05H ;显示缓存区

MOV 31H,#00H

MOV TMOD,#01H ;16 位计数器

MOV TH0,#03CH

MOV TL0,#0B0H

MOV IE,#10000111B

SETB TR0 ;T0 启动计数

MOV R2,#13H

MOV P2,#0FFH

ML1: ACALL DISP

MOV A,23H

CJNE A,#00H,X1 SETB P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

SETB P1.7

X1: CJNE A,#01H,X2

CLR P1.2

SETB P1.3

CLR P1.4

CLR P1.5

SETB P1.6

CLR P1.7

X2: CJNE A,#02H,X3

CLR P1.2

CLR P1.3

SETB P1.4

SETB P1.5

CLR P1.6

X3: CJNE A,#03H,X4

CLR P1.2

SETB P1.3

CLR P1.4

CLR P1.5

SETB P1.6

CLR P1.7

X4: JNB 2FH.0,ML2

SETB P1.2

CLR P1.3

CLR P1.4

SETB P1.5

CLR P1.6

CLR P1.7

AJMP X4

ML2: JB TR0,ML1

ACALL DISP

MOV A,27H

CJNE A,#00H,X11 SETB P1.2

CLR P1.3

CLR P1.5

CLR P1.6

SETB P1.7

X11: CJNE A,#01H,X21

CLR P1.2

SETB P1.3

CLR P1.4

CLR P1.5

SETB P1.6

CLR P1.7

X21: CJNE A,#02H,X31

CLR P1.2 CLR P1.3 SETB P1.4 SETB P1.5 CLR P1.6

CLR P1.7

X31: JB P1.0,M1

M1: MOV C,P1.0 ;按键消振

JC M2

M2: LCALL DELAY

MOV C,P1.0

JC ML10

STOP1: MOV C,P1.0

JNC STOP1

LCALL DELAY

MOV C,P1.0

JNC STOP1

MOV R0,#20H

MOV R1,#24H

MOV A,27H ;加一 MOV 23H,A

CLR C ADD A,R1 MOV R1,A

CLR C

MOV A,23H

ADD A,R0

MOV R0,A

INC @R1

MOV A,@R1

CJNE A,#100,H1 MOV A, #00H

MOV @R1,A

H1: MOV @R0,A MOV B,#0AH

MOV 31H,A

MOV 30H,B

ACALL DISP

ML10: JB P1.1,M3

M3: MOV C,P1.1 ;按键消振

JC M4

M4: LCALL DELAY

MOV C,P1.1

JC ML2

STOP2: MOV C,P1.1

JNC STOP2

LCALL DELAY

MOV C,P1.1

JNC STOP2

MOV R0,#20H

MOV R1,#24H

MOV A,27H ; 减一 MOV 23H,A

CLR C

ADD A,R1

MOV R1,A

ADD A,R0

MOV R0,A

DEC @R1

MOV A,@R1 CJNE A,#0FFH,H2 MOV A, #99 MOV @R1,A H2: MOV @R0,A MOV B,#0AH DIV AB

MOV 31H,A MOV 30H,B ACALL DISP LJMP ML1

DELAY:MOV R4,#14H DL00: MOV R5,#0FFH DL11: DJNZ R5,DL11

DJNZ R4,DL00 RET

(2) T0中断服务程序 TIME: PUSH ACC

PUSH PSW

MOV TH0,#03CH MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#13H MOV A,23H CJNE A,#00H,L1 MOV A,20H CLR C

DEC A

CJNE A,#0FFH,GO11 MOV A,23H CLR C

INC A

MOV 23H,A MOV A,24H MOV 20H,A LJMP L1 GO11: MOV 20H,A

MOV B,#0AH DIV AB

MOV 31H,A

MOV 30H,B LJMP RET0 L1: MOV A,23H CJNE A,#01H,L2 MOV A,21H CLR C

DEC A

CJNE A,#0FFH,GO12 MOV A,23H CLR C

INC A

MOV 23H,A MOV A,25H MOV 21H,A LJMP L2 GO12: MOV 21H,A

MOV B,#0AH DIV AB

MOV 31H,A MOV 30H,B LJMP RET0 L2: MOV A,23H

CJNE A,#02H,L4

MOV A,22H

CLR C

DEC A

CJNE A,#0FFH,GO13

MOV A,23H

CLR C

INC A

MOV 23H,A

MOV A,26H

MOV 22H,A

LJMP L4

GO13: MOV 22H,A

MOV B,#0AH

DIV AB

MOV 31H,A

MOV 30H,B

RET0: POP PSW

POP ACC

RETI

L4: MOV A,23H

CJNE A,#03H,

RET0

MOV A,21H

CLR C

DEC A

CJNE A,#0FFH,GO14

MOV A,#00H

MOV 23H,A

MOV A,25H

MOV 21H,A

LJMP RET0

GO14: MOV 21H,A

MOV B,#0AH

DIV AB

MOV 31H,A 20

MOV 30H,B

LJMP RET

(3) 外部中断零服务程序

SECTION1:PUSH ACC

PUSH PSW

QQQ: MOV C,P3.0 ;按键消振

JC JJJ

ACALL DELAY

MOV C,P3.0

JC JJJ

STOP3: MOV C,P3.0

JNC STOP3

ACALL DELAY

MOV C,P3.0

JNC STOP3

CLR TR0

MOV A,27H

CJNE A,#00H,PPP1

MOV A,#0FFH

MOV 27H,A

MOV 28H,#01H

SETB TR0

AJMP PP1

PPP1: CJNE A,#02H,PPP

MOV 27H,#00H

MOV 28H,#01H

AJMP PP1

PPP: INC 27H

MOV 28H,#01H

PP1: POP PSW

POP ACC RETI

JJJ: MOV C,P3.1 ;按键消振

JC QQQ

ACALL DELAY

MOV C,P3.1

JC QQQ

STOP4: MOV C,P3.1

JNC STOP4

ACALL DELAY

MOV C,P3.1

JNC STOP4

CLR TR0

MOV A,28H

CJNE A,#02H,GGG1

MOV A,#01H

MOV 27H,A

MOV 28H,A

SETB TR0

LJMP PP1

GGG1: CJNE A,#00H,GGG

MOV 27H,#02H

MOV 28H,#02H

LJMP PP1

GGG: INC 28H

MOV 27H,28H

LJMP PP1

五、 课程设计收获及体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,从选题到定稿,从理论到实践,在整整两星期的日子里,学到了很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,可以说这次课程设计不仅让我们把以前学的知识温顾,而且对今后的学习也有很大的影响。

六、参考文献

[1] 刘心红、郭福田、孙振兴、曾丽丽,Proteus 仿真技术在单片机教学中的应用(大庆石油学院 应用技术学院,河北秦皇岛),实验技术与管理(Experimental Technology and Management)2007, 24

[2] 蔡军、曹慧英,智能交通灯控制系统的设计与实现

[3] 杨汉祥、刘良福、邬喜辉,利用单片机改进交通灯控制系统(北京电子科技学院学报),北京电子科技学院学报(Journal of Bei jing Electronic Science and Technology institute)2005,13

[4] 余发山主编 《单片机原理与应用技术》北京:中国矿大出版社 2004

[5]赖寿宏主编 《微型计算机控制技术》北京:机械工业出版社 2002

[6]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社

[7] 栾桂冬,张金铎,金欢阳.传感器及其应用[M].西安:西安电子科技大学出版社

二 : 《摘果子》说课设计

一、说教材
《摘果子》一课是北师大版教材数学一年级上册第26页、27页的教学内容。本单元从学生熟悉的事例出发,创设情境,初步感知数的计算与生活的联系,使学生知道加减法计算的需要,从而产生学习加减法计算的动机和兴趣,在具体情境和活动中体会加减法的含义。
结合本课教材特点和班级学生的实际情况,着眼于新课程三维目标的实况,确立教学目标如下:
1、知识技能目标:使学生初步理解减法的含义,并会读写减法算式,认识“-”号。
2、过程性目标:能够在教师指导下通过具体情境感知减法的含义,通过观察与操作初步体会减法与生活的联系。
3、情感性目标:通过创设情境,使学生能够积极主动地参与到教学活动之中,从而使学生初步理解减法的含义,初步体会减法与生活的联系。
二、说教法
对于一年级的小学生来说,启迪和培养他们的创新意识,并在教学过程中丰富和发展他们的个性品质,是一个非常重要的问题。我在教学中着眼于人的整体发展,关注学生的自主探索、独立解决问题的能力,进而培养学生的创新精神。具体体现在:
1、情境创设法
数学教学是数学活动的教学,是师生之间、学生之间交往互动与共同发展的过程。数学教学活动必须建立在学生的认知发展水平基础之上,教师应提供具体情境,设计富有情趣的学习活动,激发学生的学习积极性,鼓励每个学生动手、动口、动脑、参与数学的学习过程。在本课中,我创设了一个“摘果子”的生活情境,从学生感兴趣的生活情境出发,让学生初步感知减法的含义,初步体会减法与生活的联系,唤起学生的参与意识,使学生在活动中尝到了成功的喜悦,从而产生学好数学的愿望。
2、练习法
练习法是在教师指导下,学生用已学过的知识,通过形式多样的练习来巩固知识,形成技能技巧,并发展学生智力的一种方法,课堂上我针对知识点以及一年级学生持续性差,注意力难以集中的年龄特征,设计了集知识性、趣味性、活动性于一体的多种形式的练习,满足了学生的心理需求,使学生在生动有趣的学习活动中巩固新知识并体验到学习的快乐。
3、实践作业法
新课标明确指出:“人人学有价值的数学”“人人都能获得必须的数学”,也就是说要使学生认识到数学的价值,了解数学在社会生活中的作用。鼓励学生观察、思考生活中有哪些数学问题能运用今天所学的知识去解决。这样将所学知识与生活实际联系起来,把数学知识转化为日常生活有用的东西,使学生体验到数学的价值和意义。
三、说学法
新课程倡导让不同的学生在数学学习上都能获得成功,最大限度地发展每一个学生的智慧潜能。学生掌握了正确的学习方法,就能闻一知十,触类旁通,终生受益,达到“教是为了最终的不教”的目的。因此,本节课我主要用以下几种方法指导学生学习新知识。
1、探究学习法
探究学习是新课程倡导的重要的学习方式,数学过程中应让学生用自己的方法去发现、领悟、探索、交流、经历知识的生成过程。课堂上,我为学生留足时间和空间,让学生自由地摆,用心地想,尽情地说,在活动中感受数学、体验数学,允许学生有不同的想法,让学生敢想、敢说,使学生既获得了知识,又发挥了个性特长,为培养学生创新智能打下了良好基础。
2、直观操作法
学生学习数学的重要途径和方法之一是动手操作,用外显的动作来驱动内在的思维活动,从中感悟理解新知识的形成和发展。本节课在演示摘苹果的过程以及完成“做一做”第1题时,学生利用学具通过摆一摆、练一练进一步理解减法的含义。
四、说程序
(一)创设情境,激趣导入
通过问题情境使学生初步理解减法的含义
导语:小朋友们,你们知道现在是什么季节吗?
秋天到了,树上的果实成熟了。今天,卓老师带你们去摘果子,你们高兴吗?
揭示课题:摘果子
(二)自主探索,获取新知
1、学生演示摘苹果
在黑板上画一棵果树,再贴上5个苹果教具。(这是课前准备好的教具)
指生到前面演示摘苹果。
(他可以随意摘。假设他摘了2个苹果。)
2、学生说摘苹果的过程
3、列出算式
板书:5-2=3 5-3=2
4、认识“-”号
5、说出算式所表示的意思,初步理解减法的含义。
(三)多样练习,巩固新知
1、生摆5个圆片,再拿走4个,还剩几个?
(边摆边说,并列出一道算式:5-4=1)
2、摆4个圆片,随意拿走几个,然后列出一道算式。
(同上)
3、教科书第26页“做一做”的第2题。
(让学生用自己喜欢的方法进行计算,再组织交流,说一说是怎么想的。)
(四)拓展延伸,回归生活
1、请学生找一找身边的减法问题。
引导学生说出“从总数中去掉一部分,求另一部分是多少?”就可以用减法来计算。
2、游戏:找朋友
今天卓老师给大家请来了3位动物小朋友,你们想认识它们吗?他们是老虎哥哥、兔子姐姐、孤狸弟弟。他们的手上都拿着张数字卡片:分别是2、3、4。请其它小朋友拿出课前老师发给你们的算式卡片。请先口算出算式的得数,再去找相对应的动物小朋友。
(学生在音乐《找朋友》中开始游戏)
(五)全课总结
今天你学会了什么知识?有什么收获吗?

三 : B2C表单和购物流程设计要点

表单设计的要点:

1. 概述

表单对客户来说是很烦人的,但它对在线处理很重要,让填写表单的过程简单、快速,才能让网站快速获取潜在的利益。

2. 访客的问题

你作为访客,在支付中一般会有哪些问题?

当访客遇到表单时,他们的问题集中在外观、所需信息的合理性,以及安全性这几个方面。在对表单快速瞟一眼以后,他们就会思考以下几个问题:

1、我要从哪开始填?

2、填起来很简单么?

3、填起来很费时间么?

4、整个过程中是不是有很多的步骤?

5、页面安全吗?

6、表单要求的信息量是否合理?

一旦访客开始填写表单,他又会有这样几个问题:

·1、这些问题合理么?有必要在这里回答么?

2、我的信息安全么?保密么?

3、我看不懂这个问题,页面上有解释么?

4、我填表时候遇到问题了,怎么获取帮助?

5、当我点击提交按钮的时候后,会怎么样?

6、我还要填多少?

3. 表单特有的问题

看起来很麻烦

一些表单的元素不太友好,比如:徐璈输入信息的文本框过于短小,组成列表的行过于死板,字体又黑又小,以及命令式的语气等。将这些组合到一起,结果使得表单看起来很复杂,页面让人感觉麻烦,难激起访客填写的欲望。

贪得无厌

包含不必要的字段的表单称为贪婪的表单。消灭和压缩可有可无和不必要的字段。

4. 设计要点

对于设计师来说,表单设计注重的是功能性和实用性,而不是花哨和娱乐。

设计表单实际上不是艺术创作,而更多的是解决问题。如何创造一个可使用的表单交互页面,这个页面同时还要很友好、很清晰并且对访客来说好填写,是十分重要的。

删掉不必要的字段。确保整个表单每个字段都有用

1) 把注意力集中在表单区域

让访客越快把注意力放到表单上,他们就越快知道该干什么以及从哪开始。

下面这些方法可以让你的表单脱颖而出:

1、表单的背后设置浅色背景(但要注意保证文本的易读性)

2、在表单周围加上边框

3、表单区域用彩色

4、使用箭头

在表单外面使用边框,并对激活的表单进行颜色的强调

用模特的手势给用户一个指示性的作用,起到强调表单的作用

2)使用干净、简洁的布局

降低表单的复杂度和难度,使表单布局干净简洁。

怎样让表单看起来干净简洁?

空间。不管用什么颜色,在表单周围和表单的行间都留下足够的空间,以此来增强可阅读性。

去掉没用的元素。表单周围、里面的任何东西都应该有助于表单的完成和提交。

适当的留白,行间距的控制

1、消除字段和标签中的空白。字段和标签中的过多空白会导致用户水平移动视线。把标签和字段放在一起,可以增加两者之间的关联性。

2、文本可读性。 确保访客不用放大镜就能看清楚页面上的文字。12px以上。表单标签以及字段应该选用高对比度且简单的文字。

3、尽量左对齐文本和字段区域。访客一般从左侧来找到一行文本的起始端,右对齐的格式就让人很难定位一行的开始,这会明显增加表单的复杂性。左对齐的表单字段区域更能让人从视觉上掌握整个布局,从而利于快速浏览。

右对齐的表单中,每行文本都不在同一起点上,要读完这些标签眼球要转动很多次。

左对齐的时候所有文本都从固定的起点开始,直接向下扫描就可以看完所有的要填项

3) 明确指示填写的步骤和进度

如果你的表单填写过程比较长,有没有相应指示,访客会心生厌烦而放弃。

4) 提供安全和保密措施

很多访客会不自觉额在页面上寻找“锁”样子的图标,看到“锁”后才会确定链接的可信度。所以在填写私人信息的时候别忘了在表单页面上加一把锁

购物流程设计的要点:

1. 概述

任何电子商务网站都不希望客户在购物流程阶段流失。绝大多数的访客是真的想要购买他们购物车里面的东西的,他们需要的是一个清晰简单、没有任何障碍的付款流程。

2. 结算流程的目的

1、展示需要购买的条目

2、收集物流信息并验证

3、收集账单和付款信息并验证

4、链接到一个付款接口,接受或处理付款

5、访客的一般问题

准备阶段的问题

1、从哪开始?如何结算?

2、要注册么?

3、我的密码是什么?

4、我还在刚才的商店么?

5、我要用多长时间?

交易过程的问题

1、安全么?

2、邮寄费用要多少?

3、支持那些付款方式?

4、提交了以后会怎么样?

4. 结算流程的关键要素

结算步骤通常包括的元素

1、购物车预览

2、登陆(针对老顾客);

3、注册(针对新顾客)

4、账单地址/邮寄地址;

5、付款信息

6、付款检查

确认

5. 结算流程特有的问题

安全?

更多的提示客户页面的安全性

6. 设计要点

结算流程通常设计很多个步骤,所以任何设计都必须考虑到整个过程,考虑每个步骤的变化会产生怎么样的影响

使用基本的表单设计要点

1) 结算流程实际上主要包含的是表单,所以回忆一下表单的要点

1、删掉不必要的字段。

2、把注意力集中在表单区域

3、使用干净、简洁的布局

4、明确指示填写的步骤和进度

5、提供安全和保密措施

2) 帮助顾客记忆购物车里面的物品

购物时候经常会忘了自己选了那个东西,担心自己误点了尺寸,颜色,需要确认。

提醒顾客最好的方式是在购物车中放置每个物品的缩略图,其次,是让物品名称特别醒目,使用有利于阅读的字体。此外,还应该包括所选物品的信息,包括,颜色大小,等等。

3) 区分按钮的优先级

按钮在结算流程中是很重要的角色,帮助用户更新他们的购物车,结算邮费,从一个步骤跳转到下一个步骤。但是如果所有的按钮看起来都是一个样子就容易误读。如果用户本来想结算下价格,但是却看错了按钮不小心清空了购物车,这会非常影响购物体验的。

4) 整个结算流程的步骤要清晰

不管整个流程中访客要经历多少步骤,让他们知道还剩下多少步骤会让他们感到更舒适。

5) 尽量减少和优化步骤

把以上这些设计要点用在设计B2C网站的购物流程上,能够很好的优化购物车的用户体验,减少用户在购物流程中的困扰,从而真正的达到网站优化的目的。

文章来源:im-ux

本文标题:单片机课程设计摘要-单片机课程设计摘要
本文地址: http://www.61k.com/1152765.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1