当前位置: 首页 > news >正文

fineui 如何做网站私密浏览器免费版片视频动漫

fineui 如何做网站,私密浏览器免费版片视频动漫,婚庆策划公司简介,去wordpress化中南民族大学#xff0c;电子信息工程学院#xff0c;开设了一门课程#xff0c;叫《嵌入式电路设计》#xff0c;由舒老师带头#xff0c;旨在引导低年级的学生入门嵌入式#xff0c;其内容比较多#xff0c;包括模电、数电、C语言、单片机、EDA技术等。最近有位师弟找…  中南民族大学电子信息工程学院开设了一门课程叫《嵌入式电路设计》由舒老师带头旨在引导低年级的学生入门嵌入式其内容比较多包括模电、数电、C语言、单片机、EDA技术等。最近有位师弟找到我希望我能帮他指导一下利用AT89C52单片机设计一个最小系统其中包括矩阵键盘、数码管显示、中断、2位数加减法、定时计数与暂停等功能。我也粗略的设计了一个在此分享出来希望能对初学者有所帮助使更多的人加入到嵌入式的行业来。   开发工具keil   仿真工具proteus 电路图 代码如下 头文件inc_all.h 1 #ifndef INC_ALL_H_2 #define INC_ALL_H_3 4 volatile unsigned char keyValue;5 volatile unsigned char sign;6 volatile long int opr1;7 volatile long int opr2;8 volatile long int SysValue0;9 volatile int keyCounter; 10 volatile int cnt50ms0; 11 volatile bit StartFlag; 12 13 void Init_Timer0(); 14 void Init_Timer1(); 15 void delayms(int t); 16 unsigned char KeyScan(void); 17 void showNumber(long int num); 18 void keyAnalyzing(unsigned char keyval); 19 20 #endif 源文件如下main.c 1 #include reg52.h2 #include inc_all.h3 //4 // 数码管显示译码,共阴极5 // 0,1,2,3,4,5,6,7,8,9,灭,‘E’,-6 //7 unsigned char code table[]{0x3F,0x06,0x5b,0x4F,0x66,8 0x6d,0x7d,0x07,0x7F,0x6F,9 0x00/* trun off */,10 0x79/* Error */,11 0x40/* - */};12 //13 // 定时器0初始化函数定时50毫秒14 // 用键盘上的“START”键启动计数15 // 用键盘上的“SUS”键暂停计数16 //17 void Init_Timer0() 18 {19 TMOD | 0x01;20 TH0 0x3C;21 TL0 0xB0;22 TR0 0;23 ET0 1;24 }25 //26 // 定时器1初始化函数27 // 定时23毫秒,用于显示28 // 初始化后计时启动29 //30 void Init_Timer1() 31 {32 TMOD | 0x10;33 TH1 0xA6;34 TL1 0x28;35 TR1 1;36 ET1 1;37 }38 //39 // 延时函数40 //41 void delayms(int t)42 {43 int i,j;44 for(it;i0;i--)45 for(j25;j0;j--)46 ;47 }48 //49 // 四位数码管显示函数50 // 能自动灭零自动识别正负号51 // 数值超出显示范围时显示错误E---52 // 53 void showNumber(long int num)54 {55 unsigned char q,s,b,g;56 if(num0)57 {58 q num/1000;59 b num/100%10;60 s num/10%10;61 g num%10;62 if(num10)63 {64 q 10;65 b 10;66 s 10;67 }68 else if(num100)69 {70 q 10;71 b 10;72 }73 else if(num1000)74 q 10;75 else if(num9999)76 {77 q 11; //show error78 b 12;79 s 12;80 g 12;81 }82 }83 else84 {85 if(num-1000)86 {87 q 12;88 b (0-num)/100;89 s (0-num)/10%10;90 g (0-num)%10;91 }92 else93 {94 q 11; //show error95 b 12;96 s 12;97 g 12;98 }99 } 100 P0 0x00; 101 P0 table[q]; 102 P2 0xFE; 103 delayms(10); 104 P0 0x00; 105 P0 table[b]; 106 P2 0xFD; 107 delayms(10); 108 P0 0x00; 109 P0 table[s]; 110 P2 0xFB; 111 delayms(10); 112 P0 0x00; 113 P0 table[g]; 114 P2 0xF7; 115 delayms(10); 116 } 117 // 118 // 键盘扫描函数 119 // 返回按键情况扫描结果 120 // 121 unsigned char KeyScan(void) 122 { 123 unsigned char temp0xF0; 124 P1 temp; 125 temp P1; 126 if(temp!0xF0) 127 { 128 delayms(5); //去抖动 129 temp P1; 130 if(temp!0xF0) 131 { 132 int t0x01,i; 133 for(i0;i4;i) 134 { 135 P1 ~(ti); 136 temp P1; 137 switch(temp) //按行扫描 138 { 139 case 0xee: return 1; 140 case 0xde: return 2; 141 case 0xbe: return 3; 142 case 0x7e: return ; //加号 143 144 case 0xed: return 4; 145 case 0xdd: return 5; 146 case 0xbd: return 6; 147 case 0x7d: return -; //减号 148 149 case 0xeb: return 7; 150 case 0xdb: return 8; 151 case 0xbb: return 9; 152 case 0x7b: return r; //复位 153 154 case 0xe7: return 0; 155 case 0xd7: return s; //启动 156 case 0xb7: return t; //暂停 157 case 0x77: return ; //等于 158 default: ; 159 } 160 } 161 } 162 } 163 return 0; 164 } 165 // 166 // 键盘解析函数 167 // 对扫描得到的键值进行解析 168 // 169 void keyAnalyzing(unsigned char keyval) 170 { 171 if(keyval0 keyval9) 172 { 173 switch(keyCounter) 174 { 175 case 0: SysValue (int)keyval-0x30; 176 keyCounter; 177 break; 178 case 1: ; 179 case 2: ; 180 case 3: SysValue SysValue*10(int)keyval-0x30; 181 keyCounter; 182 break; 183 case 4: SysValue SysValue*10(int)keyval-0x30; 184 keyCounter0; 185 break; 186 } 187 } 188 else 189 { 190 switch(keyval) 191 { 192 case : sign ; 193 opr1 SysValue; 194 SysValue 0; 195 keyCounter 0; 196 break; 197 case -: opr1 SysValue; 198 SysValue 0; 199 keyCounter 0; 200 sign -; 201 break; 202 case s: sign s; 203 TR0 1; //启动计数 204 StartFlag 1; 205 break; 206 case t: sign t; 207 if(StartFlag) 208 TR0 ^ 1;//暂停/启动计数 209 break; 210 case r: sign r; 211 opr1 0; 212 opr2 0; 213 SysValue 0; 214 keyCounter 0; 215 TR0 0; //停止计数器 216 StartFlag 0; 217 break; 218 case : opr2 SysValue; 219 if(sign) 220 SysValue opr1opr2; 221 else if(sign-) 222 SysValue opr1 - opr2; 223 opr1 0; 224 opr2 0; 225 keyCounter 0; 226 sign ; 227 break; 228 } 229 } 230 } 231 // 232 // 主函数main 233 // 全局采用中断方式有利于降低功耗 234 // 235 void main() 236 { 237 EX0 1; //允许外部0中断 238 IT0 1; //外部0中断方式为 “下降沿” 239 Init_Timer0(); /*初始化定时器0在键盘上点击“START”后 240 开始计数定时时间为1秒*/ 241 Init_Timer1(); /*初始化定时器1用于定时显示定时时间 242 为23毫秒即每隔23毫秒调用一次显示函数*/ 243 EA 1; //总中断开 244 P1 0xF0; //初始键盘接口 245 while(1) ; 246 } 247 // 248 // 按键中断服务函数采用外部中断0 249 // 按键中断在中断里面检测按键并解析按键 250 // 251 void key_isr(void) interrupt 0 252 { 253 EA 0; 254 keyValue KeyScan(); 255 keyAnalyzing(keyValue); 256 P1 0xF0; 257 EA 1; 258 } 259 // 260 // 定时器0中断服务函数 261 // 用于定时1秒计数,计数到8888后返回重新新计数 262 // 263 void timer0_isr(void) interrupt 1 264 { 265 TR0 0; 266 TH0 0x3C; 267 TL0 0xB0; 268 TR0 1; 269 cnt50ms; 270 if(cnt50ms19) //计数20次 20*50 1000毫秒即1秒 271 { 272 cnt50ms 0; 273 SysValue(SysValue8887)?0:SysValue1; 274 } 275 } 276 // 277 // 定时器1中断服务函数 278 // 方式1定时时间为23毫秒 279 // 用于数码管显示 280 // 281 void timer1_isr(void) interrupt 3 282 { 283 TR1 0; 284 TH1 0xA6; 285 TL1 0x28; 286 showNumber(SysValue); 287 TR1 1; 288 }  转载于:https://www.cnblogs.com/phelonYang/archive/2012/12/18/2823550.html
http://www.zqtcl.cn/news/906198/

相关文章:

  • 湘潭网站建设 w磐石网络安徽省工程建设信息网官方网站
  • 移动端网站开发教程局网站建设工作征求意见
  • 浙江网站建设公司地址南京做电商网站的公司
  • 网上销售型的企业网站建行个人手机银行
  • 网站建设与规划方案书网站建设策划有哪些
  • 手机网站建设推广方案ppt模板单页企业官网模板
  • 荥阳网站建设多少钱长沙企业关键词优化哪家好
  • 网站购物流程模块怎么实现最新足球赛事
  • 网站建设后需要维护吗网站规划的案例
  • 北京造价员变更在哪个网站做免费域名申请入口
  • 百度免费收录提交入口seo wordpress theme
  • 公司付网站会员费科目怎么做wordpress 多站点 主题
  • 做深度的互联网站网站突然没收录了
  • 网站建设进度表下载周到的商城网站建设
  • 建设一个连接的网站服装企业网站源码
  • 什么网站源码做分类信息网站好域名备案企业网站内容
  • wordpress 文章显示数量淘宝seo优化怎么做
  • 响应式网站模块商务网站创建流程是什么
  • 关于服饰搭配做的比较好的网站网站后台管理默认密码
  • 用自己电脑配置服务器做网站响应式框架
  • 任经理++徐州网站建设湖南正规关键词优化
  • 哪些软件可以做网站设计农村网站建设茂名
  • 平顶山网站建设费用腾讯云轻量应用服务器
  • 外贸优秀网站廊坊seo建站
  • 站长工具seo综合查询5g网站建设整改落实情况
  • 网站建设方案 流程wordpress客户案例
  • 网站被收录的过程如何创造属于自己的软件
  • 做神马网站优化快速排国外乡村建设网站
  • 东莞网站优化服务公司天河做网站开发
  • ui在线设计网站滁州 来安县建设局网站