基于单片机的三位抽奖号系统的设计摘要:传统的纸签和采球既麻烦又单调,而基于单片机的三位抽奖号系统的设计与实现,使得抽奖机在我们的生活中被广泛地使用。它以AT89C52单片机为控制芯片,通过P0口控制数码管的段选,在上拉电阻的作用下,将0〜9之间的数字送入数码管,使数码管显示三位数的组合,同时,用P2口通过送入十六进制控制数码管的位选,在延时函数的配合下,实现抽奖想过,通过外部中断显示中奖号码,从而实现抽奖功能,关键词:单片机;三位抽奖号;C语言:TP368文献标识码:A:1009-3044(2016)15-0230-02Abstract:thetraditionalpapersignandtheballpickingistroublesomeandmonotonous,andbasedonthedesignandimplementationofthethreebitlotterysystem,thelotterymachineiswidelyusedinourlife.ItAT89C52asthecontrolchip,throughtheP0portcontrolsegmentdigitaltube,thepull-upresistor,thenumbersbetween0to9intodigitaltube,thedigitaltubedisplayacombinationofthreedigits,atthesametime,byP2throughintohexadecimaldigitalcontrolofselected,incooperationwiththetimedelayfunction,drawthought,throughtheexternalinterruptaccordingtothewinningnumber,soastorealizethedrawfunction.Keywords:singlechipmicrocomputer;threelotterynumbers;Clanguage如今,公司年会,迎新晚会,超市抽奖,产品促销等等,各种各样的聚会和活动少不了安排抽奖助兴。传统的纸签和采球既麻烦又单调,由此抽奖机越来越受人们的喜爱,而且,在我们的生活中被广泛地使用,本文通过C语言编程实现了一种基于AT89C52单片机的三个数码管的显示。1系统硬件总体结构本次设计的三位抽奖号的显示器选用AT89C52单片机为主芯片[1],对数码管的动态显示、中断的产生都由AT89C52芯片实现,它是三位抽奖号的显示器的核心,控制各部分硬件稳定、协调地工作。其总体实现框图如图1所示。2模块电路分析三位抽奖号的显示器能正常工作[2],是在各个电路模块组合下协调完成的,其中包括了单片机工作电路、数码管显示电路,按键电路等,下面做详细介绍。2.1单片机最小系统所谓单片机最小系统,就是在尽可能少的外部电路条件下,形成一个可以独立工作的单片机系统,在此基础加上应用系统所需,才能构成一个整体的电路系统[3],单片机最小系统如图2所示。2.2数码管显示电路三位抽奖号的显示器是由AT89C52提供控制信号,通过数码管的段选和位选来控制数码管的动态显示芯,其中P0口提供段选,给数码管送入要显示的数字,P2口控制位选,通过给P2口送入数字来控制数码管的亮灭,仿真电路图如图3所示。其中数码管的a,b,c,d,e,f,g,df,分别接到AT89C52单片机PO口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7o单片机运行程序代码,将信号输入到P0口,驱动芯片内含的H桥路将控制信号处理过后,由P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7输出,控制数码管的工作状态。其中排阻在本次设计中起上拉电阻的作用,数码管内部发光二极管点亮时,需要5mA以上的电流[4],而且电流不可过大,否则会烧毁发光二极管,由于单片机的pO口送不出如此大的电流,所以数码管与单片机连接时需要加驱动电路,所以上拉电阻起到了驱动电路的作用。2.3按键电路本设计使用的是外部中断0,由AT89C52单片机的P27口控制,当中断发生时,数码管静止,执行中断,当中断结束时跳出中断程序,继续执行被中断打断的程序。仿真成功的电路图如图4所示。在引脚P3.2接通一个开关开关接地,当开关被按下后,P3.2口送入低电平[5],即发生中断,AT89C52单片机响应中断,程序代码开始执行中断,,这样设计实现中断控制按键这一效果。3软件设计3.1主函数设计主函数模块为设计中最主要的部分[6],主函数模块会用到之前各个模块的函数。在本次设计中,需要先初始化外部中断0,开总中断,执行主程序,控制数码管的动态显示[7],当有中断发生时,程序转去执行中断函数,当中断结束后,跳出中断函数,继续执行主程序。程序图如图5所示。3.2数码管显示程序设计抽奖时大家关注的是中奖号,因此数码管的显示是非常重要的,P0口读入数据控制数码管的静态显示,当有中...