实验说明:在源程序中计算初值为0xf7,运用定时计数的方式2对程序进行计数,当程序开始运行,每按下一次按键(即每装一瓶啤酒)LED显示的计数就会+1直到8为止,当装满8瓶时再加1时LED的计数溢出就会跳转到0,这时相当于装满了9瓶,程序停止。直到下一箱啤酒开始装箱,依次反复进行。
单片机源程序如下:
#includechar led[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f}; //led显示字模
sbit P37=P3^7;
sbit P34=P3^4;
void delay(unsigned int time) //约4ms的延时函数
{
unsigned int j;
for (;time>0;time--);
for (j=0;j<500;j++);
}
void t0() interrupt 1
{
TR0=0; //停止计数
P37=0; //启动电机运转
delay(1000); //延时,等待下一空箱运转到位待装啤酒
P37=1; //停止电机运转
TR0=1; //启动计数
}
/**********主函数**************/
void main()
{
char i;
TMOD=0x06; //T0计数方式
TL0=0xf7; //计数初值247
TH0=0xf7;
TR0=1; //启动T0计数
ET0=1; //开中断
EA=1;
P37=1; //停止电机运转
while(1)
{
i=256-TL0; //获取计数差值
P0=led[9-i]; //显示已装了多少啤酒
delay(1000);
if(i==1) //是否已经装了(9-1)=8瓶
{
while(P34==1); //等待装最后一瓶
P0=0x71; //显示已经装满符号
delay(100);
}
}
}
关键字:单片机 啤酒瓶计数实验 LED显示
引用地址:
单片机啤酒瓶计数实验源程序
推荐阅读最新更新时间:2024-11-10 04:36
PIC单片机CCS之C语言(#INT_XXXX的应用)
#INT_XXXX 语法: #INT_AD //AD转换完成 #INT_ADOF //AD转换时间溢出 #INT_BUSCOL //总线冲突 #INT_BUTTON //按钮 #INT_CCP1 //捕获或比较器1 #INT_CCP2 //捕获或比较器1 #INT_COMP //比较器探测 #INT_EEPROM //EEPROM写完成 #INT_EXT //外部中断 #INT_EXT1 //外部中断1 #INT_EXT2 //外部中断2 #INT_I2C //I2C中断(只用于1
[单片机]
STM32 单片机之 串口重映射
大家好,从今天开始.本人将自己在工作中遇到的问题 和学习体会跟大家一起分享并探讨.下面跟大家说一下STM32单片机的端口重映射,因为是以自己为实例.这里是以USART1的重映射为例.. 因为我要一个TFT_LCD屏的主控板,考虑到FSMC 我选用了STM32F103VCT6 型号的CPU,一不小心串口接到USART1上了.因为在调程序时才发现错了,没得办法,只能通过端口重映射来解决.但是以前没用过端口重映射,只闻其名,未用其身,所以..呵呵 ...只能从头去看了. STM32上有很多I/O口,也有很多的内置外设想I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O
[单片机]
一文看懂STM32单片机和51单片机区别
单片机简介 51单片机简介 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。 51单片机之所以成为经典,成为易上手的单片机主要有以下特点: 51单片机特性 1、从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。 2、同时在片内RAM区间还
[单片机]
PIC系列单片机的档次
PIC单片机的型号繁多,分为低档型、中档型和高档型。 (1)低档8位单片机 PIC12C5xx/16C5x系列。PIC16C5x系列是最早在市场上得到发展的系列,因其价格较低,且有较完善的开发手段,因此在国内应用最为广泛;而PIC12C5xx是世界上第一个8脚低价位单片机,可用于简单的智能控制等一些要求单片机体积小的场合,前景十分广阔。 (2)中档8位单片机 PIC12C6xx/PIC16Cxxx系列。PIC中档产品是MicroChip公司近年来重点发展的系列产品,品种最为丰富,其性能比低档产品有所提高,增加了中断功能,指令周期可达到200 ns,带A/D,内部为E2 PROM数据存储器,双时钟工作,比较
[单片机]
PIC单片机LCD1602显示单个A字程序
P IC 单片机 LCD 1602显示单个A字程序 STATUS EQU 3H ;定义状态寄存器地址 PORTA EQU 5H ;定义RA口数据寄存器地址 PORTC EQU 7H ;定义RC口数据寄存器地 PORTD EQU 8H ;定义RD口数据寄存器地址 TR ISA EQU 85H ;定义RA口方向控制寄存器地址 TRISC EQU 87H ;定义RC口方向控制寄存器地址 TRISD EQU 88H ;定义RD口方向控制寄存器地址 ADCON1 EQU 9FH ;定义ADC模块控制寄存器1的地址 ;******************** Z EQU 2 ;定义0
[单片机]
基于MSP430F5529单片机的DAC8552
DAC8552是TI公司推出的16 位双路电压输出数模转换器,本次来介绍一下这个芯片在MSP430单片机上如何使用。 1.芯片的电路图介绍 一共才八个引脚,比较简单,具体介绍我就不说了,如果小伙伴们有疑问或者更具体的资料可以去官网直接去查datasheet,一共就二十来页,一会儿就看完了。 2.程序介绍 先来说一下dac8552库函数怎么写 void DAC8552_Init() { P1DIR|=BIT3+BIT4+BIT5; //配置MSP430的引脚 SYNC_H; SCLK_H; } void DAC8552_Write(unsigned int cmd,unsigned int data
[单片机]
HT1621LCD驱动 PIC单片机
STATUS EQU 3H FSR EQU 4H RB EQU 6H RC EQU 7H OPTIONA EQU 81H TRISB EQU 86H TRISC EQU 87H GENR0 EQU 053H GENR1 EQU 054H WD_RG EQU 055H DA_AG0 EQU 056H ;SEG0 SEG1 DA_AG8 EQU 05EH ;SEG16 SEG17 ;............................. C EQU 0 Z EQU 2 RP0 EQU 5 RP1 EQU 6 CS
[单片机]
本土公司杀入MCU:兆易创新发多款ARM Cortex-M3 MCU
GigaDevice (兆易创新)在中国发布14款基于ARM Cortex-M3内核的GD32F103系列32位通用MCU产品。目前,该系列产品已经开始提供样片。GD32系列MCU力争为用户带来优异的系统性能与灵活的应用体验,并在性价比上做得更为出众。为了给用户在研发时有更大的自由选择范围,全新的GD32F103产品线提供从16KB到128KB的Flash容量,并有QFN36、TQFP48、LQFP64和LQFP100多种封装选择。系列产品在软件和引脚封装方面全兼容。
GD32F103系列产品主频为108MHz,提供了出色的处理性能。目前片内闪存(Flash)最大为128KB,RAM最大为20KB,供电电压范围为2.6V-3.
[单片机]