单片机开发板的制作方法
单片机开发板电路原理图

D Connector 9
MAX232D
VCC C4
16
C8
2
C11
6
14 7 PC-RXD 12 9 RXD_M
2
VCC
VCC
R10 Res2 1K
R11 Res2 1K
1
1
TXD Power-led
RXD Power-led
2
ADᣝ䬂
R7
1.5K ে R12 SW-PB 4.7K
R8
1K ϟ SW-PB
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Download D0 D1 D2 D3 D4 D5 D6 D7 Download MCUALE DS18B20_0UT CS_Du CS_Wei CS_LED RW EN RS CSA CSB
P5
12 34 56 78 9 10 11 12 13 14 15 16
Header 8X2
DIODEUS6
1 2 3 4 5 6 7 8
IN1 OUT1 IN2 OUT2 IN3 OUT3 IN4 OUT4 IN5 OUT5 IN6 OUT6 IN7 OUT7 GND DIODES
ULN2003
P6
ԡ
VCC
R5
GND
R6
VCC
1K
P3
1K
1
RESTA
1 3
2 4
56
RESTB Power
2
Header 3X2 VCC
GND
RESTB
B
R14
R15
R16
Pl2303 USB䕀Іষ
单片机开发板指导

STC89C52单片机开发板实验指导书目录一、熟悉编程软件的使用 (1)二、熟悉下载环境 (7)三、最小系统模块 (12)四、流水灯 (13)五、独立按键 (14)六、矩阵键盘扫描与数码管显示 (15)七、串口通信实验 (17)八、电源指示部分和蜂鸣器 (17)附录一元器件的极性识别 (19)附录二焊接要求与注意事项 (20)一熟悉编程软件的使用一、目的掌握KEIL编程软件的安装及使用方法,熟悉KEIL编程环境。
二、步骤(一)、先安装下载软件:1.在单片机开发板的开发工具文件夹中找到KEIL文件夹,然后双击“C51V900修正版1.1.exe”,按照提示安装即可。
安装完成后会在桌面上出现一个KEIL uVision4的图标。
2.对KEIL软件进行在线注册,首先打开uVision4,在菜单栏中找到File选项,然后再File栏中选择License Management选项,如图1所示,在打开的License Management窗口,复制右上角的CID。
图1在KEIL文件夹中找到“Keil_lic-v3.2.exe”,然后双击。
打开注册机,在CID窗口里填上刚刚复制的CID,其它设置不变,点击Generate生成许可号,复制许可号,如图2所示。
将许可号复制到License Management窗口下部的New LicenseID Code,点击右侧的Add LIC。
若上方的Product显示的是PK51 Prof。
DevelopersKit即注册成功,Support Period为有效期,一般可以到30年左右,若有效期较短,可多次生成许可号重新注册。
如图3所示。
图2图3(二)、此时,KEIL软件我们就注册成功了。
我们打开µVision4软件,点击Project 菜单,点击NEW,选择µVision Project建立新工程,如图4所示。
在文件名窗口中输入我们要建立的工程的名字,然后在保存在窗口中选择我们的工程存储位置。
51单片机最小系统学习板的设计与制作

课程设计任务书(指导教师填写)课程设计名称电路板设计与制作学生姓名专业班级设计题目51单片机最小系统学习板的设计与制作一、课程设计的任务和目的任务:设计并制作51单片机最小系统电路板,包括电路原理图设计、版图规划与设计、系统单面电路板制作。
要求:1)电路原理图准确、版图结构清晰、布局合理。
2)使用插针型元件,成品PCB板面布局合理,密度适当;3)板上资源包括LED灯、数码管、蜂鸣器、按钮、串行通讯及USB接口;4)电路板面积适中便于携带,长度15cm,宽8.5cm。
目的:1)掌握并完成基本PCB板的设计与制作工艺;2)学习并掌握实现单片机应用系统的软硬件设计、调试、实现的技能;3)了解单片机最小系统的工作原理与系统开发方法,锻炼动手能力,为毕业设计做准备。
二、设计内容、技术条件和要求1.设计并制作具有实际功能的单片机最小系统:可选择实现的功能⑴.流水灯⑵.电子时钟⑶.数字温度计⑷.交通灯控制器;2.根据所选电路功能,画出电路框图和原理总图。
3.根据电路所需元件及周边设备规划和设计电路板版图,描画版图。
4.根据版图生成gerber工艺文件,进行电路板制作,包括刻板,钻孔,覆铜等。
5.撰写设计总结报告。
三、时间进度安排本课程设计共两周时间。
第一周:功能设计与理论学习周一上午:布置设计任务;提出课程设计的目的和要求;明确对撰写总结报告、手工绘制原理图和电路板版图的要求;安排答疑、实验室开放时间。
讲解印制电路板的制板流程,介绍PCB刻板机等制板设备的软硬件操作方法以及注意事项。
周一下午:讲解电路原理图与PCB版图设计方法。
周二至周五:学生查阅资料,确定设计题目;进行功能设计,在实验室完成电路原理图与PCB 版图的设计和绘制,导出电路总原理图及版图文件。
期间安排两次答疑,指导学生设计。
周五,交设计草图-原理图和版图供老师审阅。
第二周:电路板制作、撰写设计总结报告周一至周四:分组在电子系统加工及评测实验室(225)操作刻板工具和设备进行电路板成品的加工和制作,成品需通过老师验收。
浅析单片机开发板的设计与制作

2019.01设计与研发浅析单片机开发板的设计与制作程鹏飞(武汉工程职业技术学院,湖北武汉,430000)摘要:单片机开发板是学习单片机的主要设备之一,而且单片机开发板的制作主要是根据开发板的设计思路和任务要 求进行的,因此随着时间的增长针对单片机开发板的研宄也越来越多,但是主要的目的还是进一步来完善单片机的知识 体系,进一步的深化单片机开发板的开发。
本文分析了单片机开发板的设计思路以及目前单片机开发板的设计任务和 功能,最后深入的探宄了单片机开发板的设计和制作过程,希望能够帮助单片机爱好者深入的了解单片机开发板的制 作,对单片机的理论知识有更深层次的理解[1]。
关键词:开发板;设计;制作Design and Making of Single Chip Microcomputer Development BoardCheng Pengfei(Wuhan Engineering V ocational and Technical C ollege,Wuhan Hubei,430000) Abstract: MCU development board is one of the main equipment learning single chip microcomputer,and MCU development board production is mainly according to the requirements of the development board design ideas and tasks,so as the growth of the time study of microcontroller development board more and more,but the main purpose is to further perfect the knowledge system of single chip microcomputer,further deepening the development of microcontroller development board.This paper analyzes the design idea of microcontroller development board and the design task and function of microcontroller development board,and finally explores the design of the microcontroller development board and the production process,hope to be able to help single-chip computer enthusiasts learn microcontroller development board production,theoretical knowledge of single chip microcomputer has a deeper understanding.Keywords: development board ; Design ideas ; Production〇引言单片机是一种小型的微处理器,其在1971年开始产生,主要采用大规模的集成电路集成到一块小的硅片上面,从而 构成了小的而且比较完善的计算机系统。
TX-1C 单片机开发板实验

关于按键去抖动的解释,我们在手动按键的时候,由于机械抖动或是其它一些非人为 的因素很有可能会造成误识别,一般手动按下一次键然后接着释放,按键两片金属膜接触的 时间大约为 50ms 左右,在按下瞬间到稳定的时间为 5-10ms,在松开的瞬间到稳定的时间也 为 5-10ms,如果我们在首次检测到键被按下后延时 10ms 左右再去检测,这时如果是干扰 信号将不会被检测到,如果确实是有键被按下,则可确认,以上为按键识别去抖动的原理。
【硬件电路】
25
【程序代码】
#include<reg51.h>
#define uchar unsigned char
uchar j,k,i,a,A1,A2,second; sbit dula=P2^6;
//锁存器控制端定义
sbit wela=P2^7;
uchar code table[]= {
//数字编码
参考程序:
程序一:
ORG 0000H AJMP START
ORG 000BH AJMP TIME0
;定时器 0 的中断向量地址 ;跳转到真正的定时器程序处
ORG 0030H
START:
MOV P1,#0FFH ;关所有灯
MOV TMOD,#00000001B ;定时/计数器 0 工作于方式 1
MOV TH0,#15H
【实验说明】
本开发板上数码管为共阴极。静态数码管显示原理(视频中有详细介绍):这里就共阴极数 码管显示原理进行讲解,一位数码管内一共有 8 个发光二极管,对共阴极来说其 8 个发光二极 管的阴极在数码管内部全部接在一起,也就是“共阴”说法的来源,阳极是独立的,设计电路时 一般把阴极接地,当我们从外部给任一个阳极加一个高电平时这个发光二极管就亮了,如果想要 出一个 8 字,并且把右下角的小数点也点亮的话,那可以给 8 个阳极全送高电平,想让数码管 显示几就给相对应的发光二极管送高电平,因此我们在显示数字的时候首先做的就是给 0-9 十个 数字编好码,在要它亮什么数字的时候直接把这个编码送到它的阳极就行了。另外说一下,一般 的数码管每一段亮至少需要 10 个毫安的电流,而单片机的 IO 口送不出如此大的电流,所以我 们需要加数码管的驱动电路,可以用上拉电阻的方法,也可以使用专门的驱动芯片,本开发板使 用的 74HC573,其输出电流较大,足够点亮数码管。本开发板上的六位数码管中每个相同段号 (段指 a,b,c,d,e,f,g,h)全部是接在一起的,其中每一个位(阴极)是独立的,所以在做静态显 示的时候所有的数码管只能显示相同的数字,当然可以控制哪几位显示,如果让它们显示不同的 数字那就得给每一个数码管加一套驱动电路了。但这样做是没有必要的,后面我们会讲到关于数 码管动态显示原理。
单片机开发板制作

单片机开发板的设计与制作摘要:在学习单片机的过程中,通过做了一系列的实验,从而比较容易地领会了单片机哪些枯燥、难懂的专业术语,而且此次设计的单片机开发板弥补了市场上常见的单片机实验板的一些不足,有针对性地面向最终的实用控制功能,使整个开发板分解成若干个小模块,并且每个模块引出了一些引脚,这样使用者就可以根据自己的需要连接自己的电路,增加了开发板的灵活性。
本单片机开发板包括:单片机最小系统、A/D电路功能模块、D/A电路功能模块、串口、2位数码管、驱动步进电机电路、4×4键盘、液显(1602)显示功能、温度测量功能、喇叭等功能模块。
通过以上的功能模块可以完成基本的单片机学习实验。
关键词:单片机开发板,模块,功能,实验MCU development board design and productionAbstract:In the study process of MCU, By doing a series of experiments,So it can easier to understand which of the microcontroller’s boring and hard to understand terminology。
And the design of microcontroller development board made up a common market’s microcontroller development board’s a number of inadequacies, targeted for the end of the practical control, So that the whole development board broken down into several small modules, And each module raises a number of pins, So that users can connect to their own needs according to the circuit.So you can use the MCU development board become more flexible.The MCU development board include: Minimum System of MCU,A / D circuit functional modules, D / A circuit functional modules, serial, 2-bit digital led control, drive a stepper motor circuit, 4 × 4 keyboard, LCD(1602) display, temperature measurement function modules, Speakers function modules and so on. Through the above function modules to complete the basic of MCU’s experiment.Keyword:Mcu development board, Module,Function, Experimental第一章单片机开发板的介绍及发展趋势1.1 单片机开发板的介绍单片机开发板是一块电路板和诸多元器件组合在一起供平时的学习、实验、开发等使用;是正式批量生产产品前,对产品进行设计和开发时使用的板子。
单片机开发板介绍

51系列单片机开发板介绍本实验板采用了专利(ZL02255024.0),除了做单片机实验以外,还可以做其它工作,如程序代码烧录、真实观察运行结果,真正实现了实验、编程、开发一体化!本实验板已经自带有编程烧录的功能,可以对STC公司的全系列51单片机进行编程,可以帮大家省下购买编程器的钱,本STC单片机板编程烧录程序非常可靠,速度也很快,让您批量生产也不用发愁!使用特别方便,您在开发产品时,可以立即改变代码,立即烧录,立即观看真实结果,无需再进行所谓的仿真。
最值得一提的是:STC推出的系列51单片机芯片是全面兼容其它51单片机的,而51单片机是主流大军,每一个高等院校、普通学校、网站、业余单片机培训都是以51单片机为入门教材的,所以,教材最多,例子最多。
本板采用了特别的设计,40PIN的万能插座,20PIN的万能插座(8位单片机也有很多精简版本,例如89C2051只有20个引脚),省时省力,充分保护您的单片机芯片,延长寿命。
40个I/O口都完全开放独立的,使用时用连接跳线连接到板载硬件资源上,任意一个I/O口都可以连接到相同的硬件资源上,这样在开发单片机产品时可以任意定义各引脚功能,市面上的同类产品将外围硬件直接与单片机引脚相连而无法自己定义功能(因此外形小巧、价格便宜),实验成功后进行产品化时,由于不可能将原实验板的连接线路搬到自己的产品中,因此必须更改源程序,与此相比,本实验板具有的功能将有革命性的意义。
本开发实验板的功能和扩展性能已经达到极限,这是与本站的专利技术相结合的最大特点,可以无限组合,实现功能无限!1.主要硬件资源:1.八路LED流水灯演示,可以实时反应单片机的I/O口状态,适合初学入门;2.蜂鸣器声音输出,可以让单片机发声、唱歌,让单片机变成电子琴;3.4X4矩阵键盘,可以完全独立的分开,灵活设计,满足各种需要;4.八位超高亮LED数码管,可做记数器、频率计、电子钟、计算器等实验;5.串行存储器AT24CXX全系列读写,芯片地址可任意设定;6.RS232串口通信接口,与具有232接口的所有电子产品进行通讯;7.RS485通讯接口,与具有485接口的所有电子产品进行通讯;8.实时时钟功能,采用DS1302,大电容储电,也可用3.6VNi-Cd电池;9.单线温度传感芯片DS1820,可显示现场温度变化;10.板载电源、复位开关,可以节约插拨电源时间、加倍延长寿命;11.8位串行A/D转换芯片TLC549,节省I/O开销;12.40PIN的万能锁紧插座,省时省力,充分保护您的单片机芯片,延长寿命;13.20PIN的万能锁紧插座,省时省力,充分保护您的单片机芯片,延长寿命;14.40个I/O口都完全开放独立的,50多根镀金插针让您无限组合,无限扩充;15.配置STC89C51,STC12C2052芯片各一块;16.1602 液晶显示模块,能显示2行x16字符;17.一组8位拨码开关。
51单片机学习第10章 开发板的设计PPT课件

实验板制作过程 九.拨动开关模块制作
18
实验板制作过程 十.按键模块制作
19
实验板制作过程 十一.按键及74系列电路插座模块
20
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End
10
实验板制作过程 三.多孔板规划
11
实验板制作过程 四.稳压电源制作
12
实验板制作过程 五.最小系统的制作
13
实验板制作过程 六.led数码管显示模块制作
14
实验板制作过程 六.led数码管显示模块制作
15
实验板制作过程 七.led发光二极管显示模块制作
16
实验板制作过程 八.扬声器模块制作
21
谢谢大家
荣幸这一路,与你同行
It'S An Honor To Walk With You All The Way
演讲人:XXXXXX
时 间:XX年XX月XX日
22
情境十 基于at89s51的开发板设计 子情境二 单片机的目的
1.满足学习实验的需要 2.熟悉单片机外围常用元器件 3.增强动手能力
2
制作前的准备工作 二、制作的准备工作
1.多孔板实验板和面包板
3
制作前的准备工作 二、制作的准备工作
2.插件及开关选定
4
制作前的准备工作 二、制作的准备工作
8
实验板制作过程
一.实验板功能简介 6.Lcd部分 7.Led数码管显示部分 8.74系列数字电路插座 9.拨动开关部分 10.Led发光二极管部分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机开发板的制作方法单片机技术自发展以来已走过了近20年的发展路程。
单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
小到遥控电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。
针对单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生单片机实验板普遍称为单片机开发板、也有单片机学习板的称呼。
比较有名的例如电子人DZR-01A单片机开发板。
单片机开发板是用于学习51、STC、AVR型号的单片机实验设备。
根据单片机使用的型号又有51单片机开发板、STC单片机开发板、AVR单片机开发板。
常见配套有硬件、实验程序源码、电路原理图、电路PCB图等学习资料。
例如电子人单片机开发板,针对部分学者需要特别配套有VB上位机软件开发,游戏开发等教程学习资料。
开发此类单片机开发板的公司一般提供完善的售后服务与技术支持。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。
其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux 操作系统。
常见配套资源如下:1、硬件实验板及其配件如:连接线、CPU芯片、流水灯、点阵显示、ds18b20温度检测、彩色TFT液晶屏,SD卡,游戏开发(推箱子游戏)、收音机、mp3解码等。
2、实验程序源码,包含汇编源程序、C语言源程序。
3、电路原理图、PCB电路图。
4、实验手册、使用手册。
5、针对单片机开发板的详细讲解视频。
6、附加PCB设计制作、VB软件开发等计算机学习资料1、8个LED灯,可以练习基本单片机IO操作,在其他程序中可以做指示灯使用。
2、2个四联8段数码管,显示温度数据,HELLO欢迎词、时钟等。
3、高亮8*8点阵,如练习数字,字母,图片显示,或者小游戏的开发如贪吃蛇等。
4、4个独立按键,可以配置为中断键盘,为程序的按键扫描节省更多的时间。
5、8个AD按键,主要设计为游戏开发如推箱子等,去掉了矩阵键盘,AD键盘在实际中的应用相当广泛,如电视机加减搜台等都是采用AD键盘,一根AD线可以扩展几百个按键,更接近工程。
6、PCF8591具有AD/DA功能,其采用IIC总线协议,可练习IIC总线的操作。
7、DS18B20温度检测:单线多点检测支持。
8、光敏电阻测试光线强度,感受白天黑夜的区别。
9、FM收音机:能接收80M到110MHz之间的FM频段。
可实现自动搜台和手动搜台。
10、DS1302时钟芯片提供实时时钟,带3V电池,在掉电的情况下,时钟仍然可以继续运行。
11、可读写SD卡文件系统,保存数据显示到TFT液晶屏等。
12、继电器可以控制高电压的设备,高压危险,请小心使用。
13、直流电机接口,控制直流电机。
14、步进电机接口,控制步进电机运行。
15、蜂鸣器,可以做电子琴、音乐发声等。
16、74HC595芯片练习串行转并行数据扩展。
17、74HC573锁存扩展芯片,可以扩展接口。
18、ULN2003电机驱动芯片。
(这里用它来驱动步进电机,直流电机,继电器和蜂鸣器)19、MAX232串口数据传输延长发送距离。
(可与计算机通信,同时也可做为STC单片机下载程序的接口) 20、PL2303下载单片机,一线下载,直接的USB下载方式,高速下载。
21、TFT液晶屏,单片机也可以控制彩屏了,让你的学习充满乐趣22、nRF24L01无线数据传输芯片接口,可以插nRF24L01芯片,做高速无线数据传输。
23、LCD1602液晶接口,字符液晶两行,每行可以显示16个字符。
24、LCD12864带字库液晶接口。
25、LCD12864图形液晶接口。
26、DS18B20单线多点温度采集接口。
一根线上便可拓展多个DS18B20温度传感器,先提供两个。
27、提供ISP下载接口,可下载AVR、AT的单片机。
支持AVR单片机。
28、40针扩展接口,可以无限扩展。
以后的DZR-01A开发板配件将从此端口扩展出去。
29、PS2鼠标键盘接口。
配合红外遥控器甚至可以遥控我们的电脑!(配例程)30、AVR/51复位按键。
可以复位51 STC AVR单片机,全部支持31、TEA5767的IIC总线控制。
学习IIC控制32、SD卡的SPI总线控制。
扩展大容量存储器33、红外遥控接收器,可采集红外遥控发出的信号,可使用遥控信号控制其他设备。
34、外接5V供电电源座。
35、RXD、TXD、POWER电源指示灯36、40PIN紧锁座(非常方便单片机芯片的取放)37、带LM1117-3.3稳压芯片(为彩屏液晶,SD卡和无线模块供电)38、USB供电(USB可以提供500MA的电流,完全能满足开发板的需求了)39、预留电源+5V,GND接口各四个(方便用户扩展其他外围电路时取电和共地)学习51单片机必须做大量的实验,与其说51单片机是学出来的,倒不如说51单片机是“玩”出来的。
就好像个人电脑一样,让你在那看十天使用说明不如你亲自玩一天收获大。
为了方便大家做一些51单片机的入门实验,制作了这块51单片机实验板。
该51单片机实验板,支持AT89C51、.fulinmenst./AT89C52、AT89S51、AT89S52这四款51单片机进行实验。
它由DS1302、DS18B20、AT24CXX(可以更换AT24C02、AT24C04、AT24C16等存储容量大小不同的EEPROM)、蜂鸣器、继电器、六个数码管、四个发光二极管、一个四乘四的矩阵键盘、四个独立按键、一个1602液晶接口等组成。
如下图所示:电路图左上角的接口如下:该实验板利用7805构成了自己的稳压电路,为该实验板提供+5V的稳压电源。
其电路图如下:说明:J4为心为负电压的DC插座;J5为接正电压的针脚;J6为接负电压的针脚;J9为接+5V的针脚。
实验板上硬件连接利用短路帽,使P2口的P20至P25分别与数码管的位选1至6依次连接,用于控制选通哪一个数码管亮;使P0口的P00至P07分别与数码管的段码SM1至SM8依次连接,用于输出相应的段码。
数字0123456789段码c0f9a4b0999282f88090-5-四、源程序#include<at89x51.h>#include<intrins.h>#define unchar unsigned char#define unint unsigned int/*****************************定义端口*****************************/#define smg P2//利用P2_0到P2_5由右向左依次选择要显示的数码管#define dm P0//利用P0口输出段码/*****************************************************************函数功能:延迟子函数(晶振12MHz),延时时间为n乘以10us,n最大为255入口参数:n出口参数:*****************************************************************/void delay_ smg(unchar n){do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_no p_();_nop_();n--;}while(n);}/*****************************************************************函数功能:显示六位数以内的正整数,最高位不显示零入口参数:dat出口参数:*****************************************************************/void xiansh i_smg(unsigned long dat){bit flag=0;//标志位unchar i=0;//确定所给正整数为几位数unchar shu[6];//由0至5依次存放所给正整数的由高到低各位上的数unchar code code0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//将数码管的段码定义到程序存储区unchar j,k;unsigned long n;-6-for(j=0,n=100000;j<=5;j++,n=n/10){shu[j]=dat/n;if(shu[j]!=0||flag==1)//flag初值为0。
shu[j]不为0时,if语句{//成立,i增加1,flag置1。
无论shu[j]i++;//为何值,if语句皆成立。
故,可完成i flag=1;//记录所给正整数为几位数的功能。
但,所}//给正整数若为零,会出现i 为0这种情况,dat=dat%n;//故,需在最后判断i是否为0。
若i为0,}//需将i置1。
if(i==0)i=1;for(j=1,k=0xfe;j<=i;j++){smg=k;dm=code0[shu[6-j]];delay_smg(100);k=~k;k=k<<1;k=~k;dm=0xff;smg=0xff;}}/*****************************主函数*******************************/main(){ unchar j;while(1)//循环显示0、3、145、30705、860922这五个正整{//数,以检验所编写的显示函数。